assert-shim.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /* -*- Mode: js; js-indent-level: 2; -*- */
  2. /*
  3. * Copyright 2011 Mozilla Foundation and contributors
  4. * Licensed under the New BSD license. See LICENSE or:
  5. * http://opensource.org/licenses/BSD-3-Clause
  6. */
  7. define('test/source-map/assert', ['exports'], function (exports) {
  8. let do_throw = function (msg) {
  9. throw new Error(msg);
  10. };
  11. exports.init = function (throw_fn) {
  12. do_throw = throw_fn;
  13. };
  14. exports.doesNotThrow = function (fn) {
  15. try {
  16. fn();
  17. }
  18. catch (e) {
  19. do_throw(e.message);
  20. }
  21. };
  22. exports.equal = function (actual, expected, msg) {
  23. msg = msg || String(actual) + ' != ' + String(expected);
  24. if (actual != expected) {
  25. do_throw(msg);
  26. }
  27. };
  28. exports.ok = function (val, msg) {
  29. msg = msg || String(val) + ' is falsey';
  30. if (!Boolean(val)) {
  31. do_throw(msg);
  32. }
  33. };
  34. exports.strictEqual = function (actual, expected, msg) {
  35. msg = msg || String(actual) + ' !== ' + String(expected);
  36. if (actual !== expected) {
  37. do_throw(msg);
  38. }
  39. };
  40. exports.throws = function (fn) {
  41. try {
  42. fn();
  43. do_throw('Expected an error to be thrown, but it wasn\'t.');
  44. }
  45. catch (e) {
  46. }
  47. };
  48. });