summaryrefslogtreecommitdiffstats
path: root/devtools/shared/tests/unit/test_assert.js
blob: b871717511a452308bf708f59a7fe1fa4e79bae9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/* -*- js-indent-level: 2; indent-tabs-mode: nil -*- */
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

// Test DevToolsUtils.assert

ALLOW_CONSOLE_ERRORS = true;

function run_test() {
  // Enable assertions.
  flags.testing = true;

  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.");
}