diff --git a/testsuite/sexp-test.c b/testsuite/sexp-test.c index ab08be5be9ed64c8742844734b51598d7d800d12..cd18ed48942d16bfd0ed4de80728e1fd7ed2557b 100644 --- a/testsuite/sexp-test.c +++ b/testsuite/sexp-test.c @@ -20,7 +20,7 @@ test_main(void) ASSERT(i.type == SEXP_LIST && !sexp_iterator_enter_list(&i)); - ASSERT(sexp_iterator_first(&i, LDATA("3:foo0:[3:bar]1:x"))); + ASSERT(sexp_iterator_first(&i, LDATA("3:foo0:[3:bar]12:xxxxxxxxxxxx"))); ASSERT(i.type == SEXP_ATOM && !i.display_length && !i.display && i.atom_length == 3 && MEMEQ(3, "foo", i.atom) @@ -31,8 +31,28 @@ test_main(void) && sexp_iterator_next(&i) && i.type == SEXP_ATOM && i.display_length == 3 && MEMEQ(3, "bar", i.display) - && i.atom_length == 1 && MEMEQ(1, "x", i.atom)); + && i.atom_length == 12 && MEMEQ(12, "xxxxxxxxxxxx", i.atom) + && sexp_iterator_next(&i) && i.type == SEXP_END); + + /* Same data, transport encoded. */ + + ASSERT(sexp_transport_iterator_first + (&i, LDUP("{Mzpmb28=} {MDo=} {WzM6YmFyXTEyOnh4eHh4eHh4eHh4eA==}"))); + ASSERT(i.type == SEXP_ATOM + && !i.display_length && !i.display + && i.atom_length == 3 && MEMEQ(3, "foo", i.atom) + + && sexp_iterator_next(&i) && i.type == SEXP_ATOM + && !i.display_length && !i.display + && !i.atom_length && i.atom + + && sexp_iterator_next(&i) && i.type == SEXP_ATOM + && i.display_length == 3 && MEMEQ(3, "bar", i.display) + && i.atom_length == 12 && MEMEQ(12, "xxxxxxxxxxxx", i.atom) + + && sexp_iterator_next(&i) && i.type == SEXP_END); + { static const uint8_t *keys[2] = { "n", "e" }; struct sexp_iterator v[2];