summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaique da Silva <44123854+ktfth@users.noreply.github.com>2023-06-29 23:22:04 -0300
committerGitHub <noreply@github.com>2023-06-30 11:22:04 +0900
commitfc335bd28d27903ab4ffbddd101816d63b0ad2e3 (patch)
tree017316ff394c2c8819f3617a2740ffb2395ae167
parent4db534d4614e2b96161b67906e062500e764079c (diff)
test(ext/node): added assertion errors test (#19609)
-rw-r--r--cli/tests/integration/node_unit_tests.rs1
-rw-r--r--cli/tests/unit_node/assertion_error_test.ts69
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",
+ );
+ },
+});