# These test special (mostly error) UTF features of DFA matching. They are a 
# selection of the more comprehensive tests that are run for non-DFA matching.
# The output is different for the different widths.

#subject dfa

/X/utf
    XX\x{d800}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
    XX\x{d800}\=offset=3
No match
    XX\x{d800}\=no_utf_check
 0: X
    XX\x{da00}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
    XX\x{da00}\=no_utf_check
 0: X
    XX\x{dc00}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
    XX\x{dc00}\=no_utf_check
 0: X
    XX\x{de00}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
    XX\x{de00}\=no_utf_check
 0: X
    XX\x{dfff}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
    XX\x{dfff}\=no_utf_check
 0: X
    XX\x{110000}
Failed: error -28: UTF-32 error: code points greater than 0x10ffff are not defined at offset 2
    XX\x{d800}\x{1234}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
          
/badutf/utf
    X\xdf
No match
    XX\xef
No match
    XXX\xef\x80
No match
    X\xf7
No match
    XX\xf7\x80
No match
    XXX\xf7\x80\x80
No match

/shortutf/utf
    XX\xdf\=ph
No match
    XX\xef\=ph
No match
    XX\xef\x80\=ph
No match
    \xf7\=ph
No match
    \xf7\x80\=ph
No match

# End of testinput14
