2012-07-18 14:17:00 -07:00
|
|
|
/* -*- 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/
|
|
|
|
*/
|
|
|
|
|
2012-07-25 10:34:34 -07:00
|
|
|
Components.utils.import('resource://gre/modules/devtools/Require.jsm');
|
2012-07-18 14:17:00 -07:00
|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|