diff options
author | Nicholas Clark <nick@ccl4.org> | 2009-09-26 15:41:57 +0100 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2009-09-26 17:51:16 +0100 |
commit | f436ffb1e59ac8d19c829d5f3ba1602185acbbf1 (patch) | |
tree | dc201b5738f8f684185dab2f307276309bef3d66 /cpan/NEXT/t/actual.t | |
parent | 23b39ebbb48b8ba9326a592cb6d6945d531bd366 (diff) | |
download | perl-f436ffb1e59ac8d19c829d5f3ba1602185acbbf1.tar.gz |
Move NEXT from ext/ to cpan/
Diffstat (limited to 'cpan/NEXT/t/actual.t')
-rw-r--r-- | cpan/NEXT/t/actual.t | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/cpan/NEXT/t/actual.t b/cpan/NEXT/t/actual.t new file mode 100644 index 0000000000..a3a724ae4a --- /dev/null +++ b/cpan/NEXT/t/actual.t @@ -0,0 +1,44 @@ +use Test::More tests => 10; + +BEGIN { + if ($ENV{PERL_CORE}) { + chdir('t') if -d 't'; + @INC = qw(../lib); + } +} + +BEGIN { use_ok('NEXT') }; +my $order = 0; + +package A; +@ISA = qw/B C D/; + +sub test { ++$order; ::ok($order==1,"test A"); $_[0]->NEXT::ACTUAL::test;} + +package B; +@ISA = qw/D C/; +sub test { ++$order; ::ok($order==2,"test B"); $_[0]->NEXT::ACTUAL::test;} + +package C; +@ISA = qw/D/; +sub test { + ++$order; ::ok($order==4||$order==6,"test C"); + $_[0]->NEXT::ACTUAL::test; +} + +package D; + +sub test { + ++$order; ::ok($order==3||$order==5||$order==7||$order==8,"test D"); + $_[0]->NEXT::ACTUAL::test; +} + +package main; + +my $foo = {}; + +bless($foo,"A"); + +eval{ $foo->test } + ? fail("Didn't die on missing ancestor") + : pass("Correctly dies after full traversal"); |