diff options
Diffstat (limited to 'devtools/shared/tests/xpcshell/test_assert.js')
-rw-r--r-- | devtools/shared/tests/xpcshell/test_assert.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/devtools/shared/tests/xpcshell/test_assert.js b/devtools/shared/tests/xpcshell/test_assert.js new file mode 100644 index 0000000000..45ae9eb1a2 --- /dev/null +++ b/devtools/shared/tests/xpcshell/test_assert.js @@ -0,0 +1,42 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Test DevToolsUtils.assert + +ALLOW_CONSOLE_ERRORS = true; + +function run_test() { + const { assert } = DevToolsUtils; + equal(typeof assert, "function"); + + try { + assert(true, "this assertion should not fail"); + } catch (e) { + // If you catch assertion failures in practice, I will hunt you down. I get + // email notifications every time it happens. + ok( + false, + "Should not get an error for an assertion that should not fail. Got " + + DevToolsUtils.safeErrorString(e) + ); + } + + let assertionFailed = false; + try { + assert(false, "this assertion should fail"); + } catch (e) { + ok( + e.message.startsWith("Assertion failure:"), + "Should be an assertion failure error" + ); + assertionFailed = true; + } + + ok( + assertionFailed, + "The assertion should have failed, which should throw an error when assertions " + + "are enabled." + ); +} |