6 require q(./test.pl); plan(tests => 1);
10 This example is taken from the inheritance graph of DBIx::Class::Core in DBIx::Class v0.07002:
11 (No ASCII art this time, this graph is insane)
13 The xx:: prefixes are just to be sure these bogus declarations never stomp on real ones
18 package xx::DBIx::Class::Core; use mro 'dfs';
20 xx::DBIx::Class::Serialize::Storable
21 xx::DBIx::Class::InflateColumn
22 xx::DBIx::Class::Relationship
23 xx::DBIx::Class::PK::Auto
26 xx::DBIx::Class::ResultSourceProxy::Table
27 xx::DBIx::Class::AccessorGroup
30 package xx::DBIx::Class::InflateColumn; use mro 'dfs';
31 our @ISA = qw/ xx::DBIx::Class::Row /;
33 package xx::DBIx::Class::Row; use mro 'dfs';
34 our @ISA = qw/ xx::DBIx::Class /;
36 package xx::DBIx::Class; use mro 'dfs';
38 xx::DBIx::Class::Componentised
39 xx::Class::Data::Accessor
42 package xx::DBIx::Class::Relationship; use mro 'dfs';
44 xx::DBIx::Class::Relationship::Helpers
45 xx::DBIx::Class::Relationship::Accessor
46 xx::DBIx::Class::Relationship::CascadeActions
47 xx::DBIx::Class::Relationship::ProxyMethods
48 xx::DBIx::Class::Relationship::Base
52 package xx::DBIx::Class::Relationship::Helpers; use mro 'dfs';
54 xx::DBIx::Class::Relationship::HasMany
55 xx::DBIx::Class::Relationship::HasOne
56 xx::DBIx::Class::Relationship::BelongsTo
57 xx::DBIx::Class::Relationship::ManyToMany
60 package xx::DBIx::Class::Relationship::ProxyMethods; use mro 'dfs';
61 our @ISA = qw/ xx::DBIx::Class /;
63 package xx::DBIx::Class::Relationship::Base; use mro 'dfs';
64 our @ISA = qw/ xx::DBIx::Class /;
66 package xx::DBIx::Class::PK::Auto; use mro 'dfs';
67 our @ISA = qw/ xx::DBIx::Class /;
69 package xx::DBIx::Class::PK; use mro 'dfs';
70 our @ISA = qw/ xx::DBIx::Class::Row /;
72 package xx::DBIx::Class::ResultSourceProxy::Table; use mro 'dfs';
74 xx::DBIx::Class::AccessorGroup
75 xx::DBIx::Class::ResultSourceProxy
78 package xx::DBIx::Class::ResultSourceProxy; use mro 'dfs';
79 our @ISA = qw/ xx::DBIx::Class /;
81 package xx::Class::Data::Accessor; our @ISA = (); use mro 'dfs';
82 package xx::DBIx::Class::Relationship::HasMany; our @ISA = (); use mro 'dfs';
83 package xx::DBIx::Class::Relationship::HasOne; our @ISA = (); use mro 'dfs';
84 package xx::DBIx::Class::Relationship::BelongsTo; our @ISA = (); use mro 'dfs';
85 package xx::DBIx::Class::Relationship::ManyToMany; our @ISA = (); use mro 'dfs';
86 package xx::DBIx::Class::Componentised; our @ISA = (); use mro 'dfs';
87 package xx::DBIx::Class::AccessorGroup; our @ISA = (); use mro 'dfs';
88 package xx::DBIx::Class::Serialize::Storable; our @ISA = (); use mro 'dfs';
89 package xx::DBIx::Class::Relationship::Accessor; our @ISA = (); use mro 'dfs';
90 package xx::DBIx::Class::Relationship::CascadeActions; our @ISA = (); use mro 'dfs';
94 mro::get_linear_isa('xx::DBIx::Class::Core'),
97 xx::DBIx::Class::Serialize::Storable
98 xx::DBIx::Class::InflateColumn
101 xx::DBIx::Class::Componentised
102 xx::Class::Data::Accessor
103 xx::DBIx::Class::Relationship
104 xx::DBIx::Class::Relationship::Helpers
105 xx::DBIx::Class::Relationship::HasMany
106 xx::DBIx::Class::Relationship::HasOne
107 xx::DBIx::Class::Relationship::BelongsTo
108 xx::DBIx::Class::Relationship::ManyToMany
109 xx::DBIx::Class::Relationship::Accessor
110 xx::DBIx::Class::Relationship::CascadeActions
111 xx::DBIx::Class::Relationship::ProxyMethods
112 xx::DBIx::Class::Relationship::Base
113 xx::DBIx::Class::PK::Auto
115 xx::DBIx::Class::ResultSourceProxy::Table
116 xx::DBIx::Class::AccessorGroup
117 xx::DBIx::Class::ResultSourceProxy
119 ), '... got the right DFS merge order for xx::DBIx::Class::Core');