--- /dev/null
+# 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