Better test =]
[gitmo/Perl-Critic-Dynamic-Moose.git] / t / DynamicMoose / ProhibitPublicBuilders.run
CommitLineData
a5d6e23b 1## name No builder method
2## failures 0
3## cut
4
5package Class;
6use Moose;
7
8has attr => (
9 is => 'rw',
10);
11
c3bfce2f 12#-----------------------------------------------------------------------------
13
14## name Private builder method
15## failures 0
16## cut
17
18package Class;
19use Moose;
20
21has attr => (
22 is => 'rw',
23 builder => '_build_attr',
24);
25
26#-----------------------------------------------------------------------------
27
28## name Public builder method
29## failures 1
30## cut
31
32package Class;
33use Moose;
34
35has 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
46package Class;
47use 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
60package Class;
61use Moose;
62
63my $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
75package Role;
76use Moose::Role;
77
78has attr => (
79 is => 'rw',
80);
81
82#-----------------------------------------------------------------------------
83
84## name Role with private builder
85## failures 0
86## cut
87
88package Role;
89use Moose::Role;
90
91has attr => (
92 is => 'rw',
93 builder => '_build_attr',
94);
95
96#-----------------------------------------------------------------------------
97
98## name Role with public builder
99## failures 1
100## cut
101
102package Role;
103use Moose::Role;
104
105has 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
116package Role;
117use Moose::Role;
118
119my $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
131package Class;
132use Moose;
133
134has foo => (
135 is => 'rw',
136 lazy_build => 1,
137);
138
139#-----------------------------------------------------------------------------
140
141## name The Gauntlet
7291d9fe 142## failures 5
3d48cdcb 143## cut
144
145for (1 .. 5) {
b577788c 146 my $builder = "build_foo_$_";
4fd968b7 147 Class::MOP::Class->create(
148 "Foo$_",
3d48cdcb 149 attributes => [
150 Class::MOP::Attribute->new(
151 name => "foo_$_",
b577788c 152 builder => $builder,
3d48cdcb 153 ),
154 ],
155 );
156}
157