11 BEGIN { @Foo::EXPORT=qw(xxx) }
15 use base 'Foo', 'Thing';
18 BEGIN { @Boo::EXPORT=qw(xxx) }
26 BEGIN { @Something::EXPORT = qw(qwerty) }
29 package SomethingGood;
33 use Test::More tests => 24;
35 ok(Thing->isa('Spiffy'));
36 ok(defined &XXX::thing);
37 ok(defined &XXX::field);
38 ok(defined &XXX::const);
40 ok(defined &Foo::field);
41 ok(defined &Foo::const);
42 ok(defined &Foo::xxx);
44 ok(Bar->isa('Spiffy'));
46 ok(Bar->isa('Thing'));
47 ok(defined &Bar::field);
48 ok(defined &Bar::const);
49 ok(defined &Bar::xxx);
50 ok(defined &Bar::thing);
52 ok(not Boo->isa('Spiffy'));
53 ok(defined &Boo::xxx);
55 ok(not Goo->isa('Spiffy'));
57 ok(not defined &Goo::xxx);
59 ok(SomethingGood->isa('Something'));
60 ok(SomethingGood->isa('Spiffy'));
61 ok(not SomethingGood->isa('Thing'));
62 ok(not defined &SomethingGood::thing);