1*22dc650dSSadaf Ebrahimi# These test special UTF and UCP features of DFA matching. The output is 2*22dc650dSSadaf Ebrahimi# different for the different widths. 3*22dc650dSSadaf Ebrahimi 4*22dc650dSSadaf Ebrahimi#subject dfa 5*22dc650dSSadaf Ebrahimi 6*22dc650dSSadaf Ebrahimi# ---------------------------------------------------- 7*22dc650dSSadaf Ebrahimi# These are a selection of the more comprehensive tests that are run for 8*22dc650dSSadaf Ebrahimi# non-DFA matching. 9*22dc650dSSadaf Ebrahimi 10*22dc650dSSadaf Ebrahimi/X/utf 11*22dc650dSSadaf Ebrahimi XX\x{d800} 12*22dc650dSSadaf Ebrahimi XX\x{d800}\=offset=3 13*22dc650dSSadaf Ebrahimi XX\x{d800}\=no_utf_check 14*22dc650dSSadaf Ebrahimi XX\x{da00} 15*22dc650dSSadaf Ebrahimi XX\x{da00}\=no_utf_check 16*22dc650dSSadaf Ebrahimi XX\x{dc00} 17*22dc650dSSadaf Ebrahimi XX\x{dc00}\=no_utf_check 18*22dc650dSSadaf Ebrahimi XX\x{de00} 19*22dc650dSSadaf Ebrahimi XX\x{de00}\=no_utf_check 20*22dc650dSSadaf Ebrahimi XX\x{dfff} 21*22dc650dSSadaf Ebrahimi XX\x{dfff}\=no_utf_check 22*22dc650dSSadaf Ebrahimi XX\x{110000} 23*22dc650dSSadaf Ebrahimi XX\x{d800}\x{1234} 24*22dc650dSSadaf Ebrahimi 25*22dc650dSSadaf Ebrahimi/badutf/utf 26*22dc650dSSadaf Ebrahimi X\xdf 27*22dc650dSSadaf Ebrahimi XX\xef 28*22dc650dSSadaf Ebrahimi XXX\xef\x80 29*22dc650dSSadaf Ebrahimi X\xf7 30*22dc650dSSadaf Ebrahimi XX\xf7\x80 31*22dc650dSSadaf Ebrahimi XXX\xf7\x80\x80 32*22dc650dSSadaf Ebrahimi 33*22dc650dSSadaf Ebrahimi/shortutf/utf 34*22dc650dSSadaf Ebrahimi XX\xdf\=ph 35*22dc650dSSadaf Ebrahimi XX\xef\=ph 36*22dc650dSSadaf Ebrahimi XX\xef\x80\=ph 37*22dc650dSSadaf Ebrahimi \xf7\=ph 38*22dc650dSSadaf Ebrahimi \xf7\x80\=ph 39*22dc650dSSadaf Ebrahimi 40*22dc650dSSadaf Ebrahimi# ---------------------------------------------------- 41*22dc650dSSadaf Ebrahimi# UCP and casing tests - except for the first two, these will all fail in 8-bit 42*22dc650dSSadaf Ebrahimi# mode because they are testing UCP without UTF and use characters > 255. 43*22dc650dSSadaf Ebrahimi 44*22dc650dSSadaf Ebrahimi/\x{c1}/i,no_start_optimize 45*22dc650dSSadaf Ebrahimi\= Expect no match 46*22dc650dSSadaf Ebrahimi \x{e1} 47*22dc650dSSadaf Ebrahimi 48*22dc650dSSadaf Ebrahimi/\x{c1}+\x{e1}/iB,ucp 49*22dc650dSSadaf Ebrahimi \x{c1}\x{c1}\x{c1} 50*22dc650dSSadaf Ebrahimi \x{e1}\x{e1}\x{e1} 51*22dc650dSSadaf Ebrahimi 52*22dc650dSSadaf Ebrahimi/\x{120}\x{c1}/i,ucp,no_start_optimize 53*22dc650dSSadaf Ebrahimi \x{121}\x{e1} 54*22dc650dSSadaf Ebrahimi 55*22dc650dSSadaf Ebrahimi/\x{120}\x{c1}/i,ucp 56*22dc650dSSadaf Ebrahimi \x{121}\x{e1} 57*22dc650dSSadaf Ebrahimi 58*22dc650dSSadaf Ebrahimi/[^\x{120}]/i,no_start_optimize 59*22dc650dSSadaf Ebrahimi \x{121} 60*22dc650dSSadaf Ebrahimi 61*22dc650dSSadaf Ebrahimi/[^\x{120}]/i,ucp,no_start_optimize 62*22dc650dSSadaf Ebrahimi\= Expect no match 63*22dc650dSSadaf Ebrahimi \x{121} 64*22dc650dSSadaf Ebrahimi 65*22dc650dSSadaf Ebrahimi/[^\x{120}]/i 66*22dc650dSSadaf Ebrahimi \x{121} 67*22dc650dSSadaf Ebrahimi 68*22dc650dSSadaf Ebrahimi/[^\x{120}]/i,ucp 69*22dc650dSSadaf Ebrahimi\= Expect no match 70*22dc650dSSadaf Ebrahimi \x{121} 71*22dc650dSSadaf Ebrahimi 72*22dc650dSSadaf Ebrahimi/\x{120}{2}/i,ucp 73*22dc650dSSadaf Ebrahimi \x{121}\x{121} 74*22dc650dSSadaf Ebrahimi 75*22dc650dSSadaf Ebrahimi/[^\x{120}]{2}/i,ucp 76*22dc650dSSadaf Ebrahimi\= Expect no match 77*22dc650dSSadaf Ebrahimi \x{121}\x{121} 78*22dc650dSSadaf Ebrahimi 79*22dc650dSSadaf Ebrahimi# ---------------------------------------------------- 80*22dc650dSSadaf Ebrahimi 81*22dc650dSSadaf Ebrahimi# ---------------------------------------------------- 82*22dc650dSSadaf Ebrahimi# Tests for handling 0xffffffff in caseless UCP mode. They only apply to 32-bit 83*22dc650dSSadaf Ebrahimi# mode; for the other widths they will fail. 84*22dc650dSSadaf Ebrahimi 85*22dc650dSSadaf Ebrahimi/k*\x{ffffffff}/caseless,ucp 86*22dc650dSSadaf Ebrahimi \x{ffffffff} 87*22dc650dSSadaf Ebrahimi 88*22dc650dSSadaf Ebrahimi/k+\x{ffffffff}/caseless,ucp,no_start_optimize 89*22dc650dSSadaf Ebrahimi K\x{ffffffff} 90*22dc650dSSadaf Ebrahimi\= Expect no match 91*22dc650dSSadaf Ebrahimi \x{ffffffff}\x{ffffffff} 92*22dc650dSSadaf Ebrahimi 93*22dc650dSSadaf Ebrahimi/k{2}\x{ffffffff}/caseless,ucp,no_start_optimize 94*22dc650dSSadaf Ebrahimi\= Expect no match 95*22dc650dSSadaf Ebrahimi \x{ffffffff}\x{ffffffff}\x{ffffffff} 96*22dc650dSSadaf Ebrahimi 97*22dc650dSSadaf Ebrahimi/k\x{ffffffff}/caseless,ucp,no_start_optimize 98*22dc650dSSadaf Ebrahimi K\x{ffffffff} 99*22dc650dSSadaf Ebrahimi\= Expect no match 100*22dc650dSSadaf Ebrahimi \x{ffffffff}\x{ffffffff}\x{ffffffff} 101*22dc650dSSadaf Ebrahimi 102*22dc650dSSadaf Ebrahimi/k{2,}?Z/caseless,ucp,no_start_optimize,no_auto_possess 103*22dc650dSSadaf Ebrahimi\= Expect no match 104*22dc650dSSadaf Ebrahimi Kk\x{ffffffff}\x{ffffffff}\x{ffffffff}Z 105*22dc650dSSadaf Ebrahimi 106*22dc650dSSadaf Ebrahimi# ---------------------------------------------------- 107*22dc650dSSadaf Ebrahimi 108*22dc650dSSadaf Ebrahimi# End of testinput14 109