new upstream release (3.3.0); modify package compatibility for Stretch
[ossec-hids.git] / src / external / pcre2-10.32 / testdata / testinput24
1 # This file tests the auxiliary pattern conversion features of the PCRE2
2 # library, in non-UTF mode.
3
4 #forbid_utf
5 #newline_default lf any anycrlf
6
7 # -------- Tests of glob conversion --------
8
9 # Set the glob separator explicitly so that different OS defaults are not a
10 # problem. Then test various errors.
11
12 #pattern convert=glob,convert_glob_escape=\,convert_glob_separator=/
13
14 /abc/posix
15
16 # Separator must be / \ or .
17
18 /a*b/convert_glob_separator=%
19
20 # Can't have separator in a class
21
22 "[ab/cd]"
23
24 "[,-/]"
25
26 /[ab/
27
28 # Length check
29
30 /abc/convert_length=11
31
32 /abc/convert_length=12
33
34 # Now some actual tests
35
36 /a?b[]xy]*c/
37     azb]1234c
38
39 # Tests from the gitwildmatch list, with some additions
40
41 /foo/
42     foo
43 /= Expect no match
44     bar
45
46 //
47     \
48
49 /???/
50     foo
51 \= Expect no match
52     foobar
53
54 /*/
55     foo
56     \
57
58 /f*/
59     foo
60     f
61
62 /*f/
63     oof
64 \= Expect no match
65     foo
66
67 /*foo*/
68     foo
69     food
70     aprilfool
71
72 /*ob*a*r*/
73     foobar
74
75 /*ab/
76     aaaaaaabababab
77
78 /foo\*/
79     foo*
80
81 /foo\*bar/
82 \= Expect no match
83     foobar
84
85 /f\\oo/
86     f\\oo
87
88 /*[al]?/
89     ball
90
91 /[ten]/
92 \= Expect no match
93     ten
94
95 /t[a-g]n/
96     ten
97
98 /a[]]b/
99     a]b
100
101 /a[]a-]b/
102
103 /a[]-]b/
104     a-b
105     a]b
106 \= Expect no match
107     aab
108
109 /a[]a-z]b/
110     aab
111
112 /]/
113     ]
114
115 /t[!a-g]n/
116     ton
117 \= Expect no match
118     ten
119
120 '[[:alpha:]][[:digit:]][[:upper:]]'
121     a1B
122
123 '[[:digit:][:upper:][:space:]]'
124     A
125     1
126     \ \=
127 \= Expect no match
128     a
129     .
130
131 '[a-c[:digit:]x-z]'
132     5
133     b
134     y
135 \= Expect no match
136     q
137
138 # End of gitwildmatch tests
139
140 /*.j?g/
141     pic01.jpg
142     .jpg
143     pic02.jxg
144 \= Expect no match
145     pic03.j/g
146
147 /A[+-0]B/
148     A+B
149     A.B
150     A0B
151 \= Expect no match
152     A/B
153
154 /*x?z/
155     abc.xyz
156 \= Expect no match
157     .xyz
158
159 /?x?z/
160     axyz
161 \= Expect no match
162     .xyz
163
164 "[,-0]x?z"
165     ,xyz
166 \= Expect no match
167     /xyz
168     .xyz
169
170 ".x*"
171     .xabc
172
173 /a[--0]z/
174     a-z
175     a.z
176     a0z
177 \= Expect no match
178     a/z
179     a1z
180
181 /<[a-c-d]>/
182     <a>
183     <b>
184     <c>
185     <d>
186     <->
187
188 /a[[:digit:].]z/
189     a1z
190     a.z
191 \= Expect no match
192     a:z
193
194 /a[[:digit].]z/
195     a[.]z
196     a:.]z
197     ad.]z
198
199 /<[[:a[:digit:]b]>/
200     <[>
201     <:>
202     <a>
203     <9>
204     <b>
205 \= Expect no match
206     <d>
207
208 /a*b/convert_glob_separator=\
209
210 /a*b/convert_glob_separator=.
211
212 /a*b/convert_glob_separator=/
213
214 # Non control character checking
215
216 /A\B\\C\D/
217
218 /\\{}\?\*+\[\]()|.^$/
219
220 /*a*\/*b*/
221
222 /?a?\/?b?/
223
224 /[a\\b\c][]][-][\]\-]/
225
226 /[^a\\b\c][!]][!-][^\]\-]/
227
228 /[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:word:][:xdigit:]]/
229
230 "[/-/]"
231
232 /[-----]/
233
234 /[------]/
235
236 /[!------]/
237
238 /[[:alpha:]-a]/
239
240 /[[:alpha:]][[:punct:]][[:ascii:]]/
241
242 /[a-[:alpha:]]/
243
244 /[[:alpha:/
245
246 /[[:alpha:]/
247
248 /[[:alphaa:]]/
249
250 /[[:xdigi:]]/
251
252 /[[:xdigit::]]/
253
254 /****/
255
256 /**\/abc/
257   abc
258   x/abc
259   xabc
260
261 /abc\/**/
262
263 /abc\/**\/abc/
264
265 /**\/*a*b*g*n*t/
266   abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt
267
268 /**\/*a*\/**/
269   xx/xx/xx/xax/xx/xb
270
271 /**\/*a*/
272   xx/xx/xx/xax
273   xx/xx/xx/xax/xx
274
275 /**\/*a*\/**\/*b*/
276   xx/xx/xx/xax/xx/xb
277   xx/xx/xx/xax/xx/x
278
279 "**a"convert=glob
280   a
281   c/b/a
282   c/b/aaa
283
284 "a**/b"convert=glob
285   a/b
286   ab
287
288 "a/**b"convert=glob
289   a/b
290   ab
291
292 #pattern convert=glob:glob_no_starstar
293
294 /***/
295
296 /**a**/
297
298 #pattern convert=unset
299 #pattern convert=glob:glob_no_wild_separator
300
301 /*/
302
303 /*a*/
304
305 /**a**/
306
307 /a*b/
308
309 /*a*b*/
310
311 /??a??/
312
313 #pattern convert=unset
314 #pattern convert=glob,convert_glob_escape=0
315
316 /a\b\cd/
317
318 /**\/a/
319
320 /a`*b/convert_glob_escape=`
321
322 /a`*b/convert_glob_escape=0
323
324 /a`*b/convert_glob_escape=x
325
326 # -------- Tests of extended POSIX conversion --------
327
328 #pattern convert=unset:posix_extended
329
330 /<[[:a[:digit:]b]>/
331     <[>
332     <:>
333     <a>
334     <9>
335     <b>
336 \= Expect no match
337     <d>
338
339 /a+\1b\\c|d[ab\c]/
340
341 /<[]bc]>/
342     <]>
343     <b>
344     <c>
345
346 /<[^]bc]>/
347     <.>
348 \= Expect no match
349     <]>
350     <b>
351
352 /(a)\1b/
353     a1b
354 \= Expect no match
355     aab
356
357 /(ab)c)d]/
358     Xabc)d]Y
359
360 /a***b/
361
362 # -------- Tests of basic POSIX conversion --------
363
364 #pattern convert=unset:posix_basic
365
366 /a*b+c\+[def](ab)\(cd\)/
367
368 /\(a\)\1b/
369     aab
370 \= Expect no match
371     a1b
372
373 /how.to how\.to/
374     how\nto how.to
375 \= Expect no match     
376     how\x{0}to how.to
377
378 /^how to \^how to/
379
380 /^*abc/
381
382 /*abc/
383     X*abcY
384
385 /**abc/
386     XabcY
387     X*abcY
388     X**abcY
389     
390 /*ab\(*cd\)/ 
391
392 /^b\(c^d\)\(^e^f\)/
393
394 /a***b/
395
396 # End of testinput24