/* -*- 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 */ if (typeof define !== 'function') { var define = require('amdefine')(module, require); } define(function (require, exports, module) { var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; exports['test eating our own dog food'] = function (assert, util) { var smg = new SourceMapGenerator({ file: 'testing.js', sourceRoot: '/wu/tang' }); smg.addMapping({ source: 'gza.coffee', original: { line: 1, column: 0 }, generated: { line: 2, column: 2 } }); smg.addMapping({ source: 'gza.coffee', original: { line: 2, column: 0 }, generated: { line: 3, column: 2 } }); smg.addMapping({ source: 'gza.coffee', original: { line: 3, column: 0 }, generated: { line: 4, column: 2 } }); smg.addMapping({ source: 'gza.coffee', original: { line: 4, column: 0 }, generated: { line: 5, column: 2 } }); smg.addMapping({ source: 'gza.coffee', original: { line: 5, column: 10 }, generated: { line: 6, column: 12 } }); var smc = new SourceMapConsumer(smg.toString()); // Exact util.assertMapping(2, 2, '/wu/tang/gza.coffee', 1, 0, null, smc, assert); util.assertMapping(3, 2, '/wu/tang/gza.coffee', 2, 0, null, smc, assert); util.assertMapping(4, 2, '/wu/tang/gza.coffee', 3, 0, null, smc, assert); util.assertMapping(5, 2, '/wu/tang/gza.coffee', 4, 0, null, smc, assert); util.assertMapping(6, 12, '/wu/tang/gza.coffee', 5, 10, null, smc, assert); // Fuzzy // Generated to original util.assertMapping(2, 0, null, null, null, null, smc, assert, true); util.assertMapping(2, 9, '/wu/tang/gza.coffee', 1, 0, null, smc, assert, true); util.assertMapping(3, 0, null, null, null, null, smc, assert, true); util.assertMapping(3, 9, '/wu/tang/gza.coffee', 2, 0, null, smc, assert, true); util.assertMapping(4, 0, null, null, null, null, smc, assert, true); util.assertMapping(4, 9, '/wu/tang/gza.coffee', 3, 0, null, smc, assert, true); util.assertMapping(5, 0, null, null, null, null, smc, assert, true); util.assertMapping(5, 9, '/wu/tang/gza.coffee', 4, 0, null, smc, assert, true); util.assertMapping(6, 0, null, null, null, null, smc, assert, true); util.assertMapping(6, 9, null, null, null, null, smc, assert, true); util.assertMapping(6, 13, '/wu/tang/gza.coffee', 5, 10, null, smc, assert, true); // Original to generated util.assertMapping(2, 2, '/wu/tang/gza.coffee', 1, 1, null, smc, assert, null, true); util.assertMapping(3, 2, '/wu/tang/gza.coffee', 2, 3, null, smc, assert, null, true); util.assertMapping(4, 2, '/wu/tang/gza.coffee', 3, 6, null, smc, assert, null, true); util.assertMapping(5, 2, '/wu/tang/gza.coffee', 4, 9, null, smc, assert, null, true); util.assertMapping(5, 2, '/wu/tang/gza.coffee', 5, 9, null, smc, assert, null, true); util.assertMapping(6, 12, '/wu/tang/gza.coffee', 6, 19, null, smc, assert, null, true); }; });