/[pcre]/code/trunk/testdata/testinput14
ViewVC logotype

Contents of /code/trunk/testdata/testinput14

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1388 - (show annotations)
Tue Nov 5 15:24:45 2013 UTC (6 years ago) by ph10
File size: 12566 byte(s)
Add a simple tripwire to pcretest to lock out certain modifiers.
1 /-- This set of tests is run only with the 8-bit library. They do not require
2 UTF-8 or Unicode property support. The file starts with all the tests of
3 the POSIX interface, because that is supported only with the 8-bit library.
4 --/
5
6 < forbid 8W
7
8 /abc/P
9 abc
10 *** Failers
11
12 /^abc|def/P
13 abcdef
14 abcdef\B
15
16 /.*((abc)$|(def))/P
17 defabc
18 \Zdefabc
19
20 /the quick brown fox/P
21 the quick brown fox
22 *** Failers
23 The Quick Brown Fox
24
25 /the quick brown fox/Pi
26 the quick brown fox
27 The Quick Brown Fox
28
29 /abc.def/P
30 *** Failers
31 abc\ndef
32
33 /abc$/P
34 abc
35 abc\n
36
37 /(abc)\2/P
38
39 /(abc\1)/P
40 abc
41
42 /a*(b+)(z)(z)/P
43 aaaabbbbzzzz
44 aaaabbbbzzzz\O0
45 aaaabbbbzzzz\O1
46 aaaabbbbzzzz\O2
47 aaaabbbbzzzz\O3
48 aaaabbbbzzzz\O4
49 aaaabbbbzzzz\O5
50
51 /ab.cd/P
52 ab-cd
53 ab=cd
54 ** Failers
55 ab\ncd
56
57 /ab.cd/Ps
58 ab-cd
59 ab=cd
60 ab\ncd
61
62 /a(b)c/PN
63 abc
64
65 /a(?P<name>b)c/PN
66 abc
67
68 /a?|b?/P
69 abc
70 ** Failers
71 ddd\N
72
73 /\w+A/P
74 CDAAAAB
75
76 /\w+A/PU
77 CDAAAAB
78
79 /\Biss\B/I+P
80 Mississippi
81
82 /abc/\P
83
84 /-- End of POSIX tests --/
85
86 /a\Cb/
87 aXb
88 a\nb
89 ** Failers (too big char)
90 A\x{123}B
91 A\o{443}B
92
93 /\x{100}/I
94
95 /\o{400}/I
96
97 / (?: [\040\t] | \(
98 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
99 \) )* # optional leading comment
100 (?: (?:
101 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
102 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
103 |
104 " (?: # opening quote...
105 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
106 | # or
107 \\ [^\x80-\xff] # Escaped something (something != CR)
108 )* " # closing quote
109 ) # initial word
110 (?: (?: [\040\t] | \(
111 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
112 \) )* \. (?: [\040\t] | \(
113 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
114 \) )* (?:
115 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
116 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
117 |
118 " (?: # opening quote...
119 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
120 | # or
121 \\ [^\x80-\xff] # Escaped something (something != CR)
122 )* " # closing quote
123 ) )* # further okay, if led by a period
124 (?: [\040\t] | \(
125 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
126 \) )* @ (?: [\040\t] | \(
127 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
128 \) )* (?:
129 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
130 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
131 | \[ # [
132 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
133 \] # ]
134 ) # initial subdomain
135 (?: #
136 (?: [\040\t] | \(
137 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
138 \) )* \. # if led by a period...
139 (?: [\040\t] | \(
140 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
141 \) )* (?:
142 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
143 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
144 | \[ # [
145 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
146 \] # ]
147 ) # ...further okay
148 )*
149 # address
150 | # or
151 (?:
152 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
153 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
154 |
155 " (?: # opening quote...
156 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
157 | # or
158 \\ [^\x80-\xff] # Escaped something (something != CR)
159 )* " # closing quote
160 ) # one word, optionally followed by....
161 (?:
162 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
163 \(
164 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
165 \) | # comments, or...
166
167 " (?: # opening quote...
168 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
169 | # or
170 \\ [^\x80-\xff] # Escaped something (something != CR)
171 )* " # closing quote
172 # quoted strings
173 )*
174 < (?: [\040\t] | \(
175 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
176 \) )* # leading <
177 (?: @ (?: [\040\t] | \(
178 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
179 \) )* (?:
180 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
181 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
182 | \[ # [
183 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
184 \] # ]
185 ) # initial subdomain
186 (?: #
187 (?: [\040\t] | \(
188 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
189 \) )* \. # if led by a period...
190 (?: [\040\t] | \(
191 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
192 \) )* (?:
193 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
194 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
195 | \[ # [
196 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
197 \] # ]
198 ) # ...further okay
199 )*
200
201 (?: (?: [\040\t] | \(
202 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
203 \) )* , (?: [\040\t] | \(
204 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
205 \) )* @ (?: [\040\t] | \(
206 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
207 \) )* (?:
208 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
209 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
210 | \[ # [
211 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
212 \] # ]
213 ) # initial subdomain
214 (?: #
215 (?: [\040\t] | \(
216 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
217 \) )* \. # if led by a period...
218 (?: [\040\t] | \(
219 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
220 \) )* (?:
221 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
222 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
223 | \[ # [
224 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
225 \] # ]
226 ) # ...further okay
227 )*
228 )* # further okay, if led by comma
229 : # closing colon
230 (?: [\040\t] | \(
231 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
232 \) )* )? # optional route
233 (?:
234 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
235 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
236 |
237 " (?: # opening quote...
238 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
239 | # or
240 \\ [^\x80-\xff] # Escaped something (something != CR)
241 )* " # closing quote
242 ) # initial word
243 (?: (?: [\040\t] | \(
244 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
245 \) )* \. (?: [\040\t] | \(
246 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
247 \) )* (?:
248 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
249 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
250 |
251 " (?: # opening quote...
252 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
253 | # or
254 \\ [^\x80-\xff] # Escaped something (something != CR)
255 )* " # closing quote
256 ) )* # further okay, if led by a period
257 (?: [\040\t] | \(
258 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
259 \) )* @ (?: [\040\t] | \(
260 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
261 \) )* (?:
262 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
263 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
264 | \[ # [
265 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
266 \] # ]
267 ) # initial subdomain
268 (?: #
269 (?: [\040\t] | \(
270 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
271 \) )* \. # if led by a period...
272 (?: [\040\t] | \(
273 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
274 \) )* (?:
275 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
276 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
277 | \[ # [
278 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
279 \] # ]
280 ) # ...further okay
281 )*
282 # address spec
283 (?: [\040\t] | \(
284 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
285 \) )* > # trailing >
286 # name and address
287 ) (?: [\040\t] | \(
288 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
289 \) )* # optional trailing comment
290 /xSI
291
292 /-- Although this saved pattern was compiled with link-size=2, it does no harm
293 to run this test with other link sizes because it is going to generated a
294 "compiled in wrong mode" error as soon as it is loaded, so the link size does
295 not matter. --/
296
297 <!testsaved16
298
299 <!testsaved32
300
301 /\h/SI
302
303 /\H/SI
304
305 /\v/SI
306
307 /\V/SI
308
309 /\R/SI
310
311 /[\h]/BZ
312 >\x09<
313
314 /[\h]+/BZ
315 >\x09\x20\xa0<
316
317 /[\v]/BZ
318
319 /[\H]/BZ
320
321 /[^\h]/BZ
322
323 /[\V]/BZ
324
325 /[\x0a\V]/BZ
326
327 /\777/I
328
329 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/K
330 XX
331
332 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/K
333 XX
334
335 /\u0100/<JS>
336
337 /[\u0100-\u0200]/<JS>
338
339 /[^\x00-a]{12,}[^b-\xff]*/BZ
340
341 /[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/BZ
342
343 /-- End of testinput14 --/

  ViewVC Help
Powered by ViewVC 1.1.5