diff options
author | oehhar <harald.oehlmann@elmicron.de> | 2023-11-16 17:08:54 (GMT) |
---|---|---|
committer | oehhar <harald.oehlmann@elmicron.de> | 2023-11-16 17:08:54 (GMT) |
commit | 8298e41993c18357aabbb0299cf66b1ec7308ccb (patch) | |
tree | 84f231c130ea3761bb746875e52dabb45ec0c22d /tests | |
parent | 088cf344d723d1bad30c39bef0d5ddbf27a1d377 (diff) | |
parent | 772bec7f0f57347ee8c3f7a14779ce60df6f4fc1 (diff) | |
download | tcl-8298e41993c18357aabbb0299cf66b1ec7308ccb.zip tcl-8298e41993c18357aabbb0299cf66b1ec7308ccb.tar.gz tcl-8298e41993c18357aabbb0299cf66b1ec7308ccb.tar.bz2 |
Add currently failing test io-52.20.1 to check right file position after fcopy encoding read error
Diffstat (limited to 'tests')
-rw-r--r-- | tests/io.test | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/io.test b/tests/io.test index 2dd231f..a9e98ed 100644 --- a/tests/io.test +++ b/tests/io.test @@ -7718,6 +7718,37 @@ test io-52.20 {TclCopyChannel & encodings} -setup { close $in close $out } -returnCodes 1 -match glob -result {error reading "file*": invalid or incomplete multibyte or wide character} + +test io-52.20.1 {TclCopyChannel & read encoding error & tell position} -setup { + set out [open $path(utf8-fcopy.txt) w] + fconfigure $out -encoding utf-8 -translation lf + puts $out "AÁ" + close $out +} -constraints {fcopy} -body { + # binary to encoding => the input has to be + # in utf-8 to make sense to the encoder + + set in [open $path(utf8-fcopy.txt) r] + set out [open $path(kyrillic.txt) w] + + # Using "-encoding ascii" means reading the "Á" gives an error + fconfigure $in -encoding ascii -profile strict + fconfigure $out -encoding koi8-r -translation lf + + set l {} + # should fail, so 1 is added + lappend l [catch {fcopy $in $out}] + # should be at position 1, after the first correct byte, so 1 is read. + lappend l [tell $in] + # not sure, if flush required, but anyway + flush $out + # should be at position 1, after the first correct byte, so 1 is written. + lappend l [tell $out] +} -cleanup { + close $in + close $out +} -returnCodes 0 -result {1 1 1} + test io-52.21 {TclCopyChannel & encodings} -setup { set out [open $path(utf8-fcopy.txt) w] fconfigure $out -encoding utf-8 -translation lf |