diff options
author | Kaique da Silva <44123854+ktfth@users.noreply.github.com> | 2023-06-29 23:22:04 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-30 11:22:04 +0900 |
commit | fc335bd28d27903ab4ffbddd101816d63b0ad2e3 (patch) | |
tree | 017316ff394c2c8819f3617a2740ffb2395ae167 | |
parent | 4db534d4614e2b96161b67906e062500e764079c (diff) |
test(ext/node): added assertion errors test (#19609)
-rw-r--r-- | cli/tests/integration/node_unit_tests.rs | 1 | ||||
-rw-r--r-- | cli/tests/unit_node/assertion_error_test.ts | 69 |
2 files changed, 70 insertions, 0 deletions
diff --git a/cli/tests/integration/node_unit_tests.rs b/cli/tests/integration/node_unit_tests.rs index 2323dba9b..7c1da1939 100644 --- a/cli/tests/integration/node_unit_tests.rs +++ b/cli/tests/integration/node_unit_tests.rs @@ -50,6 +50,7 @@ util::unit_test_factory!( _fs_writeFile_test = _fs / _fs_writeFile_test, _fs_write_test = _fs / _fs_write_test, async_hooks_test, + assertion_error_test, buffer_test, child_process_test, crypto_cipher_test = crypto / crypto_cipher_test, diff --git a/cli/tests/unit_node/assertion_error_test.ts b/cli/tests/unit_node/assertion_error_test.ts new file mode 100644 index 000000000..ab6ed5bc3 --- /dev/null +++ b/cli/tests/unit_node/assertion_error_test.ts @@ -0,0 +1,69 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +import { stripColor } from "../../../test_util/std/fmt/colors.ts"; +import { + assert, + assertStrictEquals, +} from "../../../test_util/std/testing/asserts.ts"; +import { AssertionError } from "node:assert"; + +Deno.test({ + name: "construct AssertionError() with given message", + fn() { + const err = new AssertionError( + { + message: "answer", + actual: "42", + expected: "42", + operator: "notStrictEqual", + }, + ); + assertStrictEquals(err.name, "AssertionError"); + assertStrictEquals(err.message, "answer"); + assertStrictEquals(err.generatedMessage, false); + assertStrictEquals(err.code, "ERR_ASSERTION"); + assertStrictEquals(err.actual, "42"); + assertStrictEquals(err.expected, "42"); + assertStrictEquals(err.operator, "notStrictEqual"); + }, +}); + +Deno.test({ + name: "construct AssertionError() with generated message", + fn() { + const err = new AssertionError( + { actual: 1, expected: 2, operator: "equal" }, + ); + assertStrictEquals(err.name, "AssertionError"); + assertStrictEquals(stripColor(err.message), "1 equal 2"); + assertStrictEquals(err.generatedMessage, true); + assertStrictEquals(err.code, "ERR_ASSERTION"); + assertStrictEquals(err.actual, 1); + assertStrictEquals(err.expected, 2); + assertStrictEquals(err.operator, "equal"); + }, +}); + +Deno.test({ + name: "construct AssertionError() with stackStartFn", + fn: function stackStartFn() { + const expected = /node/; + const err = new AssertionError({ + actual: "deno", + expected, + operator: "match", + stackStartFn, + }); + assertStrictEquals(err.name, "AssertionError"); + assertStrictEquals(stripColor(err.message), `'deno' match /node/`); + assertStrictEquals(err.generatedMessage, true); + assertStrictEquals(err.code, "ERR_ASSERTION"); + assertStrictEquals(err.actual, "deno"); + assertStrictEquals(err.expected, expected); + assertStrictEquals(err.operator, "match"); + assert(err.stack, "error should have a stack"); + assert( + !err.stack?.includes("stackStartFn"), + "stackStartFn() should not present in stack trace", + ); + }, +}); |