/* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2011 Mozilla Foundation and contributors * Licensed under the New BSD license. See LICENSE or: * http://opensource.org/licenses/BSD-3-Clause */ /* * WARNING! * * Do not edit this file directly, it is built from the sources at * https://github.com/mozilla/source-map/ */ Components.utils.import('resource://gre/modules/Require.jsm'); Components.utils.import('resource:///modules/devtools/SourceMap.jsm'); let EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; /* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2011 Mozilla Foundation and contributors * Licensed under the New BSD license. See LICENSE or: * http://opensource.org/licenses/BSD-3-Clause */ define('test/source-map/assert', ['exports'], function (exports) { let do_throw = function (msg) { throw new Error(msg); }; exports.init = function (throw_fn) { do_throw = throw_fn; }; exports.doesNotThrow = function (fn) { try { fn(); } catch (e) { do_throw(e.message); } }; exports.equal = function (actual, expected, msg) { msg = msg || String(actual) + ' != ' + String(expected); if (actual != expected) { do_throw(msg); } }; exports.ok = function (val, msg) { msg = msg || String(val) + ' is falsey'; if (!Boolean(val)) { do_throw(msg); } }; exports.strictEqual = function (actual, expected, msg) { msg = msg || String(actual) + ' !== ' + String(expected); if (actual !== expected) { do_throw(msg); } }; exports.throws = function (fn) { try { fn(); do_throw('Expected an error to be thrown, but it wasn\'t.'); } catch (e) { } }; }); /* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2011 Mozilla Foundation and contributors * Licensed under the New BSD license. See LICENSE or: * http://opensource.org/licenses/BSD-3-Clause */ define('test/source-map/util', ['require', 'exports', 'module' ], function(require, exports, module) { // This is a test mapping which maps functions from two different files // (one.js and two.js) to a minified generated source. // // Here is one.js: // // ONE.foo = function (bar) { // return baz(bar); // }; // // Here is two.js: // // TWO.inc = function (n) { // return n + 1; // }; // // And here is the generated code (min.js): // // ONE.foo=function(a){return baz(a);}; // TWO.inc=function(a){return a+1;}; exports.testMap = { version: 3, file: 'min.js', names: ['bar', 'baz', 'n'], sources: ['one.js', 'two.js'], sourceRoot: '/the/root', mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' }; function assertMapping(generatedLine, generatedColumn, originalSource, originalLine, originalColumn, name, map, assert) { var mapping = map.originalPositionFor({ line: generatedLine, column: generatedColumn }); assert.equal(mapping.name, name, 'Incorrect name, expected ' + JSON.stringify(name) + ', got ' + JSON.stringify(mapping.name)); assert.equal(mapping.line, originalLine, 'Incorrect line, expected ' + JSON.stringify(originalLine) + ', got ' + JSON.stringify(mapping.line)); assert.equal(mapping.column, originalColumn, 'Incorrect column, expected ' + JSON.stringify(originalColumn) + ', got ' + JSON.stringify(mapping.column)); assert.equal(mapping.source, originalSource, 'Incorrect source, expected ' + JSON.stringify(originalSource) + ', got ' + JSON.stringify(mapping.source)); } exports.assertMapping = assertMapping; }); /* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2011 Mozilla Foundation and contributors * Licensed under the New BSD license. See LICENSE or: * http://opensource.org/licenses/BSD-3-Clause */ function runSourceMapTests(modName, do_throw) { let mod = require(modName); let assert = require('test/source-map/assert'); let util = require('test/source-map/util'); assert.init(do_throw); for (let k in mod) { if (/^test/.test(k)) { mod[k](assert, util); } } }