From 79de3ca9e48877dfc506c9a486e1e5599c2312f9 Mon Sep 17 00:00:00 2001 From: Joshua Haberman Date: Sat, 17 Jul 2010 13:49:50 -0700 Subject: Add forgotten test_decoder.c. --- tests/test_decoder.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 tests/test_decoder.c (limited to 'tests') diff --git a/tests/test_decoder.c b/tests/test_decoder.c new file mode 100644 index 0000000..0e6f19c --- /dev/null +++ b/tests/test_decoder.c @@ -0,0 +1,32 @@ + +#include "upb_decoder.h" +#include "upb_textprinter.h" +#include "upb_stdio.h" + +int main() { + upb_symtab *symtab = upb_symtab_new(); + upb_symtab_add_descriptorproto(symtab); + upb_def *fds = upb_symtab_lookup( + symtab, UPB_STRLIT("google.protobuf.FileDescriptorSet")); + + upb_stdio *in = upb_stdio_new(); + upb_stdio_reset(in, stdin); + upb_stdio *out = upb_stdio_new(); + upb_stdio_reset(out, stdout); + upb_decoder *d = upb_decoder_new(upb_downcast_msgdef(fds)); + upb_decoder_reset(d, upb_stdio_bytesrc(in)); + upb_textprinter *p = upb_textprinter_new(); + upb_textprinter_reset(p, upb_stdio_bytesink(out), false); + + upb_status status = UPB_STATUS_INIT; + upb_streamdata(upb_decoder_src(d), upb_textprinter_sink(p), &status); + + assert(upb_ok(&status)); + + upb_stdio_free(in); + upb_stdio_free(out); + upb_decoder_free(d); + upb_textprinter_free(p); + upb_def_unref(fds); + upb_symtab_unref(symtab); +} -- cgit v1.2.3