aboutsummaryrefslogtreecommitdiff
path: root/tools/addon-sdk-1.3/packages/api-utils/tests/test-require.js
blob: 35c613d7e1b2bf4e5c72cc5f8f0185f05f783369 (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
const traceback = require("traceback");

exports.test_no_args = function(test) {
  var passed = false;
  try {
    var oops = require(); // leave this on line 6!
  } catch(e) {
    let msg = e.toString();
    test.assertEqual(msg.indexOf("Error: you must provide a module name when calling require() from "), 0);
    test.assertNotEqual(msg.indexOf("test-require.js"), -1, msg);
    // we'd also like to assert that the right filename and linenumber is in
    // the stack trace, but this currently doesn't work (see bugs 679591 and
    // 551604)
    if (0) {
      let tb = traceback.fromException(e);
      let lastFrame = tb[tb.length-1];
      test.assertNotEqual(lastFrame.filename.indexOf("test-require.js"), -1,
                          lastFrame.filename);
      test.assertEqual(lastFrame.lineNo, 6);
      test.assertEqual(lastFrame.funcName, "??");
    }
    passed = true;
  }
  test.assert(passed, 'require() with no args should raise helpful error');
};