diff options
Diffstat (limited to 'cli/tests')
-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"', + ); + }, +); |