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

Contents of /code/trunk/testdata/testinput7

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1351 - (show annotations)
Sat Jul 27 11:18:33 2013 UTC (7 years, 8 months ago) by ph10
File size: 10518 byte(s)
Move a non-Perl compatible test out of the Perl-compatible file.
1 /-- These tests for Unicode property support test PCRE's API and show some of
2 the compiled code. They are not Perl-compatible. --/
3
4 /[\p{L}]/DZ
5
6 /[\p{^L}]/DZ
7
8 /[\P{L}]/DZ
9
10 /[\P{^L}]/DZ
11
12 /[abc\p{L}\x{0660}]/8DZ
13
14 /[\p{Nd}]/8DZ
15 1234
16
17 /[\p{Nd}+-]+/8DZ
18 1234
19 12-34
20 12+\x{661}-34
21 ** Failers
22 abcd
23
24 /[\x{105}-\x{109}]/8iDZ
25 \x{104}
26 \x{105}
27 \x{109}
28 ** Failers
29 \x{100}
30 \x{10a}
31
32 /[z-\x{100}]/8iDZ
33 Z
34 z
35 \x{39c}
36 \x{178}
37 |
38 \x{80}
39 \x{ff}
40 \x{100}
41 \x{101}
42 ** Failers
43 \x{102}
44 Y
45 y
46
47 /[z-\x{100}]/8DZi
48
49 /(?:[\PPa*]*){8,}/
50
51 /[\P{Any}]/BZ
52
53 /[\P{Any}\E]/BZ
54
55 /(\P{Yi}+\277)/
56
57 /(\P{Yi}+\277)?/
58
59 /(?<=\P{Yi}{3}A)X/
60
61 /\p{Yi}+(\P{Yi}+)(?1)/
62
63 /(\P{Yi}{2}\277)?/
64
65 /[\P{Yi}A]/
66
67 /[\P{Yi}\P{Yi}\P{Yi}A]/
68
69 /[^\P{Yi}A]/
70
71 /[^\P{Yi}\P{Yi}\P{Yi}A]/
72
73 /(\P{Yi}*\277)*/
74
75 /(\P{Yi}*?\277)*/
76
77 /(\p{Yi}*+\277)*/
78
79 /(\P{Yi}?\277)*/
80
81 /(\P{Yi}??\277)*/
82
83 /(\p{Yi}?+\277)*/
84
85 /(\P{Yi}{0,3}\277)*/
86
87 /(\P{Yi}{0,3}?\277)*/
88
89 /(\p{Yi}{0,3}+\277)*/
90
91 /\p{Zl}{2,3}+/8BZ
92 


