Commit | Line | Data |
e4c24739 |
1 | #!/usr/bin/perl -w |
2 | #Simon Ilyushchenko, 12/05/05 |
3 | #Testing the case when we try to inject into @ISA a class that's already a parent of the target class. |
4 | |
5 | use strict; |
6 | use Test::More tests => 2; |
7 | |
8 | { |
9 | package AAA; |
10 | |
11 | use base "DBIx::Class::Core"; |
12 | |
13 | package BBB; |
14 | |
15 | use base 'AAA'; |
16 | |
17 | #Injecting a direct parent. |
18 | __PACKAGE__->inject_base( __PACKAGE__, 'AAA' ); |
19 | |
20 | |
21 | package CCC; |
22 | |
23 | use base 'AAA'; |
24 | |
25 | #Injecting an indirect parent. |
26 | __PACKAGE__->inject_base( __PACKAGE__, 'DBIx::Class::Core' ); |
27 | } |
28 | |
29 | eval { Class::C3::calculateMRO('BBB'); }; |
30 | ok (! $@, "Correctly skipped injecting a direct parent of class BBB"); |
31 | |
32 | eval { Class::C3::calculateMRO('CCC'); }; |
33 | ok (! $@, "Correctly skipped injecting an indirect parent of class BBB"); |