From 0dbbfd1f8041f863f8f4c6ada33c4102520d406f Mon Sep 17 00:00:00 2001 From: Josh Haberman Date: Sat, 26 Jan 2019 19:14:16 -0800 Subject: Added missing functions. --- tests/test_cpp.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'tests') diff --git a/tests/test_cpp.cc b/tests/test_cpp.cc index 86d7bc5..f1badc4 100644 --- a/tests/test_cpp.cc +++ b/tests/test_cpp.cc @@ -893,6 +893,26 @@ void TestHandlerDataDestruction() { ASSERT(x == 0); } +void TestIteration() { + upb::SymbolTable symtab; + upb::MessageDefPtr md(upb_test_TestMessage_getmsgdef(symtab.ptr())); + + // Test range-based for on both fields and oneofs (with the iterator adaptor). + int field_count = 0; + for (auto field : md.fields()) { + UPB_UNUSED(field); + field_count++; + } + ASSERT(field_count == md.field_count()); + + int oneof_count = 0; + for (auto oneof : md.oneofs()) { + UPB_UNUSED(oneof); + oneof_count++; + } + ASSERT(oneof_count == md.oneof_count()); +} + extern "C" { int run_tests(int argc, char *argv[]) { -- cgit v1.2.3