93 \x{2028}\x{2028}\x{2028}
94
95 /\p{Zl}/8BZ
96
97 /\p{Lu}{3}+/8BZ
98
99 /\pL{2}+/8BZ
100
101 /\p{Cc}{2}+/8BZ
102
103 /^\p{Cs}/8
104 \?\x{dfff}
105 ** Failers
106 \x{09f}
107
108 /^\p{Sc}+/8
109 $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
110 \x{9f2}
111 ** Failers
112 X
113 \x{2c2}
114
115 /^\p{Zs}/8
116 \ \
117 \x{a0}
118 \x{1680}
119 \x{180e}
120 \x{2000}
121 \x{2001}
122 ** Failers
123 \x{2028}
124 \x{200d}
125
126 /-- These are here rather than in test 6 because Perl has problems with
127 the negative versions of the properties and behaves has changed how
128 it behaves for caseless matching. --/
129
130 /\p{^Lu}/8i
131 1234
132 ** Failers
133 ABC
134
135 /\P{Lu}/8i
136 1234
137 ** Failers
138 ABC
139
140 /\p{Ll}/8i
141 a
142 Az
143 ** Failers
144 ABC
145
146 /\p{Lu}/8i
147 A
148 a\x{10a0}B
149 ** Failers
150 a
151 \x{1d00}
152
153 /\p{Lu}/8i
154 A
155 aZ
156 ** Failers
157 abc
158
159 /[\x{c0}\x{391}]/8i
160 \x{c0}
161 \x{e0}
162
163 /-- The next two are special cases where the lengths of the different cases of
164 the same character differ. The first went wrong with heap frame storage; the
165 second was broken in all cases. --/
166
167 /^\x{023a}+?(\x{0130}+)/8i
168 \x{023a}\x{2c65}\x{0130}
169
170 /^\x{023a}+([^X])/8i
171 \x{023a}\x{2c65}X
172
173 /\x{c0}+\x{116}+/8i
174 \x{c0}\x{e0}\x{116}\x{117}
175
176 /[\x{c0}\x{116}]+/8i
177 \x{c0}\x{e0}\x{116}\x{117}
178
179 /(\x{de})\1/8i
180 \x{de}\x{de}
181 \x{de}\x{fe}
182 \x{fe}\x{fe}
183 \x{fe}\x{de}
184
185 /^\x{c0}$/8i
186 \x{c0}
187 \x{e0}
188
189 /^\x{e0}$/8i
190 \x{c0}
191 \x{e0}
192
193 /-- The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
194 will match it only with UCP support, because without that it has no notion
195 of case for anything other than the ASCII letters. --/
196
197 /((?i)[\x{c0}])/8
198 \x{c0}
199 \x{e0}
200
201 /(?i:[\x{c0}])/8
202 \x{c0}
203 \x{e0}
204
205 /-- These are PCRE's extra properties to help with Unicodizing \d etc. --/
206
207 /^\p{Xan}/8
208 ABCD
209 1234
210 \x{6ca}
211 \x{a6c}
212 \x{10a7}
213 ** Failers
214 _ABC
215
216 /^\p{Xan}+/8
217 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
218 ** Failers
219 _ABC
220
221 /^\p{Xan}+?/8
222 \x{6ca}\x{a6c}\x{10a7}_
223
224 /^\p{Xan}*/8
225 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
226
227 /^\p{Xan}{2,9}/8
228 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
229
230 /^\p{Xan}{2,9}?/8
231 \x{6ca}\x{a6c}\x{10a7}_
232
233 /^[\p{Xan}]/8
234 ABCD1234_
235 1234abcd_
236 \x{6ca}
237 \x{a6c}
238 \x{10a7}
239 ** Failers
240 _ABC
241
242 /^[\p{Xan}]+/8
243 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
244 ** Failers
245 _ABC
246
247 /^>\p{Xsp}/8
248 >\x{1680}\x{2028}\x{0b}
249 >\x{a0}
250 ** Failers
251 \x{0b}
252
253 /^>\p{Xsp}+/8
254 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
255
256 /^>\p{Xsp}+?/8
257 >\x{1680}\x{2028}\x{0b}
258
259 /^>\p{Xsp}*/8
260 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
261
262 /^>\p{Xsp}{2,9}/8
263 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
264
265 /^>\p{Xsp}{2,9}?/8
266 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
267
268 /^>[\p{Xsp}]/8
269 >\x{2028}\x{0b}
270
271 /^>[\p{Xsp}]+/8
272 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
273
274 /^>\p{Xps}/8
275 >\x{1680}\x{2028}\x{0b}
276 >\x{a0}
277 ** Failers
278 \x{0b}
279
280 /^>\p{Xps}+/8
281 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
282
283 /^>\p{Xps}+?/8
284 >\x{1680}\x{2028}\x{0b}
285
286 /^>\p{Xps}*/8
287 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
288
289 /^>\p{Xps}{2,9}/8
290 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
291
292 /^>\p{Xps}{2,9}?/8
293 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
294
295 /^>[\p{Xps}]/8
296 >\x{2028}\x{0b}
297
298 /^>[\p{Xps}]+/8
299 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
300
301 /^\p{Xwd}/8
302 ABCD
303 1234
304 \x{6ca}
305 \x{a6c}
306 \x{10a7}
307 _ABC
308 ** Failers
309 []
310
311 /^\p{Xwd}+/8
312 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
313
314 /^\p{Xwd}+?/8
315 \x{6ca}\x{a6c}\x{10a7}_
316
317 /^\p{Xwd}*/8
318 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
319
320 /^\p{Xwd}{2,9}/8
321 A_B12\x{6ca}\x{a6c}\x{10a7}
322
323 /^\p{Xwd}{2,9}?/8
324 \x{6ca}\x{a6c}\x{10a7}_
325
326 /^[\p{Xwd}]/8
327 ABCD1234_
328 1234abcd_
329 \x{6ca}
330 \x{a6c}
331 \x{10a7}
332 _ABC
333 ** Failers
334 []
335
336 /^[\p{Xwd}]+/8
337 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
338
339 /-- A check not in UTF-8 mode --/
340
341 /^[\p{Xwd}]+/
342 ABCD1234_
343
344 /-- Some negative checks --/
345
346 /^[\P{Xwd}]+/8
347 !.+\x{019}\x{35a}AB
348
349 /^[\p{^Xwd}]+/8
350 !.+\x{019}\x{35a}AB
351
352 /[\D]/WBZ8
353 1\x{3c8}2
354
355 /[\d]/WBZ8
356 >\x{6f4}<
357
358 /[\S]/WBZ8
359 \x{1680}\x{6f4}\x{1680}
360
361 /[\s]/WBZ8
362 >\x{1680}<
363
364 /[\W]/WBZ8
365 A\x{1712}B
366
367 /[\w]/WBZ8
368 >\x{1723}<
369
370 /\D/WBZ8
371 1\x{3c8}2
372
373 /\d/WBZ8
374 >\x{6f4}<
375
376 /\S/WBZ8
377 \x{1680}\x{6f4}\x{1680}
378
379 /\s/WBZ8
380 >\x{1680}>
381
382 /\W/WBZ8
383 A\x{1712}B
384
385 /\w/WBZ8
386 >\x{1723}<
387
388 /[[:alpha:]]/WBZ
389
390 /[[:lower:]]/WBZ
391
392 /[[:upper:]]/WBZ
393
394 /[[:alnum:]]/WBZ
395
396 /[[:ascii:]]/WBZ
397
398 /[[:cntrl:]]/WBZ
399
400 /[[:digit:]]/WBZ
401
402 /[[:graph:]]/WBZ
403
404 /[[:print:]]/WBZ
405
406 /[[:punct:]]/WBZ
407
408 /[[:space:]]/WBZ
409
410 /[[:word:]]/WBZ
411
412 /[[:xdigit:]]/WBZ
413
414 /-- Unicode properties for \b abd \B --/
415
416 /\b...\B/8W
417 abc_
418 \x{37e}abc\x{376}
419 \x{37e}\x{376}\x{371}\x{393}\x{394}
420 !\x{c0}++\x{c1}\x{c2}
421 !\x{c0}+++++
422
423 /-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/
424
425 /\b...\B/8
426 abc_
427 ** Failers
428 \x{37e}abc\x{376}
429 \x{37e}\x{376}\x{371}\x{393}\x{394}
430 !\x{c0}++\x{c1}\x{c2}
431 !\x{c0}+++++
432
433 /-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/
434
435 /\b...\B/W
436 abc_
437 !\x{c0}++\x{c1}\x{c2}
438 !\x{c0}+++++
439
440 /-- Some of these are silly, but they check various combinations --/
441
442 /[[:^alpha:][:^cntrl:]]+/8WBZ
443 123
444 abc
445
446 /[[:^cntrl:][:^alpha:]]+/8WBZ
447 123
448 abc
449
450 /[[:alpha:]]+/8WBZ
451 abc
452
453 /[[:^alpha:]\S]+/8WBZ
454 123
455 abc
456
457 /[^\d]+/8WBZ
458 abc123
459 abc\x{123}
460 \x{660}abc
461
462 /\p{Lu}+9\p{Lu}+B\p{Lu}+b/BZ
463
464 /\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/BZ
465
466 /\P{Lu}+9\P{Lu}+B\P{Lu}+b/BZ
467
468 /\p{Han}+X\p{Greek}+\x{370}/BZ8
469
470 /\p{Xan}+!\p{Xan}+A/BZ
471
472 /\p{Xsp}+!\p{Xsp}\t/BZ
473
474 /\p{Xps}+!\p{Xps}\t/BZ
475
476 /\p{Xwd}+!\p{Xwd}_/BZ
477
478 /A+\p{N}A+\dB+\p{N}*B+\d*/WBZ
479
480 /-- These behaved oddly in Perl, so they are kept in this test --/
481
482 /(\x{23a}\x{23a}\x{23a})?\1/8i
483 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
484
485 /(ȺȺȺ)?\1/8i
486 ȺȺȺⱥⱥ
487
488 /(\x{23a}\x{23a}\x{23a})?\1/8i
489 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
490
491 /(ȺȺȺ)?\1/8i
492 ȺȺȺⱥⱥⱥ
493
494 /(\x{23a}\x{23a}\x{23a})\1/8i
495 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
496
497 /(ȺȺȺ)\1/8i
498 ȺȺȺⱥⱥ
499
500 /(\x{23a}\x{23a}\x{23a})\1/8i
501 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
502
503 /(ȺȺȺ)\1/8i
504 ȺȺȺⱥⱥⱥ
505
506 /(\x{2c65}\x{2c65})\1/8i
507 \x{2c65}\x{2c65}\x{23a}\x{23a}
508
509 /(ⱥⱥ)\1/8i
510 ⱥⱥȺȺ
511
512 /(\x{23a}\x{23a}\x{23a})\1Y/8i
513 X\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}YZ
514
515 /(\x{2c65}\x{2c65})\1Y/8i
516 X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ
517
518 /-- --/
519
520 /-- These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE --/
521
522 /^[\p{Batak}]/8
523 \x{1bc0}
524 \x{1bff}
525 ** Failers
526 \x{1bf4}
527
528 /^[\p{Brahmi}]/8
529 \x{11000}
530 \x{1106f}
531 ** Failers
532 \x{1104e}
533
534 /^[\p{Mandaic}]/8
535 \x{840}
536 \x{85e}
537 ** Failers
538 \x{85c}
539 \x{85d}
540
541 /-- --/
542
543 /(\X*)(.)/s8
544 A\x{300}
545
546 /^S(\X*)e(\X*)$/8
547 Stéréo
548
549 /^\X/8
550 ́réo
551
552 /^a\X41z/<JS>
553 aX41z
554 *** Failers
555 aAz
556
557 /(?<=ab\Cde)X/8
558
559 /\X/
560 a\P
561 a\P\P
562
563 /\Xa/
564 aa\P
565 aa\P\P
566
567 /\X{2}/
568 aa\P
569 aa\P\P
570
571 /\X+a/
572 a\P
573 aa\P
574 aa\P\P
575
576 /\X+?a/
577 a\P
578 ab\P
579 aa\P
580 aa\P\P
581 aba\P
582
583 /-- These Unicode 6.1.0 scripts are not known to Perl. --/
584
585 /\p{Chakma}\d/8W
586 \x{11100}\x{1113c}
587
588 /\p{Takri}\d/8W
589 \x{11680}\x{116c0}
590
591 /^\X/8
592 A\P
593 A\P\P
594 A\x{300}\x{301}\P
595 A\x{300}\x{301}\P\P
596 A\x{301}\P
597 A\x{301}\P\P
598
599 /^\X{2,3}/8
600 A\P
601 A\P\P
602 AA\P
603 AA\P\P
604 A\x{300}\x{301}\P
605 A\x{300}\x{301}\P\P
606 A\x{300}\x{301}A\x{300}\x{301}\P
607 A\x{300}\x{301}A\x{300}\x{301}\P\P
608
609 /^\X{2}/8
610 AA\P
611 AA\P\P
612 A\x{300}\x{301}A\x{300}\x{301}\P
613 A\x{300}\x{301}A\x{300}\x{301}\P\P
614
615 /^\X+/8
616 AA\P
617 AA\P\P
618
619 /^\X+?Z/8
620 AA\P
621 AA\P\P
622
623 /A\x{3a3}B/8iDZ
624
625 /\x{3a3}B/8iDZ
626
627 /[\x{3a3}]/8iBZ
628
629 /[^\x{3a3}]/8iBZ
630
631 /[\x{3a3}]+/8iBZ
632
633 /[^\x{3a3}]+/8iBZ
634
635 /a*\x{3a3}/8iBZ
636
637 /\x{3a3}+a/8iBZ
638
639 /\x{3a3}*\x{3c2}/8iBZ
640
641 /\x{3a3}{3}/8i+
642 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
643
644 /\x{3a3}{2,4}/8i+
645 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
646
647 /\x{3a3}{2,4}?/8i+
648 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
649
650 /\x{3a3}+./8i+
651 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
652
653 /\x{3a3}++./8i+
654 ** Failers
655 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
656
657 /\x{3a3}*\x{3c2}/8iBZ
658
659 /[^\x{3a3}]*\x{3c2}/8iBZ
660
661 /[^a]*\x{3c2}/8iBZ
662
663 /ist/8iBZ
664 ikt
665
666 /is+t/8i
667 iSs\x{17f}t
668 ikt
669
670 /is+?t/8i
671 ikt
672
673 /is?t/8i
674 ikt
675
676 /is{2}t/8i
677 iskt
678
679 /-- This property is a PCRE special --/
680
681 /^\p{Xuc}/8
682 $abc
683 @abc
684 `abc
685 \x{1234}abc
686 ** Failers
687 abc
688
689 /^\p{Xuc}+/8
690 $@`\x{a0}\x{1234}\x{e000}**
691 ** Failers
692 \x{9f}
693
694 /^\p{Xuc}+?/8
695 $@`\x{a0}\x{1234}\x{e000}**
696 ** Failers
697 \x{9f}
698
699 /^\p{Xuc}+?\*/8
700 $@`\x{a0}\x{1234}\x{e000}**
701 ** Failers
702 \x{9f}
703
704 /^\p{Xuc}++/8
705 $@`\x{a0}\x{1234}\x{e000}**
706 ** Failers
707 \x{9f}
708
709 /^\p{Xuc}{3,5}/8
710 $@`\x{a0}\x{1234}\x{e000}**
711 ** Failers
712 \x{9f}
713
714 /^\p{Xuc}{3,5}?/8
715 $@`\x{a0}\x{1234}\x{e000}**
716 ** Failers
717 \x{9f}
718
719 /^[\p{Xuc}]/8
720 $@`\x{a0}\x{1234}\x{e000}**
721 ** Failers
722 \x{9f}
723
724 /^[\p{Xuc}]+/8
725 $@`\x{a0}\x{1234}\x{e000}**
726 ** Failers
727 \x{9f}
728
729 /^\P{Xuc}/8
730 abc
731 ** Failers
732 $abc
733 @abc
734 `abc
735 \x{1234}abc
736
737 /^[\P{Xuc}]/8
738 abc
739 ** Failers
740 $abc
741 @abc
742 `abc
743 \x{1234}abc
744
745 /-- End of testinput7 --/

Properties

Name Value
svn:keywords "Author Date Id Revision Url"

  ViewVC Help
Powered by ViewVC 1.1.5