diff options
author | Farsen976 <etudacfarsen@gmail.com> | 2023-03-16 04:16:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-16 12:16:03 +0900 |
commit | 96bc15dfa237b506c4f2d8bf1c041f25000e9878 (patch) | |
tree | f8281b35910cc1881fab99b1898d26be67fef696 /cli/tests/unit_node/fs_test.ts | |
parent | 392f91da005809782cae53cc05c9f45589d3b051 (diff) |
fix(ext/node): implement "ascii" encoding for node:fs writeFile() (#18097)
Diffstat (limited to 'cli/tests/unit_node/fs_test.ts')
-rw-r--r-- | cli/tests/unit_node/fs_test.ts | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/cli/tests/unit_node/fs_test.ts b/cli/tests/unit_node/fs_test.ts new file mode 100644 index 000000000..3e9ad4480 --- /dev/null +++ b/cli/tests/unit_node/fs_test.ts @@ -0,0 +1,48 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. + +import { + assert, + assertThrows, +} from "../../../test_util/std/testing/asserts.ts"; +import { join } from "node:path"; +import { tmpdir } from "node:os"; +import { mkdtempSync, readFileSync, writeFileSync } from "node:fs"; + +Deno.test( + "[node/fs writeFileSync] write file without option", + () => { + const data = "Hello"; + const filename = mkdtempSync(join(tmpdir(), "foo-")) + "/test.txt"; + + writeFileSync(filename, data); + const dataRead = readFileSync(filename, "utf8"); + + assert(dataRead === "Hello"); + }, +); + +Deno.test( + "[node/fs writeFileSync] write file with option ASCII", + () => { + const data = "Hello"; + const filename = mkdtempSync(join(tmpdir(), "foo-")) + "/test.txt"; + + writeFileSync(filename, data, { encoding: "ascii" }); + const dataRead = readFileSync(filename, "utf8"); + + assert(dataRead === "Hello"); + }, +); + +Deno.test( + "[node/fs writeFileSync] write file throws error when encoding is not implemented", + () => { + const data = "Hello"; + const filename = mkdtempSync(join(tmpdir(), "foo-")) + "/test.txt"; + + assertThrows( + () => writeFileSync(filename, data, { encoding: "utf16le" }), + 'The value "utf16le" is invalid for option "encoding"', + ); + }, +); |