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