| 120 | | ok("+" ~~ m/^<?ascii>$/, q{Match ascii as subrule}); |
| 121 | | ok(!( "+" ~~ m/^<!ascii>.$/ ), q{Don't match negated ascii as subrule} ); |
| 122 | | ok(!( "+" ~~ m/^<-ascii>$/ ), q{Don't match inverted ascii as subrule} ); |
| 123 | | |
| 124 | | ok("+" ~~ m/^<+ascii>$/, q{Match ascii as charset}); |
| 125 | | ok("+" ~~ m/^<+[A]+ascii>$/, q{Match compound ascii as charset}); |
| 126 | | ok(!( "+" ~~ m/^<-ascii>$/ ), q{Don't match externally inverted ascii as charset} ); |
| 127 | | ok(!( "+" ~~ m/^<+[A]-ascii>$/ ), q{Don't match compound inverted ascii as charset} ); |
| 128 | | ok(!( "+" ~~ m/^<-ascii>$/ ), q{Don't match inverted ascii as charset} ); |
| 129 | | ok("+" ~~ m/<+ascii>/, q{Match unanchored ascii as charset}); |
| | 120 | # Unspecced |
| | 121 | # ok("+" ~~ m/^<?ascii>$/, q{Match ascii as subrule}); |
| | 122 | # ok(!( "+" ~~ m/^<!ascii>.$/ ), q{Don't match negated ascii as subrule} ); |
| | 123 | # ok(!( "+" ~~ m/^<-ascii>$/ ), q{Don't match inverted ascii as subrule} ); |
| | 124 | # |
| | 125 | # ok("+" ~~ m/^<+ascii>$/, q{Match ascii as charset}); |
| | 126 | # ok("+" ~~ m/^<+[A]+ascii>$/, q{Match compound ascii as charset}); |
| | 127 | # ok(!( "+" ~~ m/^<-ascii>$/ ), q{Don't match externally inverted ascii as charset} ); |
| | 128 | # ok(!( "+" ~~ m/^<+[A]-ascii>$/ ), q{Don't match compound inverted ascii as charset} ); |
| | 129 | # ok(!( "+" ~~ m/^<-ascii>$/ ), q{Don't match inverted ascii as charset} ); |
| | 130 | # ok("+" ~~ m/<+ascii>/, q{Match unanchored ascii as charset}); |
| 259 | | |
| 260 | | ok("b" ~~ m/^<?word>$/, q{Match word as subrule}); |
| 261 | | ok(!( "b" ~~ m/^<!word>.$/ ), q{Don't match negated word as subrule} ); |
| 262 | | ok(!( "b" ~~ m/^<-word>$/ ), q{Don't match inverted word as subrule} ); |
| 263 | | ok(!( '{' ~~ m/^<?word>$/ ), q{Don't match unrelated word as subrule} ); |
| 264 | | ok('{' ~~ m/^<!word>.$/, q{Match unrelated negated word as subrule} ); |
| 265 | | ok('{' ~~ m/^<-word>$/, q{Match unrelated inverted word as subrule}); |
| 266 | | |
| 267 | | ok("b" ~~ m/^<+word>$/, q{Match word as charset} ); |
| 268 | | ok("b" ~~ m/^<+[A]+word>$/, q{Match compound word as charset}); |
| 269 | | ok(!( "b" ~~ m/^<-word>$/ ), q{Don't match externally inverted word as charset} ); |
| 270 | | ok(!( "b" ~~ m/^<+[A]-word>$/ ), q{Don't match compound inverted word as charset} ); |
| 271 | | ok(!( "b" ~~ m/^<-word>$/ ), q{Don't match internally inverted word as charset} ); |
| 272 | | ok(!( '{' ~~ m/^<+word>$/ ), q{Don't match unrelated word as charset} ); |
| 273 | | ok('{' ~~ m/^<-word>$/, q{Match inverted word as charset}); |
| 274 | | ok('{b' ~~ m/<+word>/, q{Match unanchored word as charset} ); |
| | 260 | # unspecced |
| | 261 | # ok("b" ~~ m/^<?word>$/, q{Match word as subrule}); |
| | 262 | # ok(!( "b" ~~ m/^<!word>.$/ ), q{Don't match negated word as subrule} ); |
| | 263 | # ok(!( "b" ~~ m/^<-word>$/ ), q{Don't match inverted word as subrule} ); |
| | 264 | # ok(!( '{' ~~ m/^<?word>$/ ), q{Don't match unrelated word as subrule} ); |
| | 265 | # ok('{' ~~ m/^<!word>.$/, q{Match unrelated negated word as subrule} ); |
| | 266 | # ok('{' ~~ m/^<-word>$/, q{Match unrelated inverted word as subrule}); |
| | 267 | # |
| | 268 | # ok("b" ~~ m/^<+word>$/, q{Match word as charset} ); |
| | 269 | # ok("b" ~~ m/^<+[A]+word>$/, q{Match compound word as charset}); |
| | 270 | # ok(!( "b" ~~ m/^<-word>$/ ), q{Don't match externally inverted word as charset} ); |
| | 271 | # ok(!( "b" ~~ m/^<+[A]-word>$/ ), q{Don't match compound inverted word as charset} ); |
| | 272 | # ok(!( "b" ~~ m/^<-word>$/ ), q{Don't match internally inverted word as charset} ); |
| | 273 | # ok(!( '{' ~~ m/^<+word>$/ ), q{Don't match unrelated word as charset} ); |
| | 274 | # ok('{' ~~ m/^<-word>$/, q{Match inverted word as charset}); |
| | 275 | # ok('{b' ~~ m/<+word>/, q{Match unanchored word as charset} ); |