Commit | Line | Data |
a5d6e23b |
1 | ## name No builder method |
2 | ## failures 0 |
3 | ## cut |
4 | |
5 | package Class; |
6 | use Moose; |
7 | |
8 | has attr => ( |
9 | is => 'rw', |
10 | ); |
11 | |
c3bfce2f |
12 | #----------------------------------------------------------------------------- |
13 | |
14 | ## name Private builder method |
15 | ## failures 0 |
16 | ## cut |
17 | |
18 | package Class; |
19 | use Moose; |
20 | |
21 | has attr => ( |
22 | is => 'rw', |
23 | builder => '_build_attr', |
24 | ); |
25 | |
26 | #----------------------------------------------------------------------------- |
27 | |
28 | ## name Public builder method |
29 | ## failures 1 |
30 | ## cut |
31 | |
32 | package Class; |
33 | use Moose; |
34 | |
35 | has attr => ( |
36 | is => 'rw', |
37 | builder => 'build_attr', |
38 | ); |
39 | |
54b16ed8 |
40 | #----------------------------------------------------------------------------- |
41 | |
42 | ## name Public builder method, declared dynamically |
43 | ## failures 1 |
44 | ## cut |
45 | |
46 | package Class; |
47 | use Moose; |
48 | |
49 | __PACKAGE__->meta->add_attribute(attr => ( |
50 | is => 'rw', |
51 | builder => 'build_attr', |
52 | )); |
53 | |
54 | #----------------------------------------------------------------------------- |
55 | |
56 | ## name Public builder method, named dynamically |
57 | ## failures 1 |
58 | ## cut |
59 | |
60 | package Class; |
61 | use Moose; |
62 | |
63 | my $builder = 'build_' . rand; |
64 | __PACKAGE__->meta->add_attribute(attr => ( |
65 | is => 'rw', |
66 | builder => $builder, |
67 | )); |
68 | |
3d48cdcb |
69 | #----------------------------------------------------------------------------- |
70 | |
71 | ## name Role sans builder |
72 | ## failures 0 |
73 | ## cut |
74 | |
75 | package Role; |
76 | use Moose::Role; |
77 | |
78 | has attr => ( |
79 | is => 'rw', |
80 | ); |
81 | |
82 | #----------------------------------------------------------------------------- |
83 | |
84 | ## name Role with private builder |
85 | ## failures 0 |
86 | ## cut |
87 | |
88 | package Role; |
89 | use Moose::Role; |
90 | |
91 | has attr => ( |
92 | is => 'rw', |
93 | builder => '_build_attr', |
94 | ); |
95 | |
96 | #----------------------------------------------------------------------------- |
97 | |
98 | ## name Role with public builder |
99 | ## failures 1 |
100 | ## cut |
101 | |
102 | package Role; |
103 | use Moose::Role; |
104 | |
105 | has attr => ( |
106 | is => 'rw', |
107 | builder => 'build_attr', |
108 | ); |
109 | |
110 | #----------------------------------------------------------------------------- |
111 | |
112 | ## name Public role builder method, named dynamically |
113 | ## failures 1 |
114 | ## cut |
115 | |
116 | package Role; |
117 | use Moose::Role; |
118 | |
119 | my $builder = 'build_' . rand; |
120 | __PACKAGE__->meta->add_attribute(attr => ( |
121 | is => 'rw', |
122 | builder => $builder, |
123 | )); |
124 | |
125 | #----------------------------------------------------------------------------- |
126 | |
127 | ## name Lazy build |
128 | ## failures 0 |
129 | ## cut |
130 | |
131 | package Class; |
132 | use Moose; |
133 | |
134 | has foo => ( |
135 | is => 'rw', |
136 | lazy_build => 1, |
137 | ); |
138 | |
139 | #----------------------------------------------------------------------------- |
140 | |
141 | ## name The Gauntlet |
142 | ## failures 0 |
143 | ## cut |
144 | |
145 | for (1 .. 5) { |
146 | Class::MOP::Class->create_anon_class( |
147 | attributes => [ |
148 | Class::MOP::Attribute->new( |
149 | name => "foo_$_", |
150 | builder => "build_foo_$_", |
151 | ), |
152 | ], |
153 | ); |
154 | } |
155 | |