The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use Test::More tests => 5;

BEGIN { use_ok('Language::AttributeGrammar') }

my $grammar = new Language::AttributeGrammar { prefix => 'Root::' }, <<'EOG';

Foo:         $/.foo = { 1 }
Bar::Baz:    $/.foo = { 2 }
::Quux:      $/.foo = { 3 }
::Quux::Baz: $/.foo = { 4 }

EOG

is($grammar->apply((bless { } => 'Root::Foo'), 'foo'), 1, "normal prefix");
is($grammar->apply((bless { } => 'Root::Bar::Baz'), 'foo'), 2, "two-level prefix");
is($grammar->apply((bless { } => 'Quux'), 'foo'), 3, "prefix override");
is($grammar->apply((bless { } => 'Quux::Baz'), 'foo'), 4, "two-level prefix override");

# vim: ft=perl :