This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
PATCH: [perl #126141]: qr/]]]]][\\/ fails to raise error
[perl5.git] / t / lib / warnings / regcomp
1   regcomp.c     These tests have been moved to t/re/reg_mesg.t
2                 except for those that explicitly test line numbers
3                 and those that don't have a <-- HERE in them, and those that die plus have warnings
4
5 __END__
6 use warnings 'regexp';
7 $r=qr/(??{ q"\\b+" })/;
8 "a" =~ /a$r/; # warning should come from this line
9 EXPECT
10 \b+ matches null string many times in regex; marked by <-- HERE in m/\b+ <-- HERE / at - line 3.
11 ########
12 # regcomp.c
13 use warnings 'digit' ;
14 my $a = qr/\o{1238456}\x{100}/;
15 my $a = qr/[\o{6548321}]\x{100}/;
16 no warnings 'digit' ;
17 my $a = qr/\o{1238456}\x{100}/;
18 my $a = qr/[\o{6548321}]\x{100}/;
19 EXPECT
20 Non-octal character '8'.  Resolved as "\o{123}" at - line 3.
21 Non-octal character '8'.  Resolved as "\o{654}" at - line 4.
22 ########
23 # regcomp.c
24 BEGIN {
25     if (ord('A') == 193) {
26         print "SKIPPED\n# Different results on EBCDIC";
27         exit 0;
28     }
29 }
30 use warnings;
31 $a = qr/\c,/;
32 $a = qr/[\c,]/;
33 no warnings 'syntax';
34 $a = qr/\c,/;
35 $a = qr/[\c,]/;
36 EXPECT
37 "\c," is more clearly written simply as "l" at - line 9.
38 "\c," is more clearly written simply as "l" at - line 10.
39 ########
40 # This is because currently a different error is output under
41 # use re 'strict', so can't go in reg_mesg.t
42 # NAME perl #126261, error message causes segfault
43 # OPTION fatal
44  qr/abc[\x{df}[.00./i
45 EXPECT
46 Unmatched [ in regex; marked by <-- HERE in m/abc[ <-- HERE \x{df}[.00./ at - line 4.
47 ########
48 # NAME perl #126261, with 'use utf8'
49 # OPTION fatal
50 use utf8;
51 no warnings 'utf8';
52 qr/abc[fi[.00./i;
53 EXPECT
54 Unmatched [ in regex; marked by <-- HERE in m/abc[ <-- HERE fi[.00./ at - line 4.
55 ########
56 # NAME perl qr/(?[[[:word]]])/ XXX Why is 'syntax' lc?
57 # OPTION fatal
58 qr/(?[[[:word]]])/;
59 EXPECT
60 Assuming NOT a POSIX class since there is no terminating ':' in regex; marked by <-- HERE in m/(?[[[:word <-- HERE ]]])/ at - line 2.
61 syntax error in (?[...]) in regex m/(?[[[:word]]])/ at - line 2.
62 ########
63 # NAME qr/(?[ [[:digit: ])/
64 # OPTION fatal
65 qr/(?[[[:digit: ])/;
66 EXPECT
67 Assuming NOT a POSIX class since no blanks are allowed in one in regex; marked by <-- HERE in m/(?[[[:digit: ] <-- HERE )/ at - line 2.
68 syntax error in (?[...]) in regex m/(?[[[:digit: ])/ at - line 2.
69 ########
70 # NAME qr/(?[ [:digit: ])/
71 # OPTION fatal
72 qr/(?[[:digit: ])/
73 EXPECT
74 Assuming NOT a POSIX class since no blanks are allowed in one in regex; marked by <-- HERE in m/(?[[:digit: ] <-- HERE )/ at - line 2.
75 syntax error in (?[...]) in regex m/(?[[:digit: ])/ at - line 2.
76 ########
77 # NAME [perl #126141]
78 # OPTION fatal
79 eval {/$_/}, print "$_ ==> ", $@ || "OK!\n" for "]]]]]]]]][\\", "]]]]][\\"
80 EXPECT
81 ]]]]]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]]]]]][\ <-- HERE / at - line 2.
82 ]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]][\ <-- HERE / at - line 2.