Commit | Line | Data |
50fbbf3d |
1 | #!/usr/bin/perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
a28e50e4 |
6 | use Test::More; |
50fbbf3d |
7 | |
8 | use Moose::Util qw( resolve_metaclass_alias resolve_metatrait_alias ); |
9 | |
10 | use lib 't/lib'; |
11 | |
12 | # Doing each test twice is intended to make sure that the caching |
13 | # doesn't break name resolution. It doesn't actually test that |
14 | # anything is cached. |
15 | is( resolve_metaclass_alias( 'Attribute', 'Moose::Meta::Attribute::Custom::Foo' ), |
16 | 'Moose::Meta::Attribute::Custom::Foo', |
17 | 'resolve_metaclass_alias finds Moose::Meta::Attribute::Custom::Foo' ); |
18 | |
19 | is( resolve_metaclass_alias( 'Attribute', 'Moose::Meta::Attribute::Custom::Foo' ), |
20 | 'Moose::Meta::Attribute::Custom::Foo', |
21 | 'resolve_metaclass_alias finds Moose::Meta::Attribute::Custom::Foo second time' ); |
22 | |
23 | is( resolve_metaclass_alias( 'Attribute', 'Foo' ), |
24 | 'Moose::Meta::Attribute::Custom::Foo', |
25 | 'resolve_metaclass_alias finds Moose::Meta::Attribute::Custom::Foo via alias (Foo)' ); |
26 | |
27 | is( resolve_metaclass_alias( 'Attribute', 'Foo' ), |
28 | 'Moose::Meta::Attribute::Custom::Foo', |
29 | 'resolve_metaclass_alias finds Moose::Meta::Attribute::Custom::Foo via alias (Foo) a second time' ); |
30 | |
31 | is( resolve_metaclass_alias( 'Attribute', 'Moose::Meta::Attribute::Custom::Bar' ), |
32 | 'My::Bar', |
33 | 'resolve_metaclass_alias finds Moose::Meta::Attribute::Custom::Bar as My::Bar' ); |
34 | |
35 | is( resolve_metaclass_alias( 'Attribute', 'Moose::Meta::Attribute::Custom::Bar' ), |
36 | 'My::Bar', |
37 | 'resolve_metaclass_alias finds Moose::Meta::Attribute::Custom::Bar as My::Bar a second time' ); |
38 | |
39 | is( resolve_metaclass_alias( 'Attribute', 'Bar' ), |
40 | 'My::Bar', |
41 | 'resolve_metaclass_alias finds Moose::Meta::Attribute::Custom::Bar as My::Bar via alias (Bar)' ); |
42 | |
43 | is( resolve_metaclass_alias( 'Attribute', 'Bar' ), |
44 | 'My::Bar', |
45 | 'resolve_metaclass_alias finds Moose::Meta::Attribute::Custom::Bar as My::Bar via alias (Bar) a second time' ); |
46 | |
47 | is( resolve_metatrait_alias( 'Attribute', 'Moose::Meta::Attribute::Custom::Trait::Foo' ), |
48 | 'Moose::Meta::Attribute::Custom::Trait::Foo', |
49 | 'resolve_metatrait_alias finds Moose::Meta::Attribute::Custom::Trait::Foo' ); |
50 | |
51 | is( resolve_metatrait_alias( 'Attribute', 'Moose::Meta::Attribute::Custom::Trait::Foo' ), |
52 | 'Moose::Meta::Attribute::Custom::Trait::Foo', |
53 | 'resolve_metatrait_alias finds Moose::Meta::Attribute::Custom::Trait::Foo second time' ); |
54 | |
55 | is( resolve_metatrait_alias( 'Attribute', 'Foo' ), |
56 | 'Moose::Meta::Attribute::Custom::Trait::Foo', |
57 | 'resolve_metatrait_alias finds Moose::Meta::Attribute::Custom::Trait::Foo via alias (Foo)' ); |
58 | |
59 | is( resolve_metatrait_alias( 'Attribute', 'Foo' ), |
60 | 'Moose::Meta::Attribute::Custom::Trait::Foo', |
61 | 'resolve_metatrait_alias finds Moose::Meta::Attribute::Custom::Trait::Foo via alias (Foo) a second time' ); |
62 | |
63 | is( resolve_metatrait_alias( 'Attribute', 'Moose::Meta::Attribute::Custom::Trait::Bar' ), |
64 | 'My::Trait::Bar', |
65 | 'resolve_metatrait_alias finds Moose::Meta::Attribute::Custom::Trait::Bar as My::Trait::Bar' ); |
66 | |
67 | is( resolve_metatrait_alias( 'Attribute', 'Moose::Meta::Attribute::Custom::Trait::Bar' ), |
68 | 'My::Trait::Bar', |
69 | 'resolve_metatrait_alias finds Moose::Meta::Attribute::Custom::Trait::Bar as My::Trait::Bar a second time' ); |
70 | |
71 | is( resolve_metatrait_alias( 'Attribute', 'Bar' ), |
72 | 'My::Trait::Bar', |
73 | 'resolve_metatrait_alias finds Moose::Meta::Attribute::Custom::Trait::Bar as My::Trait::Bar via alias (Bar)' ); |
74 | |
75 | is( resolve_metatrait_alias( 'Attribute', 'Bar' ), |
76 | 'My::Trait::Bar', |
77 | 'resolve_metatrait_alias finds Moose::Meta::Attribute::Custom::Trait::Bar as My::Trait::Bar via alias (Bar) a second time' ); |
a28e50e4 |
78 | |
79 | done_testing; |