1
1
use Test;
2
- plan 116 ;
2
+ plan 139 ;
3
3
4
4
my $pod_index = 0;
5
5
@@ -13,6 +13,7 @@ is Simple.WHY.leading, 'simple case';
13
13
ok !Simple.WHY.trailing.defined ;
14
14
is ~Simple.WHY, ' simple case' , ' stringifies correctly' ;
15
15
16
+ ok $=pod[$pod_index ].WHEREFORE === Simple;
16
17
is ~$=pod[$pod_index ++], ' simple case' ;
17
18
18
19
# | giraffe
@@ -22,7 +23,9 @@ class Outer {
22
23
}
23
24
}
24
25
26
+ ok $=pod[$pod_index ].WHEREFORE === Outer;
25
27
is ~$=pod[$pod_index ++], ' giraffe' ;
28
+ ok $=pod[$pod_index ].WHEREFORE === Outer::Inner;
26
29
is ~$=pod[$pod_index ++], ' zebra' ;
27
30
28
31
is Outer.WHY.contents, ' giraffe' ;
@@ -44,8 +47,11 @@ module foo {
44
47
}
45
48
}
46
49
50
+ ok $=pod[$pod_index ].WHEREFORE === foo;
47
51
is ~$=pod[$pod_index ++], ' a module' ;
52
+ ok $=pod[$pod_index ].WHEREFORE === foo::bar;
48
53
is ~$=pod[$pod_index ++], ' a package' ;
54
+ ok $=pod[$pod_index ].WHEREFORE === foo::bar;
49
55
is ~$=pod[$pod_index ++], ' and a class' ;
50
56
51
57
is foo.WHY.contents, ' a module' ;
@@ -64,6 +70,7 @@ ok !foo::bar::baz.WHY.trailing.defined;
64
70
# | yellow
65
71
sub marine {}
66
72
73
+ ok $=pod[$pod_index ].WHEREFORE === &marine;
67
74
is ~$=pod[$pod_index ++], ' yellow' ;
68
75
69
76
is &marine.WHY.contents, ' yellow' ;
@@ -74,6 +81,7 @@ ok !&marine.WHY.trailing.defined;
74
81
# | pink
75
82
sub panther {}
76
83
84
+ ok $=pod[$pod_index ].WHEREFORE === &panther;
77
85
is ~$=pod[$pod_index ++], ' pink' ;
78
86
79
87
is &panther.WHY.contents, ' pink' ;
@@ -90,20 +98,24 @@ class Sheep {
90
98
method roar { ' roar!' }
91
99
}
92
100
101
+ my $wool -attr = Sheep.^attributes.grep ({ .name eq ' $!wool' })[0];
102
+ my $roar -method = Sheep.^find_method(' roar' );
103
+
104
+ ok $=pod[$pod_index ].WHEREFORE === Sheep;
93
105
is ~$=pod[$pod_index ++], ' a sheep' ;
106
+ ok $=pod[$pod_index ].WHEREFORE === $wool -attr;
94
107
is ~$=pod[$pod_index ++], ' usually white' ;
108
+ ok $=pod[$pod_index ].WHEREFORE === $roar -method;
95
109
is ~$=pod[$pod_index ++], ' not too scary' ;
96
110
97
111
is Sheep.WHY.contents, ' a sheep' ;
98
112
ok Sheep.WHY.WHEREFORE === Sheep, ' class WHEREFORE matches' ;
99
113
is Sheep.WHY.leading, ' a sheep' ;
100
114
ok !Sheep.WHY.trailing.defined ;
101
- my $wool -attr = Sheep.^attributes.grep ({ .name eq ' $!wool' })[0];
102
115
ok $wool -attr.WHY.WHEREFORE === $wool -attr, ' attr WHEREFORE matches' ;
103
116
is $wool -attr.WHY, ' usually white' ;
104
117
is $wool -attr.WHY.leading, ' usually white' ;
105
118
ok !$wool -attr.WHY.trailing.defined ;
106
- my $roar -method = Sheep.^find_method(' roar' );
107
119
is $roar -method.WHY.contents, ' not too scary' ;
108
120
ok $roar -method.WHY.WHEREFORE === $roar -method, ' method WHEREFORE matches' ;
109
121
is $roar -method.WHY.leading, ' not too scary' ;
@@ -119,13 +131,15 @@ ok &oursub.WHY.WHEREFORE === &oursub, 'our sub WHEREFORE matches';
119
131
is &oursub.WHY.leading, ' our works too' , ' works for our subs' ;
120
132
ok !&oursub.WHY.trailing.defined ;
121
133
134
+ ok $=pod[$pod_index ].WHEREFORE === &oursub;
122
135
is ~$=pod[$pod_index ++], ' our works too' ;
123
136
124
137
# two subs in a row
125
138
126
139
# | one
127
140
sub one {}
128
141
142
+ ok $=pod[$pod_index ].WHEREFORE === &one;
129
143
is ~$=pod[$pod_index ++], ' one' ;
130
144
131
145
# | two
@@ -139,16 +153,19 @@ ok &two.WHY.WHEREFORE === &two, 'sub WHEREFORE matches';
139
153
is &two.WHY.leading, ' two' ;
140
154
ok !&two.WHY.trailing.defined ;
141
155
156
+ ok $=pod[$pod_index ].WHEREFORE === &two;
142
157
is ~$=pod[$pod_index ++], ' two' ;
143
158
144
159
# | that will break
145
160
sub first {}
146
161
162
+ ok $=pod[$pod_index ].WHEREFORE === &first;
147
163
is ~$=pod[$pod_index ++], ' that will break' ;
148
164
149
165
# | that will break
150
166
sub second {}
151
167
168
+ ok $=pod[$pod_index ].WHEREFORE === &second;
152
169
is ~$=pod[$pod_index ++], ' that will break' ;
153
170
154
171
is &first.WHY.contents, ' that will break' ;
@@ -167,13 +184,15 @@ ok &third.WHY.WHEREFORE === &third, 'sub WHEREFORE matches';
167
184
is &third.WHY.leading, ' trailing space here' ;
168
185
ok !&third.WHY.trailing.defined ;
169
186
187
+ ok $=pod[$pod_index ].WHEREFORE === &third;
170
188
is ~$=pod[$pod_index ++], ' trailing space here' ;
171
189
172
190
sub has-parameter (
173
191
# | documented
174
192
Str $param
175
193
) {}
176
194
195
+ ok $=pod[$pod_index ].WHEREFORE === &has-parameter.signature.params[0];
177
196
is ~$=pod[$pod_index ++], ' documented' ;
178
197
179
198
ok !&has-parameter.WHY.defined , ' has-parameter should have no docs' or diag(&has-parameter.WHY);
@@ -188,6 +207,7 @@ sub has-two-params(
188
207
Int $second
189
208
) {}
190
209
210
+ ok $=pod[$pod_index ].WHEREFORE === &has-parameter.signature.params[0];
191
211
is ~$=pod[$pod_index ++], ' documented' ;
192
212
193
213
ok !&has-two-params.WHY.defined ;
@@ -204,7 +224,9 @@ sub both-documented(
204
224
Int $second
205
225
) {}
206
226
227
+ ok $=pod[$pod_index ].WHEREFORE === &both-documented.signature.params[0];
207
228
is ~$=pod[$pod_index ++], ' documented' ;
229
+ ok $=pod[$pod_index ].WHEREFORE === &both-documented.signature.params[1];
208
230
is ~$=pod[$pod_index ++], ' I too, am documented' ;
209
231
210
232
ok !&both-documented.WHY.defined ;
@@ -223,6 +245,7 @@ sub has-anon-param(
223
245
Str $
224
246
) {}
225
247
248
+ ok $=pod[$pod_index ].WHEREFORE === &has-anon-param.signature.params[0];
226
249
is ~$=pod[$pod_index ++], ' leading' ;
227
250
228
251
my $param = &has-anon-param.signature.params[0];
@@ -236,10 +259,11 @@ class DoesntMatter {
236
259
$arg
237
260
) {}
238
261
}
262
+ $param = DoesntMatter.^find_method(' m' ).signature.params[0];
239
263
264
+ ok $=pod[$pod_index ].WHEREFORE === $param ;
240
265
is ~$=pod[$pod_index ++], ' invocant comment' ;
241
266
242
- $param = DoesntMatter.^find_method(' m' ).signature.params[0];
243
267
is $param .WHY, ' invocant comment' , ' invocant comments should work' ;
244
268
245
269
is $=pod.elems, $pod_index ;
0 commit comments