Do no -warn on \_, only on \alpha.
[p5sagit/p5-mst-13.2.git] / t / pragma / warn / regcomp
1   regcomp.c     AOK
2
3   Strange *+?{} on zero-length expression       [S_study_chunk]
4         /(?=a)?/
5
6   %.*s matches null string many times           [S_regpiece]
7         $a = "ABC123" ; $a =~ /(?=a)*/'
8
9   /%.127s/: Unrecognized escape \\%c passed through     [S_regatom] 
10         $x = '\m' ; /$x/
11
12   Character class [:%.*s:] unknown      [S_regpposixcc]
13
14   Character class syntax [. .] is reserved for future extensions [S_regpposixcc]
15
16   Character class syntax [= =] is reserved for future extensions [S_checkposixcc]
17
18   Character class syntax [%c %c] belongs inside character classes [S_checkposixcc] 
19   
20   /%.127s/: false [] range \"%*.*s\" in regexp [S_regclass]
21
22   /%.127s/: false [] range \"%*.*s\" in regexp [S_regclassutf8]
23
24   /%.127s/: Unrecognized escape \\%c in character class passed through" [S_regclass] 
25
26   /%.127s/: Unrecognized escape \\%c in character class passed through" [S_regclassutf8] 
27
28 __END__
29 # regcomp.c [S_regpiece]
30 use warnings 'regexp' ;
31 my $a = "ABC123" ; 
32 $a =~ /(?=a)*/ ;
33 no warnings 'regexp' ;
34 $a =~ /(?=a)*/ ;
35 EXPECT
36 (?=a)* matches null string many times at - line 4.
37 ########
38 # regcomp.c [S_study_chunk]
39 use warnings 'regexp' ;
40 $_ = "" ;
41 /(?=a)?/;
42 no warnings 'regexp' ;
43 /(?=a)?/;
44 EXPECT
45 Strange *+?{} on zero-length expression at - line 4.
46 ########
47 # regcomp.c [S_regatom]
48 $x = '\m' ;
49 $y = '\_' ;
50 use warnings 'regexp' ;
51 $a =~ /a$x/ ;
52 $b =~ /b$y/ ;
53 no warnings 'regexp' ;
54 $a =~ /a$x/ ;
55 $b =~ /b$y/ ;
56 EXPECT
57 /a\m/: Unrecognized escape \m passed through at - line 4.
58 ########
59 # regcomp.c [S_regpposixcc S_checkposixcc]
60 BEGIN { $ENV{PERL_DESTRUCT_LEVEL} = 0 unless $ENV{PERL_DESTRUCT_LEVEL} > 3 }
61 use warnings 'regexp' ;
62 $_ = "" ;
63 /[:alpha:]/;
64 /[.bar.]/;
65 /[=zog=]/;
66 /[[:alpha:]]/;
67 /[[.foo.]]/;
68 /[[=bar=]]/;
69 /[:zog:]/;
70 /[[:zog:]]/;
71 no warnings 'regexp' ;
72 /[:alpha:]/;
73 /[.foo.]/;
74 /[=bar=]/;
75 /[[:alpha:]]/;
76 /[[.foo.]]/;
77 /[[=bar=]]/;
78 /[[:zog:]]/;
79 /[:zog:]/;
80 EXPECT
81 Character class syntax [: :] belongs inside character classes at - line 5.
82 Character class syntax [. .] belongs inside character classes at - line 6.
83 Character class syntax [. .] is reserved for future extensions at - line 6.
84 Character class syntax [= =] belongs inside character classes at - line 7.
85 Character class syntax [= =] is reserved for future extensions at - line 7.
86 Character class syntax [. .] is reserved for future extensions at - line 9.
87 Character class syntax [= =] is reserved for future extensions at - line 10.
88 Character class syntax [: :] belongs inside character classes at - line 11.
89 Character class [:zog:] unknown at - line 12.
90 ########
91 # regcomp.c [S_regclass]
92 $_ = "";
93 use warnings 'regexp' ;
94 /[a-b]/;
95 /[a-\d]/;
96 /[\d-b]/;
97 /[\s-\d]/;
98 /[\d-\s]/;
99 /[a-[:digit:]]/;
100 /[[:digit:]-b]/;
101 /[[:alpha:]-[:digit:]]/;
102 /[[:digit:]-[:alpha:]]/;
103 no warnings 'regexp' ;
104 /[a-b]/;
105 /[a-\d]/;
106 /[\d-b]/;
107 /[\s-\d]/;
108 /[\d-\s]/;
109 /[a-[:digit:]]/;
110 /[[:digit:]-b]/;
111 /[[:alpha:]-[:digit:]]/;
112 /[[:digit:]-[:alpha:]]/;
113 EXPECT
114 /[a-\d]/: false [] range "a-\d" in regexp at - line 5.
115 /[\d-b]/: false [] range "\d-" in regexp at - line 6.
116 /[\s-\d]/: false [] range "\s-" in regexp at - line 7.
117 /[\d-\s]/: false [] range "\d-" in regexp at - line 8.
118 /[a-[:digit:]]/: false [] range "a-[:digit:]" in regexp at - line 9.
119 /[[:digit:]-b]/: false [] range "[:digit:]-" in regexp at - line 10.
120 /[[:alpha:]-[:digit:]]/: false [] range "[:alpha:]-" in regexp at - line 11.
121 /[[:digit:]-[:alpha:]]/: false [] range "[:digit:]-" in regexp at - line 12.
122 ########
123 # regcomp.c [S_regclassutf8]
124 BEGIN {
125     if (ord("\t") == 5) {
126         print "SKIPPED\n# ebcdic regular expression ranges differ.";
127         exit 0;
128     }
129 }
130 use utf8;
131 $_ = "";
132 use warnings 'regexp' ;
133 /[a-b]/;
134 /[a-\d]/;
135 /[\d-b]/;
136 /[\s-\d]/;
137 /[\d-\s]/;
138 /[a-[:digit:]]/;
139 /[[:digit:]-b]/;
140 /[[:alpha:]-[:digit:]]/;
141 /[[:digit:]-[:alpha:]]/;
142 no warnings 'regexp' ;
143 /[a-b]/;
144 /[a-\d]/;
145 /[\d-b]/;
146 /[\s-\d]/;
147 /[\d-\s]/;
148 /[a-[:digit:]]/;
149 /[[:digit:]-b]/;
150 /[[:alpha:]-[:digit:]]/;
151 /[[:digit:]-[:alpha:]]/;
152 EXPECT
153 /[a-\d]/: false [] range "a-\d" in regexp at - line 12.
154 /[\d-b]/: false [] range "\d-" in regexp at - line 13.
155 /[\s-\d]/: false [] range "\s-" in regexp at - line 14.
156 /[\d-\s]/: false [] range "\d-" in regexp at - line 15.
157 /[a-[:digit:]]/: false [] range "a-[:digit:]" in regexp at - line 16.
158 /[[:digit:]-b]/: false [] range "[:digit:]-" in regexp at - line 17.
159 /[[:alpha:]-[:digit:]]/: false [] range "[:alpha:]-" in regexp at - line 18.
160 /[[:digit:]-[:alpha:]]/: false [] range "[:digit:]-" in regexp at - line 19.
161 ########
162 # regcomp.c [S_regclass S_regclassutf8]
163 use warnings 'regexp' ;
164 $a =~ /[a\zb]/ ;
165 $b =~ /[a\_b]/ ;
166 no warnings 'regexp' ;
167 $a =~ /[a\zb]/ ;
168 $b =~ /[a\_b]/ ;
169 EXPECT
170 /[a\zb]/: Unrecognized escape \z in character class passed through at - line 3.