summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to 'testing')
-rw-r--r--testing/mod.ts7
-rw-r--r--testing/test.ts7
2 files changed, 14 insertions, 0 deletions
diff --git a/testing/mod.ts b/testing/mod.ts
index 762d37c48..06089a80a 100644
--- a/testing/mod.ts
+++ b/testing/mod.ts
@@ -74,6 +74,13 @@ const assertions = {
}
},
+ /**
+ * Forcefully throws a failed assertion
+ */
+ fail(msg?: string): void {
+ assert(false, `Failed assertion${msg ? `: ${msg}` : "."}`);
+ },
+
/** Executes a function, expecting it to throw. If it does not, then it
* throws. An error class and a string that should be included in the
* error message can also be asserted.
diff --git a/testing/test.ts b/testing/test.ts
index 1765fd6b6..347a31b56 100644
--- a/testing/test.ts
+++ b/testing/test.ts
@@ -31,6 +31,13 @@ test(function testingAssertEqual() {
assert(assertEqual === assert.equal);
});
+test(function testingAssertFail() {
+ let didThrow = false;
+
+ assert.throws(assert.fail, Error, "Failed assertion.");
+ assert.throws(() => { assert.fail("foo"); }, Error, "Failed assertion: foo");
+});
+
test(function testingAssertEqualActualUncoercable() {
let didThrow = false;
const a = Object.create(null);