Sneed Group Holder
e18d08e951
Some checks are pending
ci / Linux (Ubuntu) (push) Waiting to run
ci / linux-asan (push) Waiting to run
ci / linux-msan (push) Waiting to run
ci / linux-ubsan (push) Waiting to run
ci / macOS (push) Waiting to run
ci / macos-asan (push) Waiting to run
ci / macos-ubsan (push) Waiting to run
ci / freebsd (push) Waiting to run
ci / qemu-alpine (arm32v6) (push) Waiting to run
ci / qemu-alpine (arm32v7) (push) Waiting to run
ci / qemu-alpine (arm64v8) (push) Waiting to run
ci / qemu-alpine (i386) (push) Waiting to run
ci / qemu-alpine (s390x) (push) Waiting to run
49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
export function assert(actual, expected, message) {
|
|
if (arguments.length === 1)
|
|
expected = true;
|
|
|
|
if (typeof actual === typeof expected) {
|
|
if (actual === expected) {
|
|
if (actual !== 0 || (1 / actual) === (1 / expected))
|
|
return;
|
|
}
|
|
if (typeof actual === 'number') {
|
|
if (isNaN(actual) && isNaN(expected))
|
|
return;
|
|
}
|
|
if (typeof actual === 'object') {
|
|
if (actual !== null && expected !== null
|
|
&& actual.constructor === expected.constructor
|
|
&& actual.toString() === expected.toString())
|
|
return;
|
|
}
|
|
}
|
|
throw Error("assertion failed: got |" + actual + "|" +
|
|
", expected |" + expected + "|" +
|
|
(message ? " (" + message + ")" : ""));
|
|
}
|
|
|
|
export function assertThrows(err, func)
|
|
{
|
|
var ex;
|
|
ex = false;
|
|
try {
|
|
func();
|
|
} catch(e) {
|
|
ex = true;
|
|
assert(e instanceof err);
|
|
}
|
|
assert(ex, true, "exception expected");
|
|
}
|
|
|
|
export function assertArrayEquals(a, b)
|
|
{
|
|
if (!Array.isArray(a) || !Array.isArray(b))
|
|
return assert(false);
|
|
|
|
assert(a.length, b.length);
|
|
|
|
a.forEach((value, idx) => {
|
|
assert(b[idx], value);
|
|
});
|
|
}
|