summaryrefslogtreecommitdiffstats
path: root/tests/io.test
diff options
context:
space:
mode:
authoroehhar <harald.oehlmann@elmicron.de>2022-09-09 13:41:50 (GMT)
committeroehhar <harald.oehlmann@elmicron.de>2022-09-09 13:41:50 (GMT)
commitfc474844a77a1f8a4fbde6335d9fe57e0166f7a3 (patch)
treea6f1ac70bcade1f145dc8506310b6ad1073e0e08 /tests/io.test
parenta81159df88c89e6950dff666b7e507a0285c616a (diff)
parent8d3f011861dcd391662c06432e4cda4b88bb7696 (diff)
downloadtcl-fc474844a77a1f8a4fbde6335d9fe57e0166f7a3.zip
tcl-fc474844a77a1f8a4fbde6335d9fe57e0166f7a3.tar.gz
tcl-fc474844a77a1f8a4fbde6335d9fe57e0166f7a3.tar.bz2
Merge 8.6
Diffstat (limited to 'tests/io.test')
-rw-r--r--tests/io.test33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/io.test b/tests/io.test
index 6314ace..b6c4fb5 100644
--- a/tests/io.test
+++ b/tests/io.test
@@ -8952,6 +8952,39 @@ test io-74.1 {[104f2885bb] improper cache validity check} -setup {
removeFile io-74.1
} -returnCodes error -match glob -result {can not find channel named "*"}
+# Note: the following tests are in preparation for TCL 9.0, where those should
+# result in an error result
+test io-75.1 {multibyte encoding error read results in raw bytes} -setup {
+ set fn [makeFile {} io-75.1]
+ set f [open $fn w+]
+ fconfigure $f -encoding binary
+ puts -nonewline $f "A\xC0\x40"
+ flush $f
+ seek $f 0
+ fconfigure $f -encoding utf-8 -buffering none
+} -body {
+ read $f
+} -cleanup {
+ close $f
+ removeFile io-75.1
+} -returnCodes ok -result "A\xC0\x40"
+# for TCL 9.0, the result is error
+
+test io-75.2 {unrepresentable character write passes and is replaced by ?} -setup {
+ set fn [makeFile {} io-75.2]
+ set f [open $fn w+]
+ fconfigure $f -encoding iso8859-1
+} -body {
+ # the following command gets in result error in TCL 9.0
+ puts -nonewline $f "A\u2022"
+ flush $f
+ seek $f 0
+ read $f
+} -cleanup {
+ close $f
+ removeFile io-75.2
+} -returnCodes ok -result "A?"
+
# ### ### ### ######### ######### #########
# cleanup