1e18e3516Sopenharmony_ci# These test special UTF and UCP features of DFA matching. The output is
2e18e3516Sopenharmony_ci# different for the different widths.
3e18e3516Sopenharmony_ci
4e18e3516Sopenharmony_ci#subject dfa
5e18e3516Sopenharmony_ci
6e18e3516Sopenharmony_ci# ---------------------------------------------------- 
7e18e3516Sopenharmony_ci# These are a selection of the more comprehensive tests that are run for
8e18e3516Sopenharmony_ci# non-DFA matching.
9e18e3516Sopenharmony_ci
10e18e3516Sopenharmony_ci/X/utf
11e18e3516Sopenharmony_ci    XX\x{d800}
12e18e3516Sopenharmony_ci    XX\x{d800}\=offset=3
13e18e3516Sopenharmony_ci    XX\x{d800}\=no_utf_check
14e18e3516Sopenharmony_ci    XX\x{da00}
15e18e3516Sopenharmony_ci    XX\x{da00}\=no_utf_check
16e18e3516Sopenharmony_ci    XX\x{dc00}
17e18e3516Sopenharmony_ci    XX\x{dc00}\=no_utf_check
18e18e3516Sopenharmony_ci    XX\x{de00}
19e18e3516Sopenharmony_ci    XX\x{de00}\=no_utf_check
20e18e3516Sopenharmony_ci    XX\x{dfff}
21e18e3516Sopenharmony_ci    XX\x{dfff}\=no_utf_check
22e18e3516Sopenharmony_ci    XX\x{110000}
23e18e3516Sopenharmony_ci    XX\x{d800}\x{1234}
24e18e3516Sopenharmony_ci          
25e18e3516Sopenharmony_ci/badutf/utf
26e18e3516Sopenharmony_ci    X\xdf
27e18e3516Sopenharmony_ci    XX\xef
28e18e3516Sopenharmony_ci    XXX\xef\x80
29e18e3516Sopenharmony_ci    X\xf7
30e18e3516Sopenharmony_ci    XX\xf7\x80
31e18e3516Sopenharmony_ci    XXX\xf7\x80\x80
32e18e3516Sopenharmony_ci
33e18e3516Sopenharmony_ci/shortutf/utf
34e18e3516Sopenharmony_ci    XX\xdf\=ph
35e18e3516Sopenharmony_ci    XX\xef\=ph
36e18e3516Sopenharmony_ci    XX\xef\x80\=ph
37e18e3516Sopenharmony_ci    \xf7\=ph
38e18e3516Sopenharmony_ci    \xf7\x80\=ph
39e18e3516Sopenharmony_ci    
40e18e3516Sopenharmony_ci# ---------------------------------------------------- 
41e18e3516Sopenharmony_ci# UCP and casing tests - except for the first two, these will all fail in 8-bit
42e18e3516Sopenharmony_ci# mode because they are testing UCP without UTF and use characters > 255.
43e18e3516Sopenharmony_ci
44e18e3516Sopenharmony_ci/\x{c1}/i,no_start_optimize
45e18e3516Sopenharmony_ci\= Expect no match
46e18e3516Sopenharmony_ci    \x{e1}
47e18e3516Sopenharmony_ci
48e18e3516Sopenharmony_ci/\x{c1}+\x{e1}/iB,ucp
49e18e3516Sopenharmony_ci    \x{c1}\x{c1}\x{c1}
50e18e3516Sopenharmony_ci    \x{e1}\x{e1}\x{e1} 
51e18e3516Sopenharmony_ci
52e18e3516Sopenharmony_ci/\x{120}\x{c1}/i,ucp,no_start_optimize
53e18e3516Sopenharmony_ci    \x{121}\x{e1}
54e18e3516Sopenharmony_ci
55e18e3516Sopenharmony_ci/\x{120}\x{c1}/i,ucp
56e18e3516Sopenharmony_ci    \x{121}\x{e1}
57e18e3516Sopenharmony_ci
58e18e3516Sopenharmony_ci/[^\x{120}]/i,no_start_optimize
59e18e3516Sopenharmony_ci    \x{121}
60e18e3516Sopenharmony_ci
61e18e3516Sopenharmony_ci/[^\x{120}]/i,ucp,no_start_optimize
62e18e3516Sopenharmony_ci\= Expect no match
63e18e3516Sopenharmony_ci    \x{121}
64e18e3516Sopenharmony_ci
65e18e3516Sopenharmony_ci/[^\x{120}]/i
66e18e3516Sopenharmony_ci    \x{121}
67e18e3516Sopenharmony_ci
68e18e3516Sopenharmony_ci/[^\x{120}]/i,ucp
69e18e3516Sopenharmony_ci\= Expect no match
70e18e3516Sopenharmony_ci    \x{121}
71e18e3516Sopenharmony_ci    
72e18e3516Sopenharmony_ci/\x{120}{2}/i,ucp
73e18e3516Sopenharmony_ci    \x{121}\x{121}
74e18e3516Sopenharmony_ci
75e18e3516Sopenharmony_ci/[^\x{120}]{2}/i,ucp
76e18e3516Sopenharmony_ci\= Expect no match
77e18e3516Sopenharmony_ci    \x{121}\x{121}
78e18e3516Sopenharmony_ci
79e18e3516Sopenharmony_ci# ---------------------------------------------------- 
80e18e3516Sopenharmony_ci
81e18e3516Sopenharmony_ci# End of testinput14
82