Commit | Line | Data |
---|---|---|
204e6232 BF |
1 | #!./perl |
2 | ||
3 | use strict; | |
4 | use warnings; | |
5 | use utf8; | |
6 | use open qw( :utf8 :std ); | |
7 | ||
8 | require q(./test.pl); plan(tests => 1); | |
9 | ||
10 | =pod | |
11 | ||
f298f061 SP |
12 | =encoding UTF-8 |
13 | ||
204e6232 BF |
14 | This example is taken from the inheritance graph of DBIx::Class::Coレ in DBIx::Class v0.07002: |
15 | (No ASCII art this time, this graph is insane) | |
16 | ||
17 | The xx:: prefixes are just to be sure these bogus declarations never stomp on real ones | |
18 | ||
19 | =cut | |
20 | ||
21 | { | |
22 | package Ẋẋ::ḐʙIX::Cl았::Coレ; use mro 'dfs'; | |
23 | our @ISA = qw/ | |
24 | Ẋẋ::ḐʙIX::Cl았::ᓭᚱi알ḭźɜ::Sᑐ랍lえ | |
25 | Ẋẋ::ḐʙIX::Cl았::Ĭⁿᰒ텣올움ᶮ | |
26 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ | |
27 | Ẋẋ::ḐʙIX::Cl았::ᛕķ::Ạuต | |
28 | Ẋẋ::ḐʙIX::Cl았::ᛕķ | |
29 | Ẋẋ::ḐʙIX::Cl았::ロẈ | |
30 | Ẋẋ::ḐʙIX::Cl았::ResultSourceProxy::탑lẹ | |
31 | Ẋẋ::ḐʙIX::Cl았::ᚪc엤ȭઋᶢऋouꩇ | |
32 | /; | |
33 | ||
34 | package Ẋẋ::ḐʙIX::Cl았::Ĭⁿᰒ텣올움ᶮ; use mro 'dfs'; | |
35 | our @ISA = qw/ Ẋẋ::ḐʙIX::Cl았::ロẈ /; | |
36 | ||
37 | package Ẋẋ::ḐʙIX::Cl았::ロẈ; use mro 'dfs'; | |
38 | our @ISA = qw/ Ẋẋ::ḐʙIX::Cl았 /; | |
39 | ||
40 | package Ẋẋ::ḐʙIX::Cl았; use mro 'dfs'; | |
41 | our @ISA = qw/ | |
42 | Ẋẋ::ḐʙIX::Cl았::촘폰en팃엗 | |
43 | xx::Cl았::닽Ӕ::앛쳇sᚖ | |
44 | /; | |
45 | ||
46 | package Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ; use mro 'dfs'; | |
47 | our @ISA = qw/ | |
48 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::헬pḜrS | |
49 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::앛쳇sᚖ | |
50 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::찻찯eᚪtЁnʂ | |
51 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::Pr오xᐇMeᖪ옫ś | |
52 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::밧え | |
53 | Ẋẋ::ḐʙIX::Cl았 | |
54 | /; | |
55 | ||
56 | package Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::헬pḜrS; use mro 'dfs'; | |
57 | our @ISA = qw/ | |
58 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::핫ᛗƳ | |
59 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::핫ᶱn | |
60 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::бl옹sTȭ | |
61 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::ᛗᓆ톰ẰᚿẎ | |
62 | /; | |
63 | ||
64 | package Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::Pr오xᐇMeᖪ옫ś; use mro 'dfs'; | |
65 | our @ISA = qw/ Ẋẋ::ḐʙIX::Cl았 /; | |
66 | ||
67 | package Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::밧え; use mro 'dfs'; | |
68 | our @ISA = qw/ Ẋẋ::ḐʙIX::Cl았 /; | |
69 | ||
70 | package Ẋẋ::ḐʙIX::Cl았::ᛕķ::Ạuต; use mro 'dfs'; | |
71 | our @ISA = qw/ Ẋẋ::ḐʙIX::Cl았 /; | |
72 | ||
73 | package Ẋẋ::ḐʙIX::Cl았::ᛕķ; use mro 'dfs'; | |
74 | our @ISA = qw/ Ẋẋ::ḐʙIX::Cl았::ロẈ /; | |
75 | ||
76 | package Ẋẋ::ḐʙIX::Cl았::ResultSourceProxy::탑lẹ; use mro 'dfs'; | |
77 | our @ISA = qw/ | |
78 | Ẋẋ::ḐʙIX::Cl았::ᚪc엤ȭઋᶢऋouꩇ | |
79 | Ẋẋ::ḐʙIX::Cl았::ResultSourceProxy | |
80 | /; | |
81 | ||
82 | package Ẋẋ::ḐʙIX::Cl았::ResultSourceProxy; use mro 'dfs'; | |
83 | our @ISA = qw/ Ẋẋ::ḐʙIX::Cl았 /; | |
84 | ||
85 | package xx::Cl았::닽Ӕ::앛쳇sᚖ; our @ISA = (); use mro 'dfs'; | |
86 | package Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::핫ᛗƳ; our @ISA = (); use mro 'dfs'; | |
87 | package Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::핫ᶱn; our @ISA = (); use mro 'dfs'; | |
88 | package Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::бl옹sTȭ; our @ISA = (); use mro 'dfs'; | |
89 | package Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::ᛗᓆ톰ẰᚿẎ; our @ISA = (); use mro 'dfs'; | |
90 | package Ẋẋ::ḐʙIX::Cl았::촘폰en팃엗; our @ISA = (); use mro 'dfs'; | |
91 | package Ẋẋ::ḐʙIX::Cl았::ᚪc엤ȭઋᶢऋouꩇ; our @ISA = (); use mro 'dfs'; | |
92 | package Ẋẋ::ḐʙIX::Cl았::ᓭᚱi알ḭźɜ::Sᑐ랍lえ; our @ISA = (); use mro 'dfs'; | |
93 | package Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::앛쳇sᚖ; our @ISA = (); use mro 'dfs'; | |
94 | package Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::찻찯eᚪtЁnʂ; our @ISA = (); use mro 'dfs'; | |
95 | } | |
96 | ||
97 | ok(eq_array( | |
98 | mro::get_linear_isa('Ẋẋ::ḐʙIX::Cl았::Coレ'), | |
99 | [qw/ | |
100 | Ẋẋ::ḐʙIX::Cl았::Coレ | |
101 | Ẋẋ::ḐʙIX::Cl았::ᓭᚱi알ḭźɜ::Sᑐ랍lえ | |
102 | Ẋẋ::ḐʙIX::Cl았::Ĭⁿᰒ텣올움ᶮ | |
103 | Ẋẋ::ḐʙIX::Cl았::ロẈ | |
104 | Ẋẋ::ḐʙIX::Cl았 | |
105 | Ẋẋ::ḐʙIX::Cl았::촘폰en팃엗 | |
106 | xx::Cl았::닽Ӕ::앛쳇sᚖ | |
107 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ | |
108 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::헬pḜrS | |
109 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::핫ᛗƳ | |
110 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::핫ᶱn | |
111 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::бl옹sTȭ | |
112 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::ᛗᓆ톰ẰᚿẎ | |
113 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::앛쳇sᚖ | |
114 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::찻찯eᚪtЁnʂ | |
115 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::Pr오xᐇMeᖪ옫ś | |
116 | Ẋẋ::ḐʙIX::Cl았::렐aチ온ሺṖ::밧え | |
117 | Ẋẋ::ḐʙIX::Cl았::ᛕķ::Ạuต | |
118 | Ẋẋ::ḐʙIX::Cl았::ᛕķ | |
119 | Ẋẋ::ḐʙIX::Cl았::ResultSourceProxy::탑lẹ | |
120 | Ẋẋ::ḐʙIX::Cl았::ᚪc엤ȭઋᶢऋouꩇ | |
121 | Ẋẋ::ḐʙIX::Cl았::ResultSourceProxy | |
122 | /] | |
123 | ), '... got the right DFS merge order for Ẋẋ::ḐʙIX::Cl았::Coレ'); |