6 use open qw( :utf8 :std );
8 require q(./test.pl); plan(tests => 11);
12 This example is taken from: http://rt.cpan.org/Public/Bug/Display.html?id=20879
15 Level 5 8 | A | 9 | B | A | C | (More General)
27 Level 3 4 | G | 6 | E | |
32 Level 2 3 | H | 5 | F | |
40 Level 1 1 | J | 2 | I | |
45 Level 0 0 | K | (More Specialized)
55 package 텟Ṱ::ᐊ; use mro 'dfs';
57 package 텟Ṱ::ḅ; use mro 'dfs';
59 package 텟Ṱ::ȼ; use mro 'dfs';
61 package 텟Ṱ::Ḏ; use mro 'dfs';
62 use base qw/텟Ṱ::ᐊ 텟Ṱ::ḅ 텟Ṱ::ȼ/;
64 package 텟Ṱ::Ӭ; use mro 'dfs';
67 package 텟Ṱ::Ḟ; use mro 'dfs';
70 package 텟Ṱ::ḡ; use mro 'dfs';
73 package 텟Ṱ::Ḣ; use mro 'dfs';
76 package 텟Ṱ::ᶦ; use mro 'dfs';
77 use base qw/텟Ṱ::Ḣ 텟Ṱ::Ḟ/;
79 package 텟Ṱ::J; use mro 'dfs';
82 package 텟Ṱ::Ḵ; use mro 'dfs';
83 use base qw/텟Ṱ::J 텟Ṱ::ᶦ/;
87 mro::get_linear_isa('텟Ṱ::ᐊ'),
89 ), '... got the right DFS merge order for 텟Ṱ::ᐊ');
92 mro::get_linear_isa('텟Ṱ::ḅ'),
94 ), '... got the right DFS merge order for 텟Ṱ::ḅ');
97 mro::get_linear_isa('텟Ṱ::ȼ'),
99 ), '... got the right DFS merge order for 텟Ṱ::ȼ');
102 mro::get_linear_isa('텟Ṱ::Ḏ'),
103 [ qw(텟Ṱ::Ḏ 텟Ṱ::ᐊ 텟Ṱ::ḅ 텟Ṱ::ȼ) ]
104 ), '... got the right DFS merge order for 텟Ṱ::Ḏ');
107 mro::get_linear_isa('텟Ṱ::Ӭ'),
108 [ qw(텟Ṱ::Ӭ 텟Ṱ::Ḏ 텟Ṱ::ᐊ 텟Ṱ::ḅ 텟Ṱ::ȼ) ]
109 ), '... got the right DFS merge order for 텟Ṱ::Ӭ');
112 mro::get_linear_isa('텟Ṱ::Ḟ'),
113 [ qw(텟Ṱ::Ḟ 텟Ṱ::Ӭ 텟Ṱ::Ḏ 텟Ṱ::ᐊ 텟Ṱ::ḅ 텟Ṱ::ȼ) ]
114 ), '... got the right DFS merge order for 텟Ṱ::Ḟ');
117 mro::get_linear_isa('텟Ṱ::ḡ'),
118 [ qw(텟Ṱ::ḡ 텟Ṱ::Ḏ 텟Ṱ::ᐊ 텟Ṱ::ḅ 텟Ṱ::ȼ) ]
119 ), '... got the right DFS merge order for 텟Ṱ::ḡ');
122 mro::get_linear_isa('텟Ṱ::Ḣ'),
123 [ qw(텟Ṱ::Ḣ 텟Ṱ::ḡ 텟Ṱ::Ḏ 텟Ṱ::ᐊ 텟Ṱ::ḅ 텟Ṱ::ȼ) ]
124 ), '... got the right DFS merge order for 텟Ṱ::Ḣ');
127 mro::get_linear_isa('텟Ṱ::ᶦ'),
128 [ qw(텟Ṱ::ᶦ 텟Ṱ::Ḣ 텟Ṱ::ḡ 텟Ṱ::Ḏ 텟Ṱ::ᐊ 텟Ṱ::ḅ 텟Ṱ::ȼ 텟Ṱ::Ḟ 텟Ṱ::Ӭ) ]
129 ), '... got the right DFS merge order for 텟Ṱ::ᶦ');
132 mro::get_linear_isa('텟Ṱ::J'),
133 [ qw(텟Ṱ::J 텟Ṱ::Ḟ 텟Ṱ::Ӭ 텟Ṱ::Ḏ 텟Ṱ::ᐊ 텟Ṱ::ḅ 텟Ṱ::ȼ) ]
134 ), '... got the right DFS merge order for 텟Ṱ::J');
137 mro::get_linear_isa('텟Ṱ::Ḵ'),
138 [ qw(텟Ṱ::Ḵ 텟Ṱ::J 텟Ṱ::Ḟ 텟Ṱ::Ӭ 텟Ṱ::Ḏ 텟Ṱ::ᐊ 텟Ṱ::ḅ 텟Ṱ::ȼ 텟Ṱ::ᶦ 텟Ṱ::Ḣ 텟Ṱ::ḡ) ]
139 ), '... got the right DFS merge order for 텟Ṱ::Ḵ');