|
1 | 1 | use v6;
|
2 | 2 | use Test;
|
3 | 3 |
|
4 |
| -plan 93; |
| 4 | +plan 148; |
5 | 5 |
|
6 | 6 | =begin pod
|
7 | 7 |
|
@@ -219,6 +219,80 @@ is( ([\R~] 'a'..*).[^8].join(', '), 'a, ba, cba, dcba, edcba, fedcba, gfedcba, h
|
219 | 219 | is [^^](5, 0, 0), (5 ^^ 0 ^^ 0), '[^^] mix 4';
|
220 | 220 | is [^^](0, 9, 0), (0 ^^ 9 ^^ 0), '[^^] mix 5';
|
221 | 221 | is [^^](0, 0, 17), (0 ^^ 0 ^^ 17), '[^^] mix 6';
|
| 222 | + |
| 223 | + # test False / undefined things |
| 224 | + my $msg1 = 'reduce [^^] false variable test'; |
| 225 | + my $msg2 = 'infix ^^ false variable test'; |
| 226 | + for (0, '0', '', Bool::False, Any, Mu, Nil) -> $undef { |
| 227 | + ok [^^] ( $undef, $undef, $undef, 5 ), "|{$undef.perl}| $msg1 \#1"; |
| 228 | + nok [^^] ( 1, 2, $undef, 3, $undef ), "|{$undef.perl}| $msg1 \#2"; |
| 229 | + nok [^^] ( $undef, $undef, 1, 5 ), "|{$undef.perl}| $msg1 \#3"; |
| 230 | + nok [^^] ( 1, $undef, $undef, 5 ), "|{$undef.perl}| $msg1 \#4"; |
| 231 | + ok [^^] ( $undef, $undef, 2, $undef ), "|{$undef.perl}| $msg1 \#5"; |
| 232 | + nok [^^] ( $undef, $undef, $undef ), "|{$undef.perl}| $msg1 \#6"; |
| 233 | + nok [^^] ( $undef, $undef ), "|{$undef.perl}| $msg1 \#7"; |
| 234 | + ok [^^] ( $undef, 1 ), "|{$undef.perl}| $msg1 \#8"; |
| 235 | + ok [^^] ( 1, $undef ), "|{$undef.perl}| $msg1 \#9"; |
| 236 | + nok [^^] ( $undef ), "|{$undef.perl}| $msg1 \#10"; |
| 237 | + ok ( $undef ^^ $undef ^^ $undef ^^ 5 ), "|{$undef.perl}| $msg2 \#1"; |
| 238 | + nok ( 1 ^^ 2 ^^ $undef ^^ 3 ^^ $undef ), "|{$undef.perl}| $msg2 \#2"; |
| 239 | + nok ( $undef ^^ $undef ^^ 1 ^^ 5 ), "|{$undef.perl}| $msg2 \#3"; |
| 240 | + nok ( 1 ^^ $undef ^^ $undef ^^ 5 ), "|{$undef.perl}| $msg2 \#4"; |
| 241 | + ok ( $undef ^^ $undef ^^ 2 ^^ $undef ), "|{$undef.perl}| $msg2 \#5"; |
| 242 | + nok ( $undef ^^ $undef ^^ $undef ), "|{$undef.perl}| $msg2 \#6"; |
| 243 | + nok ( $undef ^^ $undef ), "|{$undef.perl}| $msg2 \#7"; |
| 244 | + ok ( $undef ^^ 1 ), "|{$undef.perl}| $msg2 \#8"; |
| 245 | + ok ( 1 ^^ $undef ), "|{$undef.perl}| $msg2 \#9"; |
| 246 | + } |
| 247 | + |
| 248 | + # test numericy true things |
| 249 | + $msg1 = 'reduce [^^] true numbery variable test'; |
| 250 | + $msg2 = 'infix ^^ true numbery variable test'; |
| 251 | + for (1, -147, pi, Bool::True) -> $def { |
| 252 | + nok [^^] ( 0, 0, $def, 3, $def ), "|{$def.perl}| $msg1 \#1"; |
| 253 | + nok [^^] ( $def, $def, 0 ), "|{$def.perl}| $msg1 \#2"; |
| 254 | + nok [^^] ( 1, $def, Any, 5 ), "|{$def.perl}| $msg1 \#3"; |
| 255 | + ok [^^] ( $def, 0, 0, 0 ) == $def, "|{$def.perl}| $msg1 \#4"; |
| 256 | + ok [^^] ( Any, Any, Any, $def ) == $def, "|{$def.perl}| $msg1 \#5"; |
| 257 | + nok [^^] ( $def, $def ), "|{$def.perl}| $msg1 \#6"; |
| 258 | + ok [^^] ( $def, 0 ) == $def, "|{$def.perl}| $msg1 \#7"; |
| 259 | + ok [^^] ( 0, $def ) == $def, "|{$def.perl}| $msg1 \#8"; |
| 260 | + ok [^^] ( $def ), "|{$def.perl}| $msg1 \#9"; |
| 261 | + nok ( 0 ^^ 0 ^^ $def ^^ 3 ^^ $def ), "|{$def.perl}| $msg2 \#1"; |
| 262 | + nok ( $def ^^ $def ^^ 0 ), "|{$def.perl}| $msg2 \#2"; |
| 263 | + nok ( 1 ^^ $def ^^ Any ^^ 5 ), "|{$def.perl}| $msg2 \#3"; |
| 264 | + ok ( $def ^^ 0 ^^ 0 ^^ 0 ) == $def, "|{$def.perl}| $msg2 \#4"; |
| 265 | + ok ( Any ^^ Any ^^ Any ^^ $def ) == $def,"|{$def.perl}| $msg2 \#5"; |
| 266 | + nok ( $def ^^ $def ), "|{$def.perl}| $msg2 \#6"; |
| 267 | + ok ( $def ^^ 0 ) == $def, "|{$def.perl}| $msg2 \#7"; |
| 268 | + ok ( 0 ^^ $def ) == $def, "|{$def.perl}| $msg2 \#8"; |
| 269 | + } |
| 270 | + |
| 271 | + # test stringy true things |
| 272 | + $msg1 = 'reduce [^^] true string variable test'; |
| 273 | + $msg2 = 'infix ^^ true string variable test'; |
| 274 | + for ('no', 'Bob', '10', 'False') -> $def { |
| 275 | + nok [^^] ( $def, $def, $def, 'string' ), "|{$def.perl}| $msg1 \#1"; |
| 276 | + nok [^^] ( '', '', $def, 'str', $def ), "|{$def.perl}| $msg1 \#2"; |
| 277 | + nok [^^] ( $def, $def,'' ), "|{$def.perl}| $msg1 \#3"; |
| 278 | + nok [^^] ( 1, $def, Any, 5 ), "|{$def.perl}| $msg1 \#4"; |
| 279 | + ok [^^] ( $def, '', '', '' ) eq $def, "|{$def.perl}| $msg1 \#5"; |
| 280 | + ok [^^] ( Any, Any, Any, $def ) eq $def, "|{$def.perl}| $msg1 \#6"; |
| 281 | + nok [^^] ( $def, $def ), "|{$def.perl}| $msg1 \#7"; |
| 282 | + ok [^^] ( $def, '' ) eq $def, "|{$def.perl}| $msg1 \#8"; |
| 283 | + ok [^^] ( '', $def ) eq $def, "|{$def.perl}| $msg1 \#9"; |
| 284 | + ok [^^] ( $def ) eq $def, "|{$def.perl}| $msg1 \#10"; |
| 285 | + nok ( $def ^^ $def ^^ $def ^^ 'string' ), "|{$def.perl}| $msg2 \#1"; |
| 286 | + nok ( '' ^^ '' ^^ $def ^^ 'str' ^^ $def ),"|{$def.perl}| $msg2 \#2"; |
| 287 | + nok ( $def ^^ $def ^^'' ), "|{$def.perl}| $msg2 \#3"; |
| 288 | + nok ( 1 ^^ $def ^^ Any ^^ 5 ), "|{$def.perl}| $msg2 \#4"; |
| 289 | + ok ( $def ^^ '' ^^ '' ^^ '' ) eq $def, "|{$def.perl}| $msg2 \#5"; |
| 290 | + ok ( Any ^^ Any ^^ Any ^^ $def ) eq $def,"|{$def.perl}| $msg2 \#6"; |
| 291 | + nok ( $def ^^ $def ), "|{$def.perl}| $msg2 \#7"; |
| 292 | + ok ( $def ^^ '' ) eq $def, "|{$def.perl}| $msg2 \#8"; |
| 293 | + ok ( '' ^^ $def ) eq $def, "|{$def.perl}| $msg2 \#9"; |
| 294 | + } |
| 295 | + |
222 | 296 | }
|
223 | 297 |
|
224 | 298 | # RT #75234
|
|
0 commit comments