b4e27a5ca0e95379a30899e4bfdd744ec4d9f7f6
[gitmo/Perl-Critic-Dynamic-Moose.git] / t / DynamicMoose / ProhibitPublicBuilders.run
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
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
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
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