1*22dc650dSSadaf Ebrahimi# This set of tests is for the 16-bit and 32-bit libraries' basic (non-UTF) 2*22dc650dSSadaf Ebrahimi# features that are not compatible with the 8-bit library, or which give 3*22dc650dSSadaf Ebrahimi# different output in 16-bit or 32-bit mode. The output for the two widths is 4*22dc650dSSadaf Ebrahimi# different, so they have separate output files. 5*22dc650dSSadaf Ebrahimi 6*22dc650dSSadaf Ebrahimi#forbid_utf 7*22dc650dSSadaf Ebrahimi#newline_default LF ANY ANYCRLF 8*22dc650dSSadaf Ebrahimi 9*22dc650dSSadaf Ebrahimi/[^\x{c4}]/IB 10*22dc650dSSadaf Ebrahimi 11*22dc650dSSadaf Ebrahimi/\x{100}/I 12*22dc650dSSadaf Ebrahimi 13*22dc650dSSadaf Ebrahimi/ (?: [\040\t] | \( 14*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 15*22dc650dSSadaf Ebrahimi\) )* # optional leading comment 16*22dc650dSSadaf Ebrahimi(?: (?: 17*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 18*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 19*22dc650dSSadaf Ebrahimi| 20*22dc650dSSadaf Ebrahimi" (?: # opening quote... 21*22dc650dSSadaf Ebrahimi[^\\\x80-\xff\n\015"] # Anything except backslash and quote 22*22dc650dSSadaf Ebrahimi| # or 23*22dc650dSSadaf Ebrahimi\\ [^\x80-\xff] # Escaped something (something != CR) 24*22dc650dSSadaf Ebrahimi)* " # closing quote 25*22dc650dSSadaf Ebrahimi) # initial word 26*22dc650dSSadaf Ebrahimi(?: (?: [\040\t] | \( 27*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 28*22dc650dSSadaf Ebrahimi\) )* \. (?: [\040\t] | \( 29*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 30*22dc650dSSadaf Ebrahimi\) )* (?: 31*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 32*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 33*22dc650dSSadaf Ebrahimi| 34*22dc650dSSadaf Ebrahimi" (?: # opening quote... 35*22dc650dSSadaf Ebrahimi[^\\\x80-\xff\n\015"] # Anything except backslash and quote 36*22dc650dSSadaf Ebrahimi| # or 37*22dc650dSSadaf Ebrahimi\\ [^\x80-\xff] # Escaped something (something != CR) 38*22dc650dSSadaf Ebrahimi)* " # closing quote 39*22dc650dSSadaf Ebrahimi) )* # further okay, if led by a period 40*22dc650dSSadaf Ebrahimi(?: [\040\t] | \( 41*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 42*22dc650dSSadaf Ebrahimi\) )* @ (?: [\040\t] | \( 43*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 44*22dc650dSSadaf Ebrahimi\) )* (?: 45*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 46*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 47*22dc650dSSadaf Ebrahimi| \[ # [ 48*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 49*22dc650dSSadaf Ebrahimi\] # ] 50*22dc650dSSadaf Ebrahimi) # initial subdomain 51*22dc650dSSadaf Ebrahimi(?: # 52*22dc650dSSadaf Ebrahimi(?: [\040\t] | \( 53*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 54*22dc650dSSadaf Ebrahimi\) )* \. # if led by a period... 55*22dc650dSSadaf Ebrahimi(?: [\040\t] | \( 56*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 57*22dc650dSSadaf Ebrahimi\) )* (?: 58*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 59*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 60*22dc650dSSadaf Ebrahimi| \[ # [ 61*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 62*22dc650dSSadaf Ebrahimi\] # ] 63*22dc650dSSadaf Ebrahimi) # ...further okay 64*22dc650dSSadaf Ebrahimi)* 65*22dc650dSSadaf Ebrahimi# address 66*22dc650dSSadaf Ebrahimi| # or 67*22dc650dSSadaf Ebrahimi(?: 68*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 69*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 70*22dc650dSSadaf Ebrahimi| 71*22dc650dSSadaf Ebrahimi" (?: # opening quote... 72*22dc650dSSadaf Ebrahimi[^\\\x80-\xff\n\015"] # Anything except backslash and quote 73*22dc650dSSadaf Ebrahimi| # or 74*22dc650dSSadaf Ebrahimi\\ [^\x80-\xff] # Escaped something (something != CR) 75*22dc650dSSadaf Ebrahimi)* " # closing quote 76*22dc650dSSadaf Ebrahimi) # one word, optionally followed by.... 77*22dc650dSSadaf Ebrahimi(?: 78*22dc650dSSadaf Ebrahimi[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... 79*22dc650dSSadaf Ebrahimi\( 80*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 81*22dc650dSSadaf Ebrahimi\) | # comments, or... 82*22dc650dSSadaf Ebrahimi 83*22dc650dSSadaf Ebrahimi" (?: # opening quote... 84*22dc650dSSadaf Ebrahimi[^\\\x80-\xff\n\015"] # Anything except backslash and quote 85*22dc650dSSadaf Ebrahimi| # or 86*22dc650dSSadaf Ebrahimi\\ [^\x80-\xff] # Escaped something (something != CR) 87*22dc650dSSadaf Ebrahimi)* " # closing quote 88*22dc650dSSadaf Ebrahimi# quoted strings 89*22dc650dSSadaf Ebrahimi)* 90*22dc650dSSadaf Ebrahimi< (?: [\040\t] | \( 91*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 92*22dc650dSSadaf Ebrahimi\) )* # leading < 93*22dc650dSSadaf Ebrahimi(?: @ (?: [\040\t] | \( 94*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 95*22dc650dSSadaf Ebrahimi\) )* (?: 96*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 97*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 98*22dc650dSSadaf Ebrahimi| \[ # [ 99*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 100*22dc650dSSadaf Ebrahimi\] # ] 101*22dc650dSSadaf Ebrahimi) # initial subdomain 102*22dc650dSSadaf Ebrahimi(?: # 103*22dc650dSSadaf Ebrahimi(?: [\040\t] | \( 104*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 105*22dc650dSSadaf Ebrahimi\) )* \. # if led by a period... 106*22dc650dSSadaf Ebrahimi(?: [\040\t] | \( 107*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 108*22dc650dSSadaf Ebrahimi\) )* (?: 109*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 110*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 111*22dc650dSSadaf Ebrahimi| \[ # [ 112*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 113*22dc650dSSadaf Ebrahimi\] # ] 114*22dc650dSSadaf Ebrahimi) # ...further okay 115*22dc650dSSadaf Ebrahimi)* 116*22dc650dSSadaf Ebrahimi 117*22dc650dSSadaf Ebrahimi(?: (?: [\040\t] | \( 118*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 119*22dc650dSSadaf Ebrahimi\) )* , (?: [\040\t] | \( 120*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 121*22dc650dSSadaf Ebrahimi\) )* @ (?: [\040\t] | \( 122*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 123*22dc650dSSadaf Ebrahimi\) )* (?: 124*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 125*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 126*22dc650dSSadaf Ebrahimi| \[ # [ 127*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 128*22dc650dSSadaf Ebrahimi\] # ] 129*22dc650dSSadaf Ebrahimi) # initial subdomain 130*22dc650dSSadaf Ebrahimi(?: # 131*22dc650dSSadaf Ebrahimi(?: [\040\t] | \( 132*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 133*22dc650dSSadaf Ebrahimi\) )* \. # if led by a period... 134*22dc650dSSadaf Ebrahimi(?: [\040\t] | \( 135*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 136*22dc650dSSadaf Ebrahimi\) )* (?: 137*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 138*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 139*22dc650dSSadaf Ebrahimi| \[ # [ 140*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 141*22dc650dSSadaf Ebrahimi\] # ] 142*22dc650dSSadaf Ebrahimi) # ...further okay 143*22dc650dSSadaf Ebrahimi)* 144*22dc650dSSadaf Ebrahimi)* # further okay, if led by comma 145*22dc650dSSadaf Ebrahimi: # closing colon 146*22dc650dSSadaf Ebrahimi(?: [\040\t] | \( 147*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 148*22dc650dSSadaf Ebrahimi\) )* )? # optional route 149*22dc650dSSadaf Ebrahimi(?: 150*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 151*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 152*22dc650dSSadaf Ebrahimi| 153*22dc650dSSadaf Ebrahimi" (?: # opening quote... 154*22dc650dSSadaf Ebrahimi[^\\\x80-\xff\n\015"] # Anything except backslash and quote 155*22dc650dSSadaf Ebrahimi| # or 156*22dc650dSSadaf Ebrahimi\\ [^\x80-\xff] # Escaped something (something != CR) 157*22dc650dSSadaf Ebrahimi)* " # closing quote 158*22dc650dSSadaf Ebrahimi) # initial word 159*22dc650dSSadaf Ebrahimi(?: (?: [\040\t] | \( 160*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 161*22dc650dSSadaf Ebrahimi\) )* \. (?: [\040\t] | \( 162*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 163*22dc650dSSadaf Ebrahimi\) )* (?: 164*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 165*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 166*22dc650dSSadaf Ebrahimi| 167*22dc650dSSadaf Ebrahimi" (?: # opening quote... 168*22dc650dSSadaf Ebrahimi[^\\\x80-\xff\n\015"] # Anything except backslash and quote 169*22dc650dSSadaf Ebrahimi| # or 170*22dc650dSSadaf Ebrahimi\\ [^\x80-\xff] # Escaped something (something != CR) 171*22dc650dSSadaf Ebrahimi)* " # closing quote 172*22dc650dSSadaf Ebrahimi) )* # further okay, if led by a period 173*22dc650dSSadaf Ebrahimi(?: [\040\t] | \( 174*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 175*22dc650dSSadaf Ebrahimi\) )* @ (?: [\040\t] | \( 176*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 177*22dc650dSSadaf Ebrahimi\) )* (?: 178*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 179*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 180*22dc650dSSadaf Ebrahimi| \[ # [ 181*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 182*22dc650dSSadaf Ebrahimi\] # ] 183*22dc650dSSadaf Ebrahimi) # initial subdomain 184*22dc650dSSadaf Ebrahimi(?: # 185*22dc650dSSadaf Ebrahimi(?: [\040\t] | \( 186*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 187*22dc650dSSadaf Ebrahimi\) )* \. # if led by a period... 188*22dc650dSSadaf Ebrahimi(?: [\040\t] | \( 189*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 190*22dc650dSSadaf Ebrahimi\) )* (?: 191*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 192*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 193*22dc650dSSadaf Ebrahimi| \[ # [ 194*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 195*22dc650dSSadaf Ebrahimi\] # ] 196*22dc650dSSadaf Ebrahimi) # ...further okay 197*22dc650dSSadaf Ebrahimi)* 198*22dc650dSSadaf Ebrahimi# address spec 199*22dc650dSSadaf Ebrahimi(?: [\040\t] | \( 200*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 201*22dc650dSSadaf Ebrahimi\) )* > # trailing > 202*22dc650dSSadaf Ebrahimi# name and address 203*22dc650dSSadaf Ebrahimi) (?: [\040\t] | \( 204*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 205*22dc650dSSadaf Ebrahimi\) )* # optional trailing comment 206*22dc650dSSadaf Ebrahimi/Ix 207*22dc650dSSadaf Ebrahimi 208*22dc650dSSadaf Ebrahimi/[\h]/B 209*22dc650dSSadaf Ebrahimi >\x09< 210*22dc650dSSadaf Ebrahimi 211*22dc650dSSadaf Ebrahimi/[\h]+/B 212*22dc650dSSadaf Ebrahimi >\x09\x20\xa0< 213*22dc650dSSadaf Ebrahimi 214*22dc650dSSadaf Ebrahimi/[\v]/B 215*22dc650dSSadaf Ebrahimi 216*22dc650dSSadaf Ebrahimi/[^\h]/B 217*22dc650dSSadaf Ebrahimi 218*22dc650dSSadaf Ebrahimi/\h+/I 219*22dc650dSSadaf Ebrahimi \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000} 220*22dc650dSSadaf Ebrahimi \x{3001}\x{2fff}\x{200a}\xa0\x{2000} 221*22dc650dSSadaf Ebrahimi 222*22dc650dSSadaf Ebrahimi/[\h\x{dc00}]+/IB 223*22dc650dSSadaf Ebrahimi \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000} 224*22dc650dSSadaf Ebrahimi \x{3001}\x{2fff}\x{200a}\xa0\x{2000} 225*22dc650dSSadaf Ebrahimi 226*22dc650dSSadaf Ebrahimi/\H+/I 227*22dc650dSSadaf Ebrahimi \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f} 228*22dc650dSSadaf Ebrahimi \x{2000}\x{200a}\x{1fff}\x{200b} 229*22dc650dSSadaf Ebrahimi \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060} 230*22dc650dSSadaf Ebrahimi \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001} 231*22dc650dSSadaf Ebrahimi 232*22dc650dSSadaf Ebrahimi/[\H\x{d800}]+/ 233*22dc650dSSadaf Ebrahimi \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f} 234*22dc650dSSadaf Ebrahimi \x{2000}\x{200a}\x{1fff}\x{200b} 235*22dc650dSSadaf Ebrahimi \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060} 236*22dc650dSSadaf Ebrahimi \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001} 237*22dc650dSSadaf Ebrahimi 238*22dc650dSSadaf Ebrahimi/\v+/I 239*22dc650dSSadaf Ebrahimi \x{2027}\x{2030}\x{2028}\x{2029} 240*22dc650dSSadaf Ebrahimi \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d 241*22dc650dSSadaf Ebrahimi 242*22dc650dSSadaf Ebrahimi/[\v\x{dc00}]+/IB 243*22dc650dSSadaf Ebrahimi \x{2027}\x{2030}\x{2028}\x{2029} 244*22dc650dSSadaf Ebrahimi \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d 245*22dc650dSSadaf Ebrahimi 246*22dc650dSSadaf Ebrahimi/\V+/I 247*22dc650dSSadaf Ebrahimi \x{2028}\x{2029}\x{2027}\x{2030} 248*22dc650dSSadaf Ebrahimi \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86 249*22dc650dSSadaf Ebrahimi 250*22dc650dSSadaf Ebrahimi/[\V\x{d800}]+/ 251*22dc650dSSadaf Ebrahimi \x{2028}\x{2029}\x{2027}\x{2030} 252*22dc650dSSadaf Ebrahimi \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86 253*22dc650dSSadaf Ebrahimi 254*22dc650dSSadaf Ebrahimi/\R+/I,bsr=unicode 255*22dc650dSSadaf Ebrahimi \x{2027}\x{2030}\x{2028}\x{2029} 256*22dc650dSSadaf Ebrahimi \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d 257*22dc650dSSadaf Ebrahimi 258*22dc650dSSadaf Ebrahimi/\x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}/I 259*22dc650dSSadaf Ebrahimi \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00} 260*22dc650dSSadaf Ebrahimi 261*22dc650dSSadaf Ebrahimi/[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/B 262*22dc650dSSadaf Ebrahimi 263*22dc650dSSadaf Ebrahimi/[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/Bi 264*22dc650dSSadaf Ebrahimi 265*22dc650dSSadaf Ebrahimi/[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/B 266*22dc650dSSadaf Ebrahimi 267*22dc650dSSadaf Ebrahimi/[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/Bi 268*22dc650dSSadaf Ebrahimi 269*22dc650dSSadaf Ebrahimi/(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/mark 270*22dc650dSSadaf Ebrahimi XX 271*22dc650dSSadaf Ebrahimi 272*22dc650dSSadaf Ebrahimi/(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/mark 273*22dc650dSSadaf Ebrahimi XX 274*22dc650dSSadaf Ebrahimi 275*22dc650dSSadaf Ebrahimi/\u0100/B,alt_bsux,allow_empty_class,match_unset_backref 276*22dc650dSSadaf Ebrahimi 277*22dc650dSSadaf Ebrahimi/[\u0100-\u0200]/B,alt_bsux,allow_empty_class,match_unset_backref 278*22dc650dSSadaf Ebrahimi 279*22dc650dSSadaf Ebrahimi/\ud800/B,alt_bsux,allow_empty_class,match_unset_backref 280*22dc650dSSadaf Ebrahimi 281*22dc650dSSadaf Ebrahimi/^\x{ffff}+/i 282*22dc650dSSadaf Ebrahimi \x{ffff} 283*22dc650dSSadaf Ebrahimi 284*22dc650dSSadaf Ebrahimi/^\x{ffff}?/i 285*22dc650dSSadaf Ebrahimi \x{ffff} 286*22dc650dSSadaf Ebrahimi 287*22dc650dSSadaf Ebrahimi/^\x{ffff}*/i 288*22dc650dSSadaf Ebrahimi \x{ffff} 289*22dc650dSSadaf Ebrahimi 290*22dc650dSSadaf Ebrahimi/^\x{ffff}{3}/i 291*22dc650dSSadaf Ebrahimi \x{ffff}\x{ffff}\x{ffff} 292*22dc650dSSadaf Ebrahimi 293*22dc650dSSadaf Ebrahimi/^\x{ffff}{0,3}/i 294*22dc650dSSadaf Ebrahimi \x{ffff} 295*22dc650dSSadaf Ebrahimi 296*22dc650dSSadaf Ebrahimi/[^\x00-a]{12,}[^b-\xff]*/B 297*22dc650dSSadaf Ebrahimi 298*22dc650dSSadaf Ebrahimi/[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/B 299*22dc650dSSadaf Ebrahimi 300*22dc650dSSadaf Ebrahimi/a*[b-\x{200}]?a#a*[b-\x{200}]?b#[a-f]*[g-\x{200}]*#[g-\x{200}]*[a-c]*#[g-\x{200}]*[a-h]*/B 301*22dc650dSSadaf Ebrahimi 302*22dc650dSSadaf Ebrahimi/^[\x{1234}\x{4321}]{2,4}?/ 303*22dc650dSSadaf Ebrahimi \x{1234}\x{1234}\x{1234} 304*22dc650dSSadaf Ebrahimi 305*22dc650dSSadaf Ebrahimi# Check maximum non-UTF character size for the 16-bit library. 306*22dc650dSSadaf Ebrahimi 307*22dc650dSSadaf Ebrahimi/\x{ffff}/ 308*22dc650dSSadaf Ebrahimi A\x{ffff}B 309*22dc650dSSadaf Ebrahimi 310*22dc650dSSadaf Ebrahimi/\x{10000}/ 311*22dc650dSSadaf Ebrahimi 312*22dc650dSSadaf Ebrahimi/\o{20000}/ 313*22dc650dSSadaf Ebrahimi 314*22dc650dSSadaf Ebrahimi# Check maximum character size for the 32-bit library. These will all give 315*22dc650dSSadaf Ebrahimi# errors in the 16-bit library. 316*22dc650dSSadaf Ebrahimi 317*22dc650dSSadaf Ebrahimi/\x{110000}/ 318*22dc650dSSadaf Ebrahimi 319*22dc650dSSadaf Ebrahimi/\x{7fffffff}/ 320*22dc650dSSadaf Ebrahimi 321*22dc650dSSadaf Ebrahimi/\x{80000000}/ 322*22dc650dSSadaf Ebrahimi 323*22dc650dSSadaf Ebrahimi/\x{ffffffff}/ 324*22dc650dSSadaf Ebrahimi 325*22dc650dSSadaf Ebrahimi/\x{100000000}/ 326*22dc650dSSadaf Ebrahimi 327*22dc650dSSadaf Ebrahimi/\o{17777777777}/ 328*22dc650dSSadaf Ebrahimi 329*22dc650dSSadaf Ebrahimi/\o{20000000000}/ 330*22dc650dSSadaf Ebrahimi 331*22dc650dSSadaf Ebrahimi/\o{37777777777}/ 332*22dc650dSSadaf Ebrahimi 333*22dc650dSSadaf Ebrahimi/\o{40000000000}/ 334*22dc650dSSadaf Ebrahimi 335*22dc650dSSadaf Ebrahimi/\x{7fffffff}\x{7fffffff}/I 336*22dc650dSSadaf Ebrahimi 337*22dc650dSSadaf Ebrahimi/\x{80000000}\x{80000000}/I 338*22dc650dSSadaf Ebrahimi 339*22dc650dSSadaf Ebrahimi/\x{ffffffff}\x{ffffffff}/I 340*22dc650dSSadaf Ebrahimi 341*22dc650dSSadaf Ebrahimi# Non-UTF characters 342*22dc650dSSadaf Ebrahimi 343*22dc650dSSadaf Ebrahimi/.{2,3}/ 344*22dc650dSSadaf Ebrahimi \x{400000}\x{400001}\x{400002}\x{400003} 345*22dc650dSSadaf Ebrahimi 346*22dc650dSSadaf Ebrahimi/\x{400000}\x{800000}/IBi 347*22dc650dSSadaf Ebrahimi 348*22dc650dSSadaf Ebrahimi# Check character ranges 349*22dc650dSSadaf Ebrahimi 350*22dc650dSSadaf Ebrahimi/[\H]/IB 351*22dc650dSSadaf Ebrahimi 352*22dc650dSSadaf Ebrahimi/[\V]/IB 353*22dc650dSSadaf Ebrahimi 354*22dc650dSSadaf Ebrahimi/(*THEN:\[A]{65501})/expand 355*22dc650dSSadaf Ebrahimi 356*22dc650dSSadaf Ebrahimi# We can use pcre2test's utf8_input modifier to create wide pattern characters, 357*22dc650dSSadaf Ebrahimi# even though this test is run when UTF is not supported. 358*22dc650dSSadaf Ebrahimi 359*22dc650dSSadaf Ebrahimi/ab������z/utf8_input 360*22dc650dSSadaf Ebrahimi ab������z 361*22dc650dSSadaf Ebrahimi ab\x{7fffffff}z 362*22dc650dSSadaf Ebrahimi 363*22dc650dSSadaf Ebrahimi/ab�������z/utf8_input 364*22dc650dSSadaf Ebrahimi ab�������z 365*22dc650dSSadaf Ebrahimi ab\x{ffffffff}z 366*22dc650dSSadaf Ebrahimi 367*22dc650dSSadaf Ebrahimi/ab�Az/utf8_input 368*22dc650dSSadaf Ebrahimi ab�Az 369*22dc650dSSadaf Ebrahimi ab\x{80000041}z 370*22dc650dSSadaf Ebrahimi 371*22dc650dSSadaf Ebrahimi/(?i:A{1,}\6666666666)/ 372*22dc650dSSadaf Ebrahimi A\x{1b6}6666666 373*22dc650dSSadaf Ebrahimi 374*22dc650dSSadaf Ebrahimi# End of testinput11 375