summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2023-11-16 16:09:05 -0300
committerEuAndreh <eu@euandre.org>2023-11-16 16:09:05 -0300
commit4eea08e81de0aa006434d7299397d60ecee9abd1 (patch)
treea1bf6820b97df30a8b457a787a1a91f51b98a587 /tests
parentAdd WIP non-async functions to napi-sqlite.c (diff)
downloadpapod-4eea08e81de0aa006434d7299397d60ecee9abd1.tar.gz
papod-4eea08e81de0aa006434d7299397d60ecee9abd1.tar.xz
tests/runner.js: Replace hand-rolled assert with "node:assert" module
Diffstat (limited to 'tests')
-rw-r--r--tests/js/utils.js90
-rw-r--r--tests/runner.js11
2 files changed, 45 insertions, 56 deletions
diff --git a/tests/js/utils.js b/tests/js/utils.js
index b86d8c2..670d89a 100644
--- a/tests/js/utils.js
+++ b/tests/js/utils.js
@@ -1,120 +1,120 @@
+const assert = require("node:assert");
+
const { runTests } = require("../runner.js");
const { eq, keys } = require("../../src/utils.js");
const test_eq = t => {
t.start("eq()");
t.test("scalar values equality", () => {
- t.assert(eq(0, 0));
- t.assert(eq(100, 100));
- t.assert(eq(1.5, 1.5));
- t.assert(eq(-9, -9));
-
- t.assert(!eq(0, 1));
- t.assert(!eq(100, 99));
- t.assert(!eq(1.5, 1.4));
- t.assert(!eq(-9, 9));
+ assert(eq(0, 0));
+ assert(eq(100, 100));
+ assert(eq(1.5, 1.5));
+ assert(eq(-9, -9));
+ assert(!eq(0, 1));
+ assert(!eq(100, 99));
+ assert(!eq(1.5, 1.4));
+ assert(!eq(-9, 9));
- t.assert(eq(null, null));
- t.assert(eq(undefined, undefined));
- t.assert(eq("", ""));
- t.assert(eq("a string", "a string"));
- t.assert(!eq(null, undefined));
- t.assert(!eq(undefined, 0));
- t.assert(!eq("", "0"));
- t.assert(!eq("a string", "another string"));
+ assert(eq(null, null));
+ assert(eq(undefined, undefined));
+ assert(eq("", ""));
+ assert(eq("a string", "a string"));
+ assert(!eq(null, undefined));
+ assert(!eq(undefined, 0));
+ assert(!eq("", "0"));
+ assert(!eq("a string", "another string"));
- t.assert(eq(true, true));
- t.assert(eq(false, false));
- t.assert(!eq(true, false));
+ assert(eq(true, true));
+ assert(eq(false, false));
+ assert(!eq(true, false));
- t.assert(eq(1n, 1n));
- t.assert(eq(99999999999999n, 99999999999999n));
- // t.assert(eq(1, 1n));
+ assert(eq(1n, 1n));
+ assert(eq(99999999999999n, 99999999999999n));
});
t.test("array equality", () => {
- t.assert(eq([], []));
+ assert(eq([], []));
- t.assert(eq([0, 1, 2], [0, 1, 2]));
- t.assert(eq([0, 1, 2], new Array(0, 1, 2)));
+ assert(eq([0, 1, 2], [0, 1, 2]));
+ assert(eq([0, 1, 2], new Array(0, 1, 2)));
- t.assert(!eq([0, 1, 2], [0, 1]));
- t.assert(!eq([0, 1], new Array(0, 1, 2)));
+ assert(!eq([0, 1, 2], [0, 1]));
+ assert(!eq([0, 1], new Array(0, 1, 2)));
- t.assert(eq([undefined], [undefined]));
- t.assert(eq([null, 0, "", true], [null, 0, "", true]));
+ assert(eq([undefined], [undefined]));
+ assert(eq([null, 0, "", true], [null, 0, "", true]));
- t.assert(eq([[[[0]]]], [[[[0]]]]));
+ assert(eq([[[[0]]]], [[[[0]]]]));
- t.assert(!eq([[[[0]]]], [0]));
+ assert(!eq([[[[0]]]], [0]));
});
t.test("object equality", () => {
- t.assert(eq({}, {}));
- t.assert(eq({ a: 1 }, { a: 1 }));
+ assert(eq({}, {}));
+ assert(eq({ a: 1 }, { a: 1 }));
- t.assert(!eq({ a: 1, b: undefined }, { a: 1 }));
+ assert(!eq({ a: 1, b: undefined }, { a: 1 }));
- t.assert(eq(
+ assert(eq(
{ a: 1, b: { c: { d: "e" } } },
{ a: 1, b: { c: { d: "e" } } },
));
class C {}
- // ...
+ // ... FIXME: finish
});
t.test("mixed values", () => {
- t.assert(eq(
+ assert(eq(
{a: ["", 1, 2, 3, [{ b: { c: [ "d", "e" ]}}]]},
{a: ["", 1, 2, 3, [{ b: { c: [ "d", "e" ]}}]]},
));
- t.assert(!eq(null, {}));
+ assert(!eq(null, {}));
- t.assert(!eq([], {}));
+ assert(!eq([], {}));
});
};
const test_keys = t => {
t.start("keys()");
t.test("happy paths", () => {
- t.assertEq(
+ assert.deepEqual(
{ a: 1, b: 2 },
keys(["a", "b"], { a: 1, b: 2, c: 3 }),
);
});
t.test("stress scenarios", () => {
- t.assertEq(
+ assert.deepEqual(
{},
keys([], {}),
"empty selection of empty object",
);
- t.assertEq(
+ assert.deepEqual(
{},
keys([], {a: 1}),
"empty selection of non-empty object",
);
- t.assertEq(
+ assert.deepEqual(
{},
keys(["a"], {}),
"non-empty selection of empty object",
);
- t.assertEq(
+ assert.deepEqual(
{ a: undefined, b: null },
keys(["a", "b", "c"], { a: undefined, b: null }),
"falsy values",
diff --git a/tests/runner.js b/tests/runner.js
index ca0c183..4772a28 100644
--- a/tests/runner.js
+++ b/tests/runner.js
@@ -23,17 +23,6 @@ const t = {
throw e;
}
},
- assertEq: (expected, given, msg = "") => {
- if (!eq(expected, given)) {
- console.error("expected:", expected, "\ngiven: ", given);
- throw new AssertionError(`${red(msg)}`);
- }
- },
- assert: (x, msg = "") => {
- if (!x) {
- throw new AssertionError(`${red(msg)}`);
- }
- },
};
const runTests = async tests => {