diff options
Diffstat (limited to 'tests/system/techo_unicode.nim')
-rw-r--r-- | tests/system/techo_unicode.nim | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/system/techo_unicode.nim b/tests/system/techo_unicode.nim new file mode 100644 index 000000000..cb7c49c68 --- /dev/null +++ b/tests/system/techo_unicode.nim @@ -0,0 +1,41 @@ +discard """ + output: '''ÄhmÖÜ +abasdfdsmÄhmaИ +Иnastystring +A你好 +ИnastystringA你好 +ÖÜhmabasdfdsmÄhmaИOK''' + disabled: "posix" + joinable: "false" +""" + +import winlean + +echo "ÄhmÖÜ" +echo "abasdfdsmÄhmaИ" +echo "Иnastystring" +echo "A你好" + +write stdout, "Иnastystring" +writeLine stdout, "A你好" +stdout.flushFile() + +let handle = getOsFileHandle(stdout) +var a = "ÖÜhmabasdfdsmÄhmaИ" +var ac = 0'i32 +discard writeFile(handle, addr a[0], int32(len(a)), addr ac, nil) +stdout.flushFile() + +import os + +let str = "some nulls: \0\0\0 (three of them)" + +let fpath = getTempDir() / "file_with_nulls.bin" + +writeFile(fpath, str) + +doAssert(getFileSize(fpath) == 31) +doAssert(readFile(fpath) == str) +removeFile(fpath) + +echo "OK" |