summaryrefslogtreecommitdiffstats
path: root/tests/utf.test
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2020-05-10 20:15:13 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2020-05-10 20:15:13 (GMT)
commit27b62f923f30ceb131115f13a84d1d1ef24c6d7c (patch)
treeded863b63b8cb79691d3691466f2c96c766d109a /tests/utf.test
parent0b4d13b85c2515d59f4854f113466e482a205c58 (diff)
parent4e395367ed068227c36e2c69660993d483a52e7b (diff)
downloadtcl-27b62f923f30ceb131115f13a84d1d1ef24c6d7c.zip
tcl-27b62f923f30ceb131115f13a84d1d1ef24c6d7c.tar.gz
tcl-27b62f923f30ceb131115f13a84d1d1ef24c6d7c.tar.bz2
Merge 8.7
Diffstat (limited to 'tests/utf.test')
-rw-r--r--tests/utf.test155
1 files changed, 81 insertions, 74 deletions
diff --git a/tests/utf.test b/tests/utf.test
index 43cce39..672534e 100644
--- a/tests/utf.test
+++ b/tests/utf.test
@@ -21,6 +21,7 @@ testConstraint fullutf [expr {[format %c 0x010000] ne "\uFFFD"}]
testConstraint utf16 [expr {[string length [format %c 0x10000]] == 2}]
testConstraint ucs4 [expr {[testConstraint fullutf]
&& [string length [format %c 0x10000]] == 1}]
+testConstraint ucs2_utf16 [expr {![testConstraint ucs4]}]
testConstraint Uesc [expr {"\U0041" eq "A"}]
testConstraint pre388 [expr {"\x741" eq "A"}]
@@ -212,12 +213,9 @@ test utf-6.8 {Tcl_UtfNext} {testutfnext testbytestring} {
test utf-6.9.0 {Tcl_UtfNext} {testutfnext testbytestring ucs2} {
testutfnext [testbytestring \xA0]
} 1
-test utf-6.9.1 {Tcl_UtfNext} {testutfnext testbytestring utf16} {
+test utf-6.9.1 {Tcl_UtfNext} {testutfnext testbytestring fullutf} {
testutfnext [testbytestring \xA0]
} -1
-test utf-6.9.2 {Tcl_UtfNext} {testutfnext testbytestring ucs4} {
- testutfnext [testbytestring \xA0\x00]
-} 1
test utf-6.10 {Tcl_UtfNext} {testutfnext testbytestring} {
testutfnext [testbytestring \xA0]G
} 1
@@ -407,10 +405,10 @@ test utf-6.67 {Tcl_UtfNext} {testutfnext testbytestring} {
test utf-6.68 {Tcl_UtfNext} {testutfnext testbytestring} {
testutfnext [testbytestring \xF2\xA0\xA0]G
} 1
-test utf-6.69.0 {Tcl_UtfNext} {testutfnext testbytestring utf16} {
+test utf-6.69.0 {Tcl_UtfNext} {testutfnext testbytestring ucs2} {
testutfnext [testbytestring \xF2\xA0\xA0\xA0]
-} 4
-test utf-6.69.1 {Tcl_UtfNext} {testutfnext ucs4} {
+} 1
+test utf-6.69.1 {Tcl_UtfNext} {testutfnext testbytestring fullutf} {
testutfnext [testbytestring \xF2\xA0\xA0\xA0]
} 4
test utf-6.70 {Tcl_UtfNext} {testutfnext testbytestring} {
@@ -425,40 +423,40 @@ test utf-6.72 {Tcl_UtfNext} {testutfnext testbytestring} {
test utf-6.73 {Tcl_UtfNext} {testutfnext testbytestring} {
testutfnext [testbytestring \xF2\xA0\xA0\xF8]
} 1
-test utf-6.74.0 {Tcl_UtfNext} {testutfnext testbytestring utf16} {
+test utf-6.74.0 {Tcl_UtfNext} {testutfnext testbytestring ucs2} {
testutfnext [testbytestring \xF2\xA0\xA0\xA0]G
-} 4
-test utf-6.74.1 {Tcl_UtfNext} {testutfnext testbytestring ucs4} {
+} 1
+test utf-6.74.1 {Tcl_UtfNext} {testutfnext testbytestring fullutf} {
testutfnext [testbytestring \xF2\xA0\xA0\xA0]G
} 4
-test utf-6.75.0 {Tcl_UtfNext} {testutfnext testbytestring utf16} {
+test utf-6.75.0 {Tcl_UtfNext} {testutfnext testbytestring ucs2} {
testutfnext [testbytestring \xF2\xA0\xA0\xA0\xA0]
-} 4
-test utf-6.75.1 {Tcl_UtfNext} {testutfnext testbytestring ucs4} {
+} 1
+test utf-6.75.1 {Tcl_UtfNext} {testutfnext testbytestring fullutf} {
testutfnext [testbytestring \xF2\xA0\xA0\xA0\xA0]
} 4
-test utf-6.76.0 {Tcl_UtfNext} {testutfnext testbytestring utf16} {
+test utf-6.76.0 {Tcl_UtfNext} {testutfnext testbytestring ucs2} {
testutfnext [testbytestring \xF2\xA0\xA0\xA0\xD0]
-} 4
-test utf-6.76.1 {Tcl_UtfNext} {testutfnext testbytestring ucs4} {
+} 1
+test utf-6.76.1 {Tcl_UtfNext} {testutfnext testbytestring fullutf} {
testutfnext [testbytestring \xF2\xA0\xA0\xA0\xD0]
} 4
-test utf-6.77.0 {Tcl_UtfNext} {testutfnext testbytestring utf16} {
+test utf-6.77.0 {Tcl_UtfNext} {testutfnext testbytestring ucs2} {
testutfnext [testbytestring \xF2\xA0\xA0\xA0\xE8]
-} 4
-test utf-6.77.1 {Tcl_UtfNext} {testutfnext testbytestring ucs4} {
+} 1
+test utf-6.77.1 {Tcl_UtfNext} {testutfnext testbytestring fullutf} {
testutfnext [testbytestring \xF2\xA0\xA0\xA0\xE8]
} 4
-test utf-6.78.0 {Tcl_UtfNext} {testutfnext testbytestring utf16} {
+test utf-6.78.0 {Tcl_UtfNext} {testutfnext testbytestring ucs2} {
testutfnext [testbytestring \xF2\xA0\xA0\xA0\xF2]
-} 4
-test utf-6.78.1 {Tcl_UtfNext} {testutfnext testbytestring ucs4} {
+} 1
+test utf-6.78.1 {Tcl_UtfNext} {testutfnext testbytestring fullutf} {
testutfnext [testbytestring \xF2\xA0\xA0\xA0\xF2]
} 4
-test utf-6.79.0 {Tcl_UtfNext} {testutfnext testbytestring utf16} {
+test utf-6.79.0 {Tcl_UtfNext} {testutfnext testbytestring ucs2} {
testutfnext [testbytestring \xF2\xA0\xA0\xA0G\xF8]
-} 4
-test utf-6.79.1 {Tcl_UtfNext} {testutfnext testbytestring ucs4} {
+} 1
+test utf-6.79.1 {Tcl_UtfNext} {testutfnext testbytestring fullutf} {
testutfnext [testbytestring \xF2\xA0\xA0\xA0G\xF8]
} 4
test utf-6.80 {Tcl_UtfNext - overlong sequences} testutfnext {
@@ -482,10 +480,10 @@ test utf-6.85 {Tcl_UtfNext - overlong sequences} {testutfnext testbytestring} {
test utf-6.86 {Tcl_UtfNext - overlong sequences} {testutfnext testbytestring} {
testutfnext [testbytestring \xF0\x80\x80\x80]
} 1
-test utf-6.87.0 {Tcl_UtfNext - overlong sequences} {testutfnext testbytestring utf16} {
+test utf-6.87.0 {Tcl_UtfNext - overlong sequences} {testutfnext testbytestring ucs2} {
testutfnext [testbytestring \xF0\x90\x80\x80]
-} 4
-test utf-6.87.1 {Tcl_UtfNext - overlong sequences} {testutfnext testbytestring ucs4} {
+} 1
+test utf-6.87.1 {Tcl_UtfNext - overlong sequences} {testutfnext testbytestring fullutf} {
testutfnext [testbytestring \xF0\x90\x80\x80]
} 4
test utf-6.88 {Tcl_UtfNext, pointing to 2th byte of 3-byte valid sequence} {testutfnext testbytestring} {
@@ -494,27 +492,36 @@ test utf-6.88 {Tcl_UtfNext, pointing to 2th byte of 3-byte valid sequence} {test
test utf-6.89 {Tcl_UtfNext, pointing to 2th byte of 3-byte invalid sequence} {testutfnext testbytestring} {
testutfnext [testbytestring \x80\x80\x00]
} 2
-test utf-6.90.0 {Tcl_UtfNext, validity check [493dccc2de]} {testutfnext utf16} {
- testutfnext \uDBFF\uDFFF
-} 4
-test utf-6.90.1 {Tcl_UtfNext, validity check [493dccc2de]} {testutfnext ucs4} {
- testutfnext \U10FFFF
+test utf-6.90.0 {Tcl_UtfNext, validity check [493dccc2de]} {testutfnext testbytestring ucs2} {
+ testutfnext [testbytestring \xF4\x8F\xBF\xBF]
+} 1
+test utf-6.90.1 {Tcl_UtfNext, validity check [493dccc2de]} {testutfnext testbytestring fullutf} {
+ testutfnext [testbytestring \xF4\x8F\xBF\xBF]
} 4
-test utf-6.91 {Tcl_UtfNext, validity check [493dccc2de]} {testutfnext testbytestring} {
+test utf-6.91.0 {Tcl_UtfNext, validity check [493dccc2de]} {testutfnext testbytestring ucs2} {
+ testutfnext [testbytestring \xF4\x90\x80\x80]
+} 1
+test utf-6.91.1 {Tcl_UtfNext, validity check [493dccc2de]} {testutfnext testbytestring fullutf} {
testutfnext [testbytestring \xF4\x90\x80\x80]
} 1
-test utf-6.92 {Tcl_UtfNext, pointing to 2th byte of 4-byte valid sequence} {testutfnext testbytestring} {
+test utf-6.92.0 {Tcl_UtfNext, pointing to 2th byte of 4-byte valid sequence} {testutfnext testbytestring ucs2} {
+ testutfnext [testbytestring \xA0\xA0\xA0]
+} 1
+test utf-6.92.1 {Tcl_UtfNext, pointing to 2th byte of 4-byte valid sequence} {testutfnext testbytestring fullutf} {
testutfnext [testbytestring \xA0\xA0\xA0]
} 3
-test utf-6.93 {Tcl_UtfNext, pointing to 2th byte of 4-byte invalid sequence} {testutfnext testbytestring} {
+test utf-6.93.0 {Tcl_UtfNext, pointing to 2th byte of 4-byte invalid sequence} {testutfnext testbytestring ucs2} {
+ testutfnext [testbytestring \x80\x80\x80]
+} 1
+test utf-6.93.1 {Tcl_UtfNext, pointing to 2th byte of 4-byte invalid sequence} {testutfnext testbytestring fullutf} {
testutfnext [testbytestring \x80\x80\x80]
} 3
-test utf-6.94 {Tcl_UtfNext, pointing to 2th byte of 5-byte invalid sequence} {testutfnext testbytestring} {
+test utf-6.94 {Tcl_UtfNext, pointing to 2th byte of 5-byte invalid sequence} {testutfnext testbytestring ucs2} {
testutfnext [testbytestring \xA0\xA0\xA0\xA0]
-} 3
-test utf-6.95 {Tcl_UtfNext, pointing to 2th byte of 5-byte invalid sequence} {testutfnext testbytestring} {
+} 1
+test utf-6.95 {Tcl_UtfNext, pointing to 2th byte of 5-byte invalid sequence} {testutfnext testbytestring ucs2} {
testutfnext [testbytestring \x80\x80\x80\x80]
-} 3
+} 1
test utf-7.1 {Tcl_UtfPrev} testutfprev {
testutfprev {}
@@ -579,22 +586,22 @@ test utf-7.9.1 {Tcl_UtfPrev} {testutfprev testbytestring} {
test utf-7.9.2 {Tcl_UtfPrev} {testutfprev testbytestring} {
testutfprev A[testbytestring \xF8\xA0\xF8\xA0] 3
} 2
-test utf-7.10.0 {Tcl_UtfPrev} {testutfprev testbytestring utf16} {
+test utf-7.10.0 {Tcl_UtfPrev} {testutfprev testbytestring ucs2} {
testutfprev A[testbytestring \xF2\xA0]
-} 1
-test utf-7.10.1 {Tcl_UtfPrev} {testutfprev testbytestring ucs4} {
+} 2
+test utf-7.10.1 {Tcl_UtfPrev} {testutfprev testbytestring fullutf} {
testutfprev A[testbytestring \xF2\xA0]
} 1
-test utf-7.10.2 {Tcl_UtfPrev} {testutfprev testbytestring utf16} {
+test utf-7.10.2 {Tcl_UtfPrev} {testutfprev testbytestring ucs2} {
testutfprev A[testbytestring \xF2\xA0\xA0\xA0] 3
-} 1
-test utf-7.10.3 {Tcl_UtfPrev} {testutfprev testbytestring ucs4} {
+} 2
+test utf-7.10.3 {Tcl_UtfPrev} {testutfprev testbytestring fullutf} {
testutfprev A[testbytestring \xF2\xA0\xA0\xA0] 3
} 1
-test utf-7.10.4 {Tcl_UtfPrev} {testutfprev testbytestring utf16} {
+test utf-7.10.4 {Tcl_UtfPrev} {testutfprev testbytestring ucs2} {
testutfprev A[testbytestring \xF2\xA0\xF8\xA0] 3
-} 1
-test utf-7.10.5 {Tcl_UtfPrev} {testutfprev testbytestring ucs4} {
+} 2
+test utf-7.10.5 {Tcl_UtfPrev} {testutfprev testbytestring fullutf} {
testutfprev A[testbytestring \xF2\xA0\xF8\xA0] 3
} 1
test utf-7.11 {Tcl_UtfPrev} {testutfprev testbytestring} {
@@ -636,22 +643,22 @@ test utf-7.14.1 {Tcl_UtfPrev} {testutfprev testbytestring} {
test utf-7.14.2 {Tcl_UtfPrev} {testutfprev testbytestring} {
testutfprev A[testbytestring \xF8\xA0\xA0\xF8] 4
} 3
-test utf-7.15.0 {Tcl_UtfPrev} {testutfprev testbytestring utf16} {
+test utf-7.15.0 {Tcl_UtfPrev} {testutfprev testbytestring ucs2} {
testutfprev A[testbytestring \xF2\xA0\xA0]
-} 1
-test utf-7.15.1 {Tcl_UtfPrev} {testutfprev testbytestring ucs4} {
+} 3
+test utf-7.15.1 {Tcl_UtfPrev} {testutfprev testbytestring fullutf} {
testutfprev A[testbytestring \xF2\xA0\xA0]
} 1
-test utf-7.15.2 {Tcl_UtfPrev} {testutfprev testbytestring utf16} {
+test utf-7.15.2 {Tcl_UtfPrev} {testutfprev testbytestring ucs2} {
testutfprev A[testbytestring \xF2\xA0\xA0\xA0] 4
-} 1
-test utf-7.15.3 {Tcl_UtfPrev} {testutfprev testbytestring ucs4} {
+} 3
+test utf-7.15.3 {Tcl_UtfPrev} {testutfprev testbytestring fullutf} {
testutfprev A[testbytestring \xF2\xA0\xA0\xA0] 4
} 1
-test utf-7.15.4 {Tcl_UtfPrev} {testutfprev testbytestring utf16} {
+test utf-7.15.4 {Tcl_UtfPrev} {testutfprev testbytestring ucs2} {
testutfprev A[testbytestring \xF2\xA0\xA0\xF8] 4
-} 1
-test utf-7.15.5 {Tcl_UtfPrev} {testutfprev testbytestring ucs4} {
+} 3
+test utf-7.15.5 {Tcl_UtfPrev} {testutfprev testbytestring fullutf} {
testutfprev A[testbytestring \xF2\xA0\xA0\xF8] 4
} 1
test utf-7.16 {Tcl_UtfPrev} testutfprev {
@@ -672,49 +679,49 @@ test utf-7.17.1 {Tcl_UtfPrev} {testutfprev testbytestring} {
test utf-7.17.2 {Tcl_UtfPrev} {testutfprev testbytestring} {
testutfprev A[testbytestring \xD0\xA0\xA0\xF8] 4
} 3
-test utf-7.18.0 {Tcl_UtfPrev} {testutfprev testbytestring utf16} {
+test utf-7.18.0 {Tcl_UtfPrev} {testutfprev testbytestring ucs2_utf16} {
testutfprev A[testbytestring \xA0\xA0\xA0]
} 1
test utf-7.18.1 {Tcl_UtfPrev} {testutfprev testbytestring ucs4} {
testutfprev A[testbytestring \xA0\xA0\xA0]
} 3
-test utf-7.18.2 {Tcl_UtfPrev} {testutfprev testbytestring utf16} {
+test utf-7.18.2 {Tcl_UtfPrev} {testutfprev testbytestring ucs2_utf16} {
testutfprev A[testbytestring \xA0\xA0\xA0\xA0] 4
} 1
test utf-7.18.3 {Tcl_UtfPrev} {testutfprev testbytestring ucs4} {
testutfprev A[testbytestring \xA0\xA0\xA0\xA0] 4
} 3
-test utf-7.18.4 {Tcl_UtfPrev} {testutfprev testbytestring utf16} {
+test utf-7.18.4 {Tcl_UtfPrev} {testutfprev testbytestring ucs2_utf16} {
testutfprev A[testbytestring \xA0\xA0\xA0\xF8] 4
} 1
test utf-7.18.5 {Tcl_UtfPrev} {testutfprev testbytestring ucs4} {
testutfprev A[testbytestring \xA0\xA0\xA0\xF8] 4
} 3
-test utf-7.19.0 {Tcl_UtfPrev} {testutfprev testbytestring utf16} {
+test utf-7.19.0 {Tcl_UtfPrev} {testutfprev testbytestring ucs2_utf16} {
testutfprev A[testbytestring \xF8\xA0\xA0\xA0]
} 2
test utf-7.19.1 {Tcl_UtfPrev} {testutfprev testbytestring ucs4} {
testutfprev A[testbytestring \xF8\xA0\xA0\xA0]
} 4
-test utf-7.20.0 {Tcl_UtfPrev} {testutfprev testbytestring utf16} {
+test utf-7.20.0 {Tcl_UtfPrev} {testutfprev testbytestring ucs2_utf16} {
testutfprev A[testbytestring \xF2\xA0\xA0\xA0]
} 2
test utf-7.20.1 {Tcl_UtfPrev} {testutfprev testbytestring ucs4} {
testutfprev A[testbytestring \xF2\xA0\xA0\xA0]
} 1
-test utf-7.21.0 {Tcl_UtfPrev} {testutfprev testbytestring utf16} {
+test utf-7.21.0 {Tcl_UtfPrev} {testutfprev testbytestring ucs2_utf16} {
testutfprev A\u8820[testbytestring \xA0]
} 2
test utf-7.21.1 {Tcl_UtfPrev} {testutfprev testbytestring ucs4} {
testutfprev A\u8820[testbytestring \xA0]
} 4
-test utf-7.22.0 {Tcl_UtfPrev} {testutfprev testbytestring utf16} {
+test utf-7.22.0 {Tcl_UtfPrev} {testutfprev testbytestring ucs2_utf16} {
testutfprev A[testbytestring \xD0\xA0\xA0\xA0]
} 2
test utf-7.22.1 {Tcl_UtfPrev} {testutfprev testbytestring ucs4} {
testutfprev A[testbytestring \xD0\xA0\xA0\xA0]
} 4
-test utf-7.23.0 {Tcl_UtfPrev} {testutfprev testbytestring utf16} {
+test utf-7.23.0 {Tcl_UtfPrev} {testutfprev testbytestring ucs2_utf16} {
testutfprev A[testbytestring \xA0\xA0\xA0\xA0]
} 2
test utf-7.23.1 {Tcl_UtfPrev} {testutfprev testbytestring ucs4} {
@@ -741,7 +748,7 @@ test utf-7.28 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring} {
test utf-7.28.1 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring} {
testutfprev A[testbytestring \xE0\x80\x80] 2
} 1
-test utf-7.29.0 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring utf16} {
+test utf-7.29.0 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring ucs2_utf16} {
testutfprev A[testbytestring \xF0\x80\x80\x80]
} 2
test utf-7.29.1 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring ucs4} {
@@ -774,22 +781,22 @@ test utf-7.37 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring} {
test utf-7.38 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring} {
testutfprev A[testbytestring \xE0\xA0\x80] 2
} 1
-test utf-7.39.0 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring utf16} {
+test utf-7.39.0 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring ucs2_utf16} {
testutfprev A[testbytestring \xF0\x90\x80\x80]
} 2
test utf-7.39.1 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring ucs4} {
testutfprev A[testbytestring \xF0\x90\x80\x80]
} 1
-test utf-7.40.0 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring utf16} {
+test utf-7.40.0 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring ucs2} {
testutfprev A[testbytestring \xF0\x90\x80\x80] 4
-} 1
-test utf-7.40.1 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring ucs4} {
+} 3
+test utf-7.40.1 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring fullutf} {
testutfprev A[testbytestring \xF0\x90\x80\x80] 4
} 1
-test utf-7.41.0 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring utf16} {
+test utf-7.41.0 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring ucs2} {
testutfprev A[testbytestring \xF0\x90\x80\x80] 3
-} 1
-test utf-7.41.1 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring ucs4} {
+} 2
+test utf-7.41.1 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring fullutf} {
testutfprev A[testbytestring \xF0\x90\x80\x80] 3
} 1
test utf-7.42 {Tcl_UtfPrev -- overlong sequence} {testutfprev testbytestring} {