1#!./perl 2 3use strict; 4use warnings; 5use utf8; 6use open qw( :utf8 :std ); 7 8require q(./test.pl); plan(tests => 1); 9 10=pod 11 12=encoding UTF-8 13 14This 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 17The 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 97ok(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レ'); 124