| CODENOTIFIER | HelpYou are not signed inSign in |
Project: Pugs
Revision: 22175
Author: lwall
Date: 06 Sep 2008 23:24:18
Changes:[rx.t] previous change left unbalanced parens, oops, TimToady-- TimToady--
Files:| ... | ...@@ -2,6 +2,9 @@ | |
| 2 | 2 | |
| 3 | 3 | plan 745; |
| 4 | 4 | |
| 5 | ### for now | |
| 6 | sub matchcheck { 1 } | |
| 7 | ||
| 5 | 8 | ## Backtracking control tests |
| 6 | 9 | #### a* a bazaar y control |
| 7 | 10 | ok 'bazaar' ~~ /a* a/, 'control'; |
| ... | ...@@ -354,7 +357,7 @@ | |
| 354 | 357 | |
| 355 | 358 | #### <[-]> ab-def /parse error/ unescaped hyphen |
| 356 | 359 | #?rakudo skip 'quoting' |
| 357 | ok eval(q{{ 'ab-def' ~~ /<[-]>/ }}) ~~ Failure where /parse error/), 'unescaped hyphen'; | |
| 360 | ok eval(q{{ 'ab-def' ~~ /<[-]>/ }}) ~~ Failure where /parse error/, 'unescaped hyphen'; | |
| 358 | 361 | |
| 359 | 362 | #### <[\-]> ab-def y escaped hyphen |
| 360 | 363 | ok 'ab-def' ~~ /<[\-]>/, 'escaped hyphen'; |
| ... | ...@@ -406,7 +409,7 @@ | |
| 406 | 409 | |
| 407 | 410 | #### <[\]> \\]] /parse error/ unescaped backslash (or no closing brace) |
| 408 | 411 | #?rakudo skip 'quoting' |
| 409 | ok eval(q{{ '\\]]' ~~ /<[\]>/ }}) ~~ Failure where /parse error/), 'unescaped backslash (or no closing brace)'; | |
| 412 | ok eval(q{{ '\\]]' ~~ /<[\]>/ }}) ~~ Failure where /parse error/, 'unescaped backslash (or no closing brace)'; | |
| 410 | 413 | |
| 411 | 414 | #### ^\><[<]> >< y lt character class |
| 412 | 415 | #?rakudo skip 'parse error' |
| ... | ...@@ -583,11 +586,11 @@ | |
| 583 | 586 | |
| 584 | 587 | #### ^ <null> \t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij /mob<null>: < @ 0>/ null pattern (<null>) |
| 585 | 588 | #?rakudo skip 'quoting' |
| 586 | ok eval(q{{ '\t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij' ~~ /^ <null>/ }}) ~~ Failure where /mob<null>: < @ 0>/), 'null pattern (<null>)'; | |
| 589 | ok eval(q{{ '\t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij' ~~ /^ <null>/ }}) ~~ Failure where /mob<null>: < @ 0>/, 'null pattern (<null>)'; | |
| 587 | 590 | |
| 588 | 591 | #### <null> $ \t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij /mob<null>: < @ 65>/ null pattern (<null>) |
| 589 | 592 | #?rakudo skip 'quoting' |
| 590 | ok eval(q{{ '\t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij' ~~ /<null> $/ }}) ~~ Failure where /mob<null>: < @ 65>/), 'null pattern (<null>)'; | |
| 593 | ok eval(q{{ '\t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij' ~~ /<null> $/ }}) ~~ Failure where /mob<null>: < @ 65>/, 'null pattern (<null>)'; | |
| 591 | 594 | |
| 592 | 595 | #### abc <null> def \t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij y null pattern (<null>) |
| 593 | 596 | ok '\t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij' ~~ /abc <null> def/, 'null pattern (<null>)'; |
| ... | ...@@ -601,7 +604,7 @@ | |
| 601 | 604 | |
| 602 | 605 | #### a[b} \t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij /rule error/ mismatched close |
| 603 | 606 | #?rakudo skip 'quoting' |
| 604 | ok eval(q{{ '\t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij' ~~ /a[b}/ }}) ~~ Failure where /rule error/), 'mismatched close'; | |
| 607 | ok eval(q{{ '\t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij' ~~ /a[b}/ }}) ~~ Failure where /rule error/, 'mismatched close'; | |
| 605 | 608 | |
| 606 | 609 | |
| 607 | 610 | #### c <before .d> abacad /mob: <c @ 3>/ one character and lookahead <before> |
| ... | ...@@ -771,27 +774,27 @@ | |
| 771 | 774 | |
| 772 | 775 | #### \Aabc Aabc /reserved/ retired metachars (\A) |
| 773 | 776 | #?rakudo skip 'quoting' |
| 774 | ok eval(q{{ 'Aabc' ~~ /\Aabc/ }}) ~~ Failure where /reserved/), 'retired metachars (\A)'; | |
| 777 | ok eval(q{{ 'Aabc' ~~ /\Aabc/ }}) ~~ Failure where /reserved/, 'retired metachars (\A)'; | |
| 775 | 778 | |
| 776 | 779 | #### \Aabc abc\ndef /reserved/ retired metachars (\A) |
| 777 | 780 | #?rakudo skip 'quoting' |
| 778 | ok eval(q{{ 'abc\ndef' ~~ /\Aabc/ }}) ~~ Failure where /reserved/), 'retired metachars (\A)'; | |
| 781 | ok eval(q{{ 'abc\ndef' ~~ /\Aabc/ }}) ~~ Failure where /reserved/, 'retired metachars (\A)'; | |
| 779 | 782 | |
| 780 | 783 | #### abc\Z abcZ /reserved/ retired metachars (\Z) |
| 781 | 784 | #?rakudo skip 'quoting' |
| 782 | ok eval(q{{ 'abcZ' ~~ /abc\Z/ }}) ~~ Failure where /reserved/), 'retired metachars (\Z)'; | |
| 785 | ok eval(q{{ 'abcZ' ~~ /abc\Z/ }}) ~~ Failure where /reserved/, 'retired metachars (\Z)'; | |
| 783 | 786 | |
| 784 | 787 | #### abc\Z abc\ndef /reserved/ retired metachars (\Z) |
| 785 | 788 | #?rakudo skip 'quoting' |
| 786 | ok eval(q{{ 'abc\ndef' ~~ /abc\Z/ }}) ~~ Failure where /reserved/), 'retired metachars (\Z)'; | |
| 789 | ok eval(q{{ 'abc\ndef' ~~ /abc\Z/ }}) ~~ Failure where /reserved/, 'retired metachars (\Z)'; | |
| 787 | 790 | |
| 788 | 791 | #### abc\z abcz /reserved/ retired metachars (\z) |
| 789 | 792 | #?rakudo skip 'quoting' |
| 790 | ok eval(q{{ 'abcz' ~~ /abc\z/ }}) ~~ Failure where /reserved/), 'retired metachars (\z)'; | |
| 793 | ok eval(q{{ 'abcz' ~~ /abc\z/ }}) ~~ Failure where /reserved/, 'retired metachars (\z)'; | |
| 791 | 794 | |
| 792 | 795 | #### def\z abc\ndef /reserved/ retired metachars (\z) |
| 793 | 796 | #?rakudo skip 'quoting' |
| 794 | ok eval(q{{ 'abc\ndef' ~~ /def\z/ }}) ~~ Failure where /reserved/), 'retired metachars (\z)'; | |
| 797 | ok eval(q{{ 'abc\ndef' ~~ /def\z/ }}) ~~ Failure where /reserved/, 'retired metachars (\z)'; | |
| 795 | 798 | |
| 796 | 799 | #### abc # def abc#def y comments (#) |
| 797 | 800 | ok 'abc#def' ~~ /abc # def |
| ... | ...@@ -871,21 +874,21 @@ | |
| 871 | 874 | |
| 872 | 875 | #### b| bcd /rule error/ alternation (|) - null right arg illegal |
| 873 | 876 | #?rakudo skip 'quoting' |
| 874 | ok eval(q{{ 'bcd' ~~ /b|/ }}) ~~ Failure where /rule error/), 'alternation (|) - null right arg illegal'; | |
| 877 | ok eval(q{{ 'bcd' ~~ /b|/ }}) ~~ Failure where /rule error/, 'alternation (|) - null right arg illegal'; | |
| 875 | 878 | |
| 876 | 879 | #### |b bcd y alternation (|) - null left arg ignored |
| 877 | 880 | ok 'bcd' ~~ /|b/, 'alternation (|) - null left arg ignored'; |
| 878 | 881 | |
| 879 | 882 | #### | bcd /rule error/ alternation (|) - null both args illegal |
| 880 | 883 | #?rakudo skip 'quoting' |
| 881 | ok eval(q{{ 'bcd' ~~ /|/ }}) ~~ Failure where /rule error/), 'alternation (|) - null both args illegal'; | |
| 884 | ok eval(q{{ 'bcd' ~~ /|/ }}) ~~ Failure where /rule error/, 'alternation (|) - null both args illegal'; | |
| 882 | 885 | |
| 883 | 886 | #### \| | y alternation (|) - literal must be escaped |
| 884 | 887 | ok '|' ~~ /\|/, 'alternation (|) - literal must be escaped'; |
| 885 | 888 | |
| 886 | 889 | #### | | /rule error/ alternation (|) - literal must be escaped |
| 887 | 890 | #?rakudo skip 'quoting' |
| 888 | ok eval(q{{ '|' ~~ /|/ }}) ~~ Failure where /rule error/), 'alternation (|) - literal must be escaped'; | |
| 891 | ok eval(q{{ '|' ~~ /|/ }}) ~~ Failure where /rule error/, 'alternation (|) - literal must be escaped'; | |
| 889 | 892 | |
| 890 | 893 | #### <[a..d]> & <[b..e]> c y conjunction (&) |
| 891 | 894 | #?pugs todo 'feature' |
| ... | ...@@ -918,31 +921,31 @@ | |
| 918 | 921 | |
| 919 | 922 | #### b& bcd /rule error/ conjunction (&) - null right arg illegal |
| 920 | 923 | #?rakudo skip 'quoting' |
| 921 | ok eval(q{{ 'bcd' ~~ /b&/ }}) ~~ Failure where /rule error/), 'conjunction (&) - null right arg illegal'; | |
| 924 | ok eval(q{{ 'bcd' ~~ /b&/ }}) ~~ Failure where /rule error/, 'conjunction (&) - null right arg illegal'; | |
| 922 | 925 | |
| 923 | 926 | #### &b bcd /rule error/ conjunction (&) - null left arg illegal |
| 924 | 927 | #?rakudo skip 'quoting' |
| 925 | ok eval(q{{ 'bcd' ~~ /&b/ }}) ~~ Failure where /rule error/), 'conjunction (&) - null left arg illegal'; | |
| 928 | ok eval(q{{ 'bcd' ~~ /&b/ }}) ~~ Failure where /rule error/, 'conjunction (&) - null left arg illegal'; | |
| 926 | 929 | |
| 927 | 930 | #### & bcd /rule error/ conjunction (&) - null both args illegal |
| 928 | 931 | #?rakudo skip 'quoting' |
| 929 | ok eval(q{{ 'bcd' ~~ /&/ }}) ~~ Failure where /rule error/), 'conjunction (&) - null both args illegal'; | |
| 932 | ok eval(q{{ 'bcd' ~~ /&/ }}) ~~ Failure where /rule error/, 'conjunction (&) - null both args illegal'; | |
| 930 | 933 | |
| 931 | 934 | #### \& & y conjunction (&) - literal must be escaped |
| 932 | 935 | ok '&' ~~ /\&/, 'conjunction (&) - literal must be escaped'; |
| 933 | 936 | |
| 934 | 937 | #### & & /rule error/ conjunction (&) - literal must be escaped |
| 935 | 938 | #?rakudo skip 'quoting' |
| 936 | ok eval(q{{ '&' ~~ /&/ }}) ~~ Failure where /rule error/), 'conjunction (&) - literal must be escaped'; | |
| 939 | ok eval(q{{ '&' ~~ /&/ }}) ~~ Failure where /rule error/, 'conjunction (&) - literal must be escaped'; | |
| 937 | 940 | |
| 938 | 941 | # todo :pge<leading |> |
| 939 | 942 | #### a&|b a&|b /rule error/ alternation and conjunction (&|) - parse error |
| 940 | 943 | #?rakudo skip 'quoting' |
| 941 | ok eval(q{{ 'a&|b' ~~ /a&|b/ }}) ~~ Failure where /rule error/), 'alternation and conjunction (&|) - parse error'; | |
| 944 | ok eval(q{{ 'a&|b' ~~ /a&|b/ }}) ~~ Failure where /rule error/, 'alternation and conjunction (&|) - parse error'; | |
| 942 | 945 | |
| 943 | 946 | #### a|&b a|&b /rule error/ alternation and conjunction (|&) - parse error |
| 944 | 947 | #?rakudo skip 'quoting' |
| 945 | ok eval(q{{ 'a|&b' ~~ /a|&b/ }}) ~~ Failure where /rule error/), 'alternation and conjunction (|&) - parse error'; | |
| 948 | ok eval(q{{ 'a|&b' ~~ /a|&b/ }}) ~~ Failure where /rule error/, 'alternation and conjunction (|&) - parse error'; | |
| 946 | 949 | |
| 947 | 950 | #### |d|b abc y leading alternation ignored |
| 948 | 951 | ok 'abc' ~~ /|d|b/, 'leading alternation ignored'; |
| ... | ...@@ -959,55 +962,55 @@ | |
| 959 | 962 | #### b | | d abc n null pattern invalid |
| 960 | 963 | #?pugs todo 'feature' |
| 961 | 964 | #?rakudo skip 'quoting' |
| 962 | ok eval(q{{ 'abc' !~~ / b | | d/ }}) ~~ Failure where /reserved/), 'null pattern invalid'; | |
| 965 | ok eval(q{{ 'abc' !~~ / b | | d/ }}) ~~ Failure where /reserved/, 'null pattern invalid'; | |
| 963 | 966 | |
| 964 | 967 | #### \pabc pabc /reserved/ retired metachars (\p) |
| 965 | 968 | #?rakudo skip 'quoting' |
| 966 | ok eval(q{{ 'pabc' ~~ /\pabc/ }}) ~~ Failure where /reserved/), 'retired metachars (\p)'; | |
| 969 | ok eval(q{{ 'pabc' ~~ /\pabc/ }}) ~~ Failure where /reserved/, 'retired metachars (\p)'; | |
| 967 | 970 | |
| 968 | 971 | #### \p{InConsonant} a /reserved/ retired metachars (\p) |
| 969 | 972 | #?rakudo skip 'quoting' |
| 970 | ok eval(q{{ 'a' ~~ /\p{InConsonant}/ }}) ~~ Failure where /reserved/), 'retired metachars (\p)'; | |
| 973 | ok eval(q{{ 'a' ~~ /\p{InConsonant}/ }}) ~~ Failure where /reserved/, 'retired metachars (\p)'; | |
| 971 | 974 | |
| 972 | 975 | #### \Pabc Pabc /reserved/ retired metachars (\P) |
| 973 | 976 | #?rakudo skip 'quoting' |
| 974 | ok eval(q{{ 'Pabc' ~~ /\Pabc/ }}) ~~ Failure where /reserved/), 'retired metachars (\P)'; | |
| 977 | ok eval(q{{ 'Pabc' ~~ /\Pabc/ }}) ~~ Failure where /reserved/, 'retired metachars (\P)'; | |
| 975 | 978 | |
| 976 | 979 | #### \P{InConsonant} a /reserved/ retired metachars (\P) |
| 977 | 980 | #?rakudo skip 'quoting' |
| 978 | ok eval(q{{ 'a' ~~ /\P{InConsonant}/ }}) ~~ Failure where /reserved/), 'retired metachars (\P)'; | |
| 981 | ok eval(q{{ 'a' ~~ /\P{InConsonant}/ }}) ~~ Failure where /reserved/, 'retired metachars (\P)'; | |
| 979 | 982 | |
| 980 | 983 | #### \Labc\E LabcE /reserved/ retired metachars (\L...\E) |
| 981 | 984 | #?rakudo skip 'quoting' |
| 982 | ok eval(q{{ 'LabcE' ~~ /\Labc\E/ }}) ~~ Failure where /reserved/), 'retired metachars (\L...\E)'; | |
| 985 | ok eval(q{{ 'LabcE' ~~ /\Labc\E/ }}) ~~ Failure where /reserved/, 'retired metachars (\L...\E)'; | |
| 983 | 986 | |
| 984 | 987 | #### \LABC\E abc /reserved/ retired metachars (\L...\E) |
| 985 | 988 | #?rakudo skip 'quoting' |
| 986 | ok eval(q{{ 'abc' ~~ /\LABC\E/ }}) ~~ Failure where /reserved/), 'retired metachars (\L...\E)'; | |
| 989 | ok eval(q{{ 'abc' ~~ /\LABC\E/ }}) ~~ Failure where /reserved/, 'retired metachars (\L...\E)'; | |
| 987 | 990 | |
| 988 | 991 | #### \Uabc\E UabcE /reserved/ retired metachars (\U...\E) |
| 989 | 992 | #?rakudo skip 'quoting' |
| 990 | ok eval(q{{ 'UabcE' ~~ /\Uabc\E/ }}) ~~ Failure where /reserved/), 'retired metachars (\U...\E)'; | |
| 993 | ok eval(q{{ 'UabcE' ~~ /\Uabc\E/ }}) ~~ Failure where /reserved/, 'retired metachars (\U...\E)'; | |
| 991 | 994 | |
| 992 | 995 | #### \Uabc\E ABC /reserved/ retired metachars (\U...\E) |
| 993 | 996 | #?rakudo skip 'quoting' |
| 994 | ok eval(q{{ 'ABC' ~~ /\Uabc\E/ }}) ~~ Failure where /reserved/), 'retired metachars (\U...\E)'; | |
| 997 | ok eval(q{{ 'ABC' ~~ /\Uabc\E/ }}) ~~ Failure where /reserved/, 'retired metachars (\U...\E)'; | |
| 995 | 998 | |
| 996 | 999 | #### \Qabc\E QabcE /reserved/ retired metachars (\Q...\E) |
| 997 | 1000 | #?rakudo skip 'quoting' |
| 998 | ok eval(q{{ 'QabcE' ~~ /\Qabc\E/ }}) ~~ Failure where /reserved/), 'retired metachars (\Q...\E)'; | |
| 1001 | ok eval(q{{ 'QabcE' ~~ /\Qabc\E/ }}) ~~ Failure where /reserved/, 'retired metachars (\Q...\E)'; | |
| 999 | 1002 | |
| 1000 | 1003 | #### \Qabc d?\E abc d /reserved/ retired metachars (\Q...\E) |
| 1001 | 1004 | #?rakudo skip 'quoting' |
| 1002 | ok eval(q{{ 'abc d' ~~ /\Qabc d?\E/ }}) ~~ Failure where /reserved/), 'retired metachars (\Q...\E)'; | |
| 1005 | ok eval(q{{ 'abc d' ~~ /\Qabc d?\E/ }}) ~~ Failure where /reserved/, 'retired metachars (\Q...\E)'; | |
| 1003 | 1006 | |
| 1004 | 1007 | #### \Gabc Gabc /reserved/ retired metachars (\G) |
| 1005 | 1008 | #?rakudo skip 'quoting' |
| 1006 | ok eval(q{{ 'Gabc' ~~ /\Gabc/ }}) ~~ Failure where /reserved/), 'retired metachars (\G)'; | |
| 1009 | ok eval(q{{ 'Gabc' ~~ /\Gabc/ }}) ~~ Failure where /reserved/, 'retired metachars (\G)'; | |
| 1007 | 1010 | |
| 1008 | 1011 | #### \1abc 1abc /reserved/ retired metachars (\1) |
| 1009 | 1012 | #?rakudo skip 'quoting' |
| 1010 | ok eval(q{{ '1abc' ~~ /\1abc/ }}) ~~ Failure where /reserved/), 'retired metachars (\1)'; | |
| 1013 | ok eval(q{{ '1abc' ~~ /\1abc/ }}) ~~ Failure where /reserved/, 'retired metachars (\1)'; | |
| 1011 | 1014 | |
| 1012 | 1015 | #### ^ \s+ $ \x0009\x0020\x00a0\x000a\x000b\x000c\x000d\x0085 y 0-255 whitespace (\s) |
| 1013 | 1016 | #?pugs todo 'feature' |
| ... | ...@@ -2599,102 +2602,102 @@ | |
| 2599 | 2602 | |
| 2600 | 2603 | #### {{ abcdef /Missing closing braces/ unterminated closure |
| 2601 | 2604 | #?rakudo skip 'quoting' |
| 2602 | ok eval(q[ 'abcdef' ~~ /{{/ ]) ~~ Failure where /Missing closing braces/), 'unterminated closure'; | |
| 2605 | ok eval(q[ 'abcdef' ~~ /{{/ ]) ~~ Failure where /Missing closing braces/, 'unterminated closure'; | |
| 2603 | 2606 | |
| 2604 | 2607 | #### \1 abcdef /reserved/ back references |
| 2605 | 2608 | #?rakudo skip 'quoting' |
| 2606 | ok eval(q{{ 'abcdef' ~~ /\1/ }}) ~~ Failure where /reserved/), 'back references'; | |
| 2609 | ok eval(q{{ 'abcdef' ~~ /\1/ }}) ~~ Failure where /reserved/, 'back references'; | |
| 2607 | 2610 | |
| 2608 | 2611 | #### \x[ abcdef /Missing close bracket/ unterminated \x[..] |
| 2609 | 2612 | #?rakudo skip 'quoting' |
| 2610 | ok eval(q{{ 'abcdef' ~~ /\x[/ }}) ~~ Failure where /Missing close bracket/), 'unterminated \x[..]'; | |
| 2613 | ok eval(q{{ 'abcdef' ~~ /\x[/ }}) ~~ Failure where /Missing close bracket/, 'unterminated \x[..]'; | |
| 2611 | 2614 | |
| 2612 | 2615 | #### \X[ abcdef /Missing close bracket/ unterminated \X[..] |
| 2613 | 2616 | #?rakudo skip 'quoting' |
| 2614 | ok eval(q{{ 'abcdef' ~~ /\X[/ }}) ~~ Failure where /Missing close bracket/), 'unterminated \X[..]'; | |
| 2617 | ok eval(q{{ 'abcdef' ~~ /\X[/ }}) ~~ Failure where /Missing close bracket/, 'unterminated \X[..]'; | |
| 2615 | 2618 | |
| 2616 | 2619 | |
| 2617 | 2620 | #### * abc abcdef /Quantifier follows nothing/ bare * at start |
| 2618 | 2621 | #?rakudo skip 'quoting' |
| 2619 | ok eval(q{{ 'abcdef' ~~ /* abc/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare * at start'; | |
| 2622 | ok eval(q{{ 'abcdef' ~~ /* abc/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare * at start'; | |
| 2620 | 2623 | |
| 2621 | 2624 | #### * abc abcdef /Quantifier follows nothing/ bare * after ws |
| 2622 | 2625 | #?rakudo skip 'quoting' |
| 2623 | ok eval(q{{ 'abcdef' ~~ / * abc/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare * after ws'; | |
| 2626 | ok eval(q{{ 'abcdef' ~~ / * abc/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare * after ws'; | |
| 2624 | 2627 | |
| 2625 | 2628 | #### [*|a] abcdef /Quantifier follows nothing/ bare * after [ |
| 2626 | 2629 | #?rakudo skip 'quoting' |
| 2627 | ok eval(q{{ 'abcdef' ~~ /[*|a]/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare * after ['; | |
| 2630 | ok eval(q{{ 'abcdef' ~~ /[*|a]/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare * after ['; | |
| 2628 | 2631 | |
| 2629 | 2632 | #### [ *|a] abcdef /Quantifier follows nothing/ bare * after [+sp |
| 2630 | 2633 | #?rakudo skip 'quoting' |
| 2631 | ok eval(q{{ 'abcdef' ~~ /[ *|a]/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare * after [+sp'; | |
| 2634 | ok eval(q{{ 'abcdef' ~~ /[ *|a]/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare * after [+sp'; | |
| 2632 | 2635 | |
| 2633 | 2636 | #### [a|*] abcdef /Quantifier follows nothing/ bare * after | |
| 2634 | 2637 | #?rakudo skip 'quoting' |
| 2635 | ok eval(q{{ 'abcdef' ~~ /[a|*]/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare * after |'; | |
| 2638 | ok eval(q{{ 'abcdef' ~~ /[a|*]/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare * after |'; | |
| 2636 | 2639 | |
| 2637 | 2640 | #### [a| *] abcdef /Quantifier follows nothing/ bare * after |+sp |
| 2638 | 2641 | #?rakudo skip 'quoting' |
| 2639 | ok eval(q{{ 'abcdef' ~~ /[a| *]/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare * after |+sp'; | |
| 2642 | ok eval(q{{ 'abcdef' ~~ /[a| *]/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare * after |+sp'; | |
| 2640 | 2643 | |
| 2641 | 2644 | |
| 2642 | 2645 | #### + abc abcdef /Quantifier follows nothing/ bare + at start |
| 2643 | 2646 | #?rakudo skip 'quoting' |
| 2644 | ok eval(q{{ 'abcdef' ~~ /+ abc/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare + at start'; | |
| 2647 | ok eval(q{{ 'abcdef' ~~ /+ abc/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare + at start'; | |
| 2645 | 2648 | |
| 2646 | 2649 | #### + abc abcdef /Quantifier follows nothing/ bare + after ws |
| 2647 | 2650 | #?rakudo skip 'quoting' |
| 2648 | ok eval(q{{ 'abcdef' ~~ / + abc/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare + after ws'; | |
| 2651 | ok eval(q{{ 'abcdef' ~~ / + abc/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare + after ws'; | |
| 2649 | 2652 | |
| 2650 | 2653 | #### [+|a] abcdef /Quantifier follows nothing/ bare + after [ |
| 2651 | 2654 | #?rakudo skip 'quoting' |
| 2652 | ok eval(q{{ 'abcdef' ~~ /[+|a]/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare + after ['; | |
| 2655 | ok eval(q{{ 'abcdef' ~~ /[+|a]/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare + after ['; | |
| 2653 | 2656 | |
| 2654 | 2657 | #### [ +|a] abcdef /Quantifier follows nothing/ bare + after [+sp |
| 2655 | 2658 | #?rakudo skip 'quoting' |
| 2656 | ok eval(q{{ 'abcdef' ~~ /[ +|a]/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare + after [+sp'; | |
| 2659 | ok eval(q{{ 'abcdef' ~~ /[ +|a]/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare + after [+sp'; | |
| 2657 | 2660 | |
| 2658 | 2661 | #### [a|+] abcdef /Quantifier follows nothing/ bare + after | |
| 2659 | 2662 | #?rakudo skip 'quoting' |
| 2660 | ok eval(q{{ 'abcdef' ~~ /[a|+]/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare + after |'; | |
| 2663 | ok eval(q{{ 'abcdef' ~~ /[a|+]/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare + after |'; | |
| 2661 | 2664 | |
| 2662 | 2665 | #### [a| +] abcdef /Quantifier follows nothing/ bare + after |+sp |
| 2663 | 2666 | #?rakudo skip 'quoting' |
| 2664 | ok eval(q{{ 'abcdef' ~~ /[a| +]/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare + after |+sp'; | |
| 2667 | ok eval(q{{ 'abcdef' ~~ /[a| +]/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare + after |+sp'; | |
| 2665 | 2668 | |
| 2666 | 2669 | |
| 2667 | 2670 | #### ? abc abcdef /Quantifier follows nothing/ bare ? at start |
| 2668 | 2671 | #?rakudo skip 'quoting' |
| 2669 | ok eval(q{{ 'abcdef' ~~ /? abc/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare ? at start'; | |
| 2672 | ok eval(q{{ 'abcdef' ~~ /? abc/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare ? at start'; | |
| 2670 | 2673 | |
| 2671 | 2674 | #### ? abc abcdef /Quantifier follows nothing/ bare ? after ws |
| 2672 | 2675 | #?rakudo skip 'quoting' |
| 2673 | ok eval(q{{ 'abcdef' ~~ / ? abc/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare ? after ws'; | |
| 2676 | ok eval(q{{ 'abcdef' ~~ / ? abc/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare ? after ws'; | |
| 2674 | 2677 | |
| 2675 | 2678 | #### [?|a] abcdef /Quantifier follows nothing/ bare ? after [ |
| 2676 | 2679 | #?rakudo skip 'quoting' |
| 2677 | ok eval(q{{ 'abcdef' ~~ /[?|a]/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare ? after ['; | |
| 2680 | ok eval(q{{ 'abcdef' ~~ /[?|a]/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare ? after ['; | |
| 2678 | 2681 | |
| 2679 | 2682 | #### [ ?|a] abcdef /Quantifier follows nothing/ bare ? after [+sp |
| 2680 | 2683 | #?rakudo skip 'quoting' |
| 2681 | ok eval(q{{ 'abcdef' ~~ /[ ?|a]/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare ? after [+sp'; | |
| 2684 | ok eval(q{{ 'abcdef' ~~ /[ ?|a]/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare ? after [+sp'; | |
| 2682 | 2685 | |
| 2683 | 2686 | #### [a|?] abcdef /Quantifier follows nothing/ bare ? after | |
| 2684 | 2687 | #?rakudo skip 'quoting' |
| 2685 | ok eval(q{{ 'abcdef' ~~ /[a|?]/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare ? after |'; | |
| 2688 | ok eval(q{{ 'abcdef' ~~ /[a|?]/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare ? after |'; | |
| 2686 | 2689 | |
| 2687 | 2690 | #### [a| ?] abcdef /Quantifier follows nothing/ bare ? after |+sp |
| 2688 | 2691 | #?rakudo skip 'quoting' |
| 2689 | ok eval(q{{ 'abcdef' ~~ /[a| ?]/ }}) ~~ Failure where /Quantifier follows nothing/), 'bare ? after |+sp'; | |
| 2692 | ok eval(q{{ 'abcdef' ~~ /[a| ?]/ }}) ~~ Failure where /Quantifier follows nothing/, 'bare ? after |+sp'; | |
| 2690 | 2693 | |
| 2691 | 2694 | |
| 2692 | 2695 | #### abcdef /Null pattern illegal/ null pattern |
| 2693 | 2696 | #?rakudo skip 'quoting' |
| 2694 | ok eval(q{{ 'abcdef' ~~ // }}) ~~ Failure where /null pattern/), ''; | |
| 2697 | ok eval(q{{ 'abcdef' ~~ // }}) ~~ Failure where /null pattern/, ''; | |
| 2695 | 2698 | |
| 2696 | 2699 | #### abcdef /Null pattern illegal/ ws null pattern |
| 2697 | 2700 | #?rakudo skip 'quoting' |
| 2698 | ok eval(q{{ 'abcdef' ~~ / / }}) ~~ Failure where /Null pattern illegal/), 'ws null pattern'; | |
| 2701 | ok eval(q{{ 'abcdef' ~~ / / }}) ~~ Failure where /Null pattern illegal/, 'ws null pattern'; | |
| 2699 | 2702 | |
| 2700 | 2703 |