Skip to content

Commit

Permalink
Add regression test for #218
Browse files Browse the repository at this point in the history
  • Loading branch information
d-frey committed Sep 28, 2020
1 parent 4502fac commit be89131
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/test/pegtl/contrib_parse_tree.cpp
Expand Up @@ -13,6 +13,7 @@ namespace TAO_PEGTL_NAMESPACE
struct C : one< 'c' > {};

struct D : sor< seq< A, B >, seq< A, C > > {};
struct E : star< A, B > {};

struct D2 : sor< try_catch< if_must< A, B > >, seq< A, C > > {};
// clang-format on
Expand Down Expand Up @@ -50,6 +51,18 @@ namespace TAO_PEGTL_NAMESPACE
TAO_PEGTL_TEST_ASSERT( !r2 );
}

{
memory_input in( "aba", "input" );
const auto r = parse_tree::parse< E, selector >( in );
TAO_PEGTL_TEST_ASSERT( r );
TAO_PEGTL_TEST_ASSERT( r->is_root() );
TAO_PEGTL_TEST_ASSERT( !r->has_content() );

TAO_PEGTL_TEST_ASSERT( r->children.size() == 2 );
TAO_PEGTL_TEST_ASSERT( r->children.front()->is_type< A >() );
TAO_PEGTL_TEST_ASSERT( r->children.back()->is_type< B >() );
}

{
memory_input in( "ac", "input" );
const auto r = parse_tree::parse< D2, selector >( in );
Expand Down

0 comments on commit be89131

Please sign in to comment.