/[pcre]/code/branches/pcre16/testdata/testinput17
ViewVC logotype

Diff of /code/branches/pcre16/testdata/testinput17

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 810 by ph10, Mon Dec 19 13:34:10 2011 UTC revision 823 by ph10, Sat Dec 24 17:43:22 2011 UTC
# Line 1  Line 1 
1  /-- This set of tests is for UTF-8 support, and is relevant only to the 8-bit  /-- This set of tests is for the 16-bit library's basic (non-UTF-16) features
2      library. --/      that are not compatible with the 8-bit library, or which give different
3        output in 16-bit mode. --/
 /X(\C{3})/8  
     X\x{1234}  
   
 /X(\C{4})/8  
     X\x{1234}YZ  
   
 /X\C*/8  
     XYZabcdce  
   
 /X\C*?/8  
     XYZabcde  
   
 /X\C{3,5}/8  
     Xabcdefg  
     X\x{1234}  
     X\x{1234}YZ  
     X\x{1234}\x{512}  
     X\x{1234}\x{512}YZ  
   
 /X\C{3,5}?/8  
     Xabcdefg  
     X\x{1234}  
     X\x{1234}YZ  
     X\x{1234}\x{512}  
4    
5  /a\Cb/  /a\Cb/
6      aXb      aXb
7      a\nb      a\nb
8    
9  /a\Cb/8  /-- Check maximum non-UTF character size --/
     aXb  
     a\nb  
   
 /a\C\Cb/8  
     a\x{100}b  
   
 /ab\Cde/8  
     abXde  
   
 /a\C\Cb/8  
     a\x{100}b  
     ** Failers  
     a\x{12257}b  
   
 /[]/8  
   
 //8  
   
 /xxx/8  
   
 /xxx/8?DZSS  
   
 /abc/8  
     ]  
       
       
     \?  
     \xe1\x88  
     \P\xe1\x88  
     \P\P\xe1\x88  
     XX\xea  
     \O0XX\xea  
     \O1XX\xea  
     \O2XX\xea  
     XX\xf1  
     XX\xf8  
     XX\xfc  
     ZZ\xea\xaf\x20YY  
     ZZ\xfd\xbf\xbf\x2f\xbf\xbfYY  
     ZZ\xfd\xbf\xbf\xbf\x2f\xbfYY  
     ZZ\xfd\xbf\xbf\xbf\xbf\x2fYY  
     ZZ\xffYY  
     ZZ\xfeYY  
   
 /anything/8  
     \xc0\x80  
     \xc1\x8f  
     \xe0\x9f\x80  
     \xf0\x8f\x80\x80  
     \xf8\x87\x80\x80\x80  
     \xfc\x83\x80\x80\x80\x80  
     \xfe\x80\x80\x80\x80\x80  
     \xff\x80\x80\x80\x80\x80  
     \xc3\x8f  
     \xe0\xaf\x80  
     \xe1\x80\x80  
     \xf0\x9f\x80\x80  
     \xf1\x8f\x80\x80  
     \xf8\x88\x80\x80\x80  
     \xf9\x87\x80\x80\x80  
     \xfc\x84\x80\x80\x80\x80  
     \xfd\x83\x80\x80\x80\x80  
     \?\xf8\x88\x80\x80\x80  
     \?\xf9\x87\x80\x80\x80  
     \?\xfc\x84\x80\x80\x80\x80  
     \?\xfd\x83\x80\x80\x80\x80  
   
 /\x{100}/8DZ  
   
 /\x{1000}/8DZ  
   
 /\x{10000}/8DZ  
   
 /\x{100000}/8DZ  
   
 /\x{10ffff}/8DZ  
   
 /[\x{ff}]/8DZ  
   
 /[\x{100}]/8DZ  
   
 /\x80/8DZ  
   
 /\xff/8DZ  
   
 /\x{D55c}\x{ad6d}\x{C5B4}/DZ8  
     \x{D55c}\x{ad6d}\x{C5B4}  
   
 /\x{65e5}\x{672c}\x{8a9e}/DZ8  
     \x{65e5}\x{672c}\x{8a9e}  
   
 /\x{80}/DZ8  
   
 /\x{084}/DZ8  
   
 /\x{104}/DZ8  
   
 /\x{861}/DZ8  
   
 /\x{212ab}/DZ8  
   
 /-- This one is here not because it's different to Perl, but because the way  
 the captured single-byte is displayed. (In Perl it becomes a character, and you  
 can't tell the difference.) --/  
   
 /X(\C)(.*)/8  
     X\x{1234}  
     X\nabc  
10    
11  /-- This one is here because Perl gives out a grumbly error message (quite  /\x{ffff}/
12  correctly, but that messes up comparisons). --/      A\x{ffff}B
   
 /a\Cb/8  
     *** Failers  
     a\x{100}b  
   
 /[^ab\xC0-\xF0]/8SDZ  
     \x{f1}  
     \x{bf}  
     \x{100}  
     \x{1000}  
     *** Failers  
     \x{c0}  
     \x{f0}  
13    
14  /Ā{3,4}/8SDZ  /\x{10000}/
   \x{100}\x{100}\x{100}\x{100\x{100}  
   
 /(\x{100}+|x)/8SDZ  
   
 /(\x{100}*a|x)/8SDZ  
   
 /(\x{100}{0,2}a|x)/8SDZ  
   
 /(\x{100}{1,2}a|x)/8SDZ  
   
 /\x{100}/8DZ  
   
 /a\x{100}\x{101}*/8DZ  
   
 /a\x{100}\x{101}+/8DZ  
15    
16  /[^\x{c4}]/DZ  /[^\x{c4}]/DZ
17    
 /[\x{100}]/8DZ  
     \x{100}  
     Z\x{100}  
     \x{100}Z  
     *** Failers  
   
 /[\xff]/DZ8  
     >\x{ff}<  
   
 /[^\xff]/8DZ  
   
 /\x{100}abc(xyz(?1))/8DZ  
   
 /a\x{1234}b/P8  
     a\x{1234}b  
   
 /\777/8I  
   \x{1ff}  
   \777  
18    
19  /\x{100}+\x{200}/8DZ  /\x{100}/I
   
 /\x{100}+X/8DZ  
   
 /^[\QĀ\E-\QŐ\E/BZ8  
   
 /-- This tests the stricter UTF-8 check according to RFC 3629. --/  
   
 /X/8  
     \x{0}\x{d7ff}\x{e000}\x{10ffff}  
     \x{d800}  
     \x{d800}\?  
     \x{da00}  
     \x{da00}\?  
     \x{dfff}  
     \x{dfff}\?  
     \x{110000}  
     \x{110000}\?  
     \x{2000000}  
     \x{2000000}\?  
     \x{7fffffff}  
     \x{7fffffff}\?  
   
 /(*UTF8)\x{1234}/  
   abcd\x{1234}pqr  
   
 /(*CRLF)(*UTF8)(*BSR_UNICODE)a\Rb/I  
   
 /\h/SI8  
     ABC\x{09}  
     ABC\x{20}  
     ABC\x{a0}  
     ABC\x{1680}  
     ABC\x{180e}  
     ABC\x{2000}  
     ABC\x{202f}  
     ABC\x{205f}  
     ABC\x{3000}  
   
 /\v/SI8  
     ABC\x{0a}  
     ABC\x{0b}  
     ABC\x{0c}  
     ABC\x{0d}  
     ABC\x{85}  
     ABC\x{2028}  
   
 /\h*A/SI8  
     CDBABC  
   
 /\v+A/SI8  
   
 /\s?xxx\s/8SI  
   
 /\sxxx\s/I8ST1  
     AB\x{85}xxx\x{a0}XYZ  
     AB\x{a0}xxx\x{85}XYZ  
   
 /\S \S/I8ST1  
     \x{a2} \x{84}  
     A Z  
   
 /a+/8  
     a\x{123}aa\>1  
     a\x{123}aa\>2  
     a\x{123}aa\>3  
     a\x{123}aa\>4  
     a\x{123}aa\>5  
     a\x{123}aa\>6  
   
 /\x{1234}+/iS8I  
   
 /\x{1234}+?/iS8I  
   
 /\x{1234}++/iS8I  
   
 /\x{1234}{2}/iS8I  
   
 /[^\x{c4}]/8DZ  
   
 /X+\x{200}/8DZ  
20    
21  /\R/SI8  /  (?: [\040\t] |  \(
22    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
23    \)  )*                          # optional leading comment
24    (?:    (?:
25    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
26    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
27    |
28    " (?:                      # opening quote...
29    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
30    |                     #    or
31    \\ [^\x80-\xff]           #   Escaped something (something != CR)
32    )* "  # closing quote
33    )                    # initial word
34    (?:  (?: [\040\t] |  \(
35    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
36    \)  )*  \.  (?: [\040\t] |  \(
37    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
38    \)  )*   (?:
39    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
40    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
41    |
42    " (?:                      # opening quote...
43    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
44    |                     #    or
45    \\ [^\x80-\xff]           #   Escaped something (something != CR)
46    )* "  # closing quote
47    )  )* # further okay, if led by a period
48    (?: [\040\t] |  \(
49    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
50    \)  )*  @  (?: [\040\t] |  \(
51    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
52    \)  )*    (?:
53    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
54    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
55    |   \[                         # [
56    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
57    \]                        #           ]
58    )                           # initial subdomain
59    (?:                                  #
60    (?: [\040\t] |  \(
61    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
62    \)  )*  \.                        # if led by a period...
63    (?: [\040\t] |  \(
64    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
65    \)  )*   (?:
66    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
67    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
68    |   \[                         # [
69    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
70    \]                        #           ]
71    )                     #   ...further okay
72    )*
73    # address
74    |                     #  or
75    (?:
76    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
77    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
78    |
79    " (?:                      # opening quote...
80    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
81    |                     #    or
82    \\ [^\x80-\xff]           #   Escaped something (something != CR)
83    )* "  # closing quote
84    )             # one word, optionally followed by....
85    (?:
86    [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
87    \(
88    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
89    \)       |  # comments, or...
90    
91    " (?:                      # opening quote...
92    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
93    |                     #    or
94    \\ [^\x80-\xff]           #   Escaped something (something != CR)
95    )* "  # closing quote
96    # quoted strings
97    )*
98    <  (?: [\040\t] |  \(
99    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
100    \)  )*                     # leading <
101    (?:  @  (?: [\040\t] |  \(
102    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
103    \)  )*    (?:
104    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
105    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
106    |   \[                         # [
107    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
108    \]                        #           ]
109    )                           # initial subdomain
110    (?:                                  #
111    (?: [\040\t] |  \(
112    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
113    \)  )*  \.                        # if led by a period...
114    (?: [\040\t] |  \(
115    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
116    \)  )*   (?:
117    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
118    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
119    |   \[                         # [
120    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
121    \]                        #           ]
122    )                     #   ...further okay
123    )*
124    
125    (?:  (?: [\040\t] |  \(
126    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
127    \)  )*  ,  (?: [\040\t] |  \(
128    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
129    \)  )*  @  (?: [\040\t] |  \(
130    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
131    \)  )*    (?:
132    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
133    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
134    |   \[                         # [
135    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
136    \]                        #           ]
137    )                           # initial subdomain
138    (?:                                  #
139    (?: [\040\t] |  \(
140    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
141    \)  )*  \.                        # if led by a period...
142    (?: [\040\t] |  \(
143    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
144    \)  )*   (?:
145    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
146    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
147    |   \[                         # [
148    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
149    \]                        #           ]
150    )                     #   ...further okay
151    )*
152    )* # further okay, if led by comma
153    :                                # closing colon
154    (?: [\040\t] |  \(
155    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
156    \)  )*  )? #       optional route
157    (?:
158    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
159    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
160    |
161    " (?:                      # opening quote...
162    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
163    |                     #    or
164    \\ [^\x80-\xff]           #   Escaped something (something != CR)
165    )* "  # closing quote
166    )                    # initial word
167    (?:  (?: [\040\t] |  \(
168    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
169    \)  )*  \.  (?: [\040\t] |  \(
170    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
171    \)  )*   (?:
172    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
173    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
174    |
175    " (?:                      # opening quote...
176    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
177    |                     #    or
178    \\ [^\x80-\xff]           #   Escaped something (something != CR)
179    )* "  # closing quote
180    )  )* # further okay, if led by a period
181    (?: [\040\t] |  \(
182    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
183    \)  )*  @  (?: [\040\t] |  \(
184    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
185    \)  )*    (?:
186    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
187    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
188    |   \[                         # [
189    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
190    \]                        #           ]
191    )                           # initial subdomain
192    (?:                                  #
193    (?: [\040\t] |  \(
194    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
195    \)  )*  \.                        # if led by a period...
196    (?: [\040\t] |  \(
197    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
198    \)  )*   (?:
199    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
200    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
201    |   \[                         # [
202    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
203    \]                        #           ]
204    )                     #   ...further okay
205    )*
206    #       address spec
207    (?: [\040\t] |  \(
208    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
209    \)  )*  > #                  trailing >
210    # name and address
211    )  (?: [\040\t] |  \(
212    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
213    \)  )*                       # optional trailing comment
214    /xSI
215    
216  /-- End of testinput17 --/  /-- End of testinput17 --/

Legend:
Removed from v.810  
changed lines
  Added in v.823

  ViewVC Help
Powered by ViewVC 1.1.5