From 96bc15dfa237b506c4f2d8bf1c041f25000e9878 Mon Sep 17 00:00:00 2001 From: Farsen976 Date: Thu, 16 Mar 2023 04:16:03 +0100 Subject: fix(ext/node): implement "ascii" encoding for node:fs writeFile() (#18097) --- cli/tests/unit_node/fs_test.ts | 48 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 cli/tests/unit_node/fs_test.ts (limited to 'cli') 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"', + ); + }, +); -- cgit v1.2.3