diff options
| author | oehhar <harald.oehlmann@elmicron.de> | 2022-09-11 08:41:30 (GMT) |
|---|---|---|
| committer | oehhar <harald.oehlmann@elmicron.de> | 2022-09-11 08:41:30 (GMT) |
| commit | 1b1f3ea6b7141d2f2ef93704c60fc61a40fc597a (patch) | |
| tree | 91cdab4441e34197cee59b7d88a30a052492ed09 | |
| parent | e777b5ba8f9283bbc4ab4859e6beccea01b6ac37 (diff) | |
| parent | 0f674c548252976d41f9ac1c0cf4668cb8eaaabe (diff) | |
| download | tcl-1b1f3ea6b7141d2f2ef93704c60fc61a40fc597a.zip tcl-1b1f3ea6b7141d2f2ef93704c60fc61a40fc597a.tar.gz tcl-1b1f3ea6b7141d2f2ef93704c60fc61a40fc597a.tar.bz2 | |
Merge 8.6
| -rw-r--r-- | tests/io.test | 59 |
1 files changed, 29 insertions, 30 deletions
diff --git a/tests/io.test b/tests/io.test index 5c45918..0a26df1 100644 --- a/tests/io.test +++ b/tests/io.test @@ -8952,58 +8952,57 @@ 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 75.1 to 75.3 are in preparation for TCL 9.0, where -# those should result in an error result +# The following tests 75.1 to 75.3 exercice strict or tolerant channel +# encoding. +# TCL 8.7 only offers tolerant channel encoding, what is tested here. test io-75.1 {multibyte encoding error read results in raw bytes} -constraints deprecated -setup { - set fn [makeFile {} io-75.1] + set fn [makeFile {} io-75.1] set f [open $fn w+] fconfigure $f -encoding binary - # In UTF-8, a byte 0xCx starts a multibyte sequence and must be followed - # by a byte > 0x7F. This is violated to get an invalid sequence. - puts -nonewline $f "A\xC0\x40" - flush $f - seek $f 0 - fconfigure $f -encoding utf-8 -buffering none + # In UTF-8, a byte 0xCx starts a multibyte sequence and must be followed + # by a byte > 0x7F. This is violated to get an invalid sequence. + puts -nonewline $f "A\xC0\x40" + flush $f + seek $f 0 + fconfigure $f -encoding utf-8 -buffering none } -body { - read $f + read $f } -cleanup { - close $f - removeFile io-75.1 + 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 ?} -constraints deprecated -setup { - set fn [makeFile {} io-75.2] + 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 + puts -nonewline $f "A\u2022" + flush $f + seek $f 0 + read $f } -cleanup { - close $f - removeFile io-75.2 + close $f + removeFile io-75.2 } -returnCodes ok -result "A?" # Incomplete sequence test. # This error may IMHO only be detected with the close. # But the read already returns the incomplete sequence. test io-75.3 {incomplete multibyte encoding read is ignored} -setup { - set fn [makeFile {} io-75.3] + set fn [makeFile {} io-75.3] set f [open $fn w+] fconfigure $f -encoding binary - puts -nonewline $f "A\xC0" - flush $f - seek $f 0 - fconfigure $f -encoding utf-8 -buffering none + puts -nonewline $f "A\xC0" + flush $f + seek $f 0 + fconfigure $f -encoding utf-8 -buffering none } -body { - set d [read $f] - close $f - set d + set d [read $f] + close $f + set d } -cleanup { - removeFile io-75.3 + removeFile io-75.3 } -returnCodes ok -result "A\xC0" # ### ### ### ######### ######### ######### |
