|
|
@ -2,78 +2,117 @@ |
|
|
|
var sourceMapping = require('./resources/sourceMapping') |
|
|
|
var sourceMapping = require('./resources/sourceMapping') |
|
|
|
var index = require('../src/index') |
|
|
|
var index = require('../src/index') |
|
|
|
var tape = require('tape') |
|
|
|
var tape = require('tape') |
|
|
|
|
|
|
|
var util = require('../src/helpers/util') |
|
|
|
|
|
|
|
|
|
|
|
tape('Util', function (t) { |
|
|
|
tape('Util', function (t) { |
|
|
|
|
|
|
|
t.test('lowerbound', function (st) { |
|
|
|
|
|
|
|
st.plan(7) |
|
|
|
|
|
|
|
var array = [2, 5, 8, 9, 45, 56, 78] |
|
|
|
|
|
|
|
var lowerBound = util.findLowerBound(10, array) |
|
|
|
|
|
|
|
st.equal(lowerBound, 3) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lowerBound = util.findLowerBound(3, array) |
|
|
|
|
|
|
|
st.equal(lowerBound, 0) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lowerBound = util.findLowerBound(100, array) |
|
|
|
|
|
|
|
st.equal(lowerBound, 6) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lowerBound = util.findLowerBound(1, array) |
|
|
|
|
|
|
|
st.equal(lowerBound, -1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lowerBound = util.findLowerBound(45, array) |
|
|
|
|
|
|
|
st.equal(lowerBound, 4) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
array = [2, 5, 8, 9, 9, 45, 56, 78] |
|
|
|
|
|
|
|
lowerBound = util.findLowerBound(9, array) |
|
|
|
|
|
|
|
st.equal(lowerBound, 4) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lowerBound = util.findLowerBound(9, []) |
|
|
|
|
|
|
|
st.equal(lowerBound, -1) |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
var testSourceMapping = {} |
|
|
|
var testSourceMapping = {} |
|
|
|
t.test('sourceMappingDecoder', function (st) { |
|
|
|
t.test('sourceMappingDecoder', function (st) { |
|
|
|
st.plan(28) |
|
|
|
st.plan(28) |
|
|
|
var sourceMappingDecoder = new index.util.SourceMappingDecoder() |
|
|
|
var sourceMappingDecoder = new index.util.SourceMappingDecoder() |
|
|
|
console.log('test decompressAll') |
|
|
|
console.log('test decompressAll') |
|
|
|
var result = sourceMappingDecoder.decompressAll(sourceMapping.mapping) |
|
|
|
var result = sourceMappingDecoder.decompressAll(sourceMapping.mapping) |
|
|
|
st.ok(result[0].start === 0) |
|
|
|
st.equal(result[0].start, 0) |
|
|
|
st.ok(result[0].length === 205) |
|
|
|
st.equal(result[0].length, 205) |
|
|
|
st.ok(result[0].file === 4) |
|
|
|
st.equal(result[0].file, 4) |
|
|
|
st.ok(result[0].jump === '-') |
|
|
|
st.equal(result[0].jump, '-') |
|
|
|
|
|
|
|
|
|
|
|
st.ok(result[21].start === 0) |
|
|
|
st.equal(result[21].start, 0) |
|
|
|
st.ok(result[21].length === 205) |
|
|
|
st.equal(result[21].length, 205) |
|
|
|
st.ok(result[21].file === 4) |
|
|
|
st.equal(result[21].file, 4) |
|
|
|
st.ok(result[21].jump === '-') |
|
|
|
st.equal(result[21].jump, '-') |
|
|
|
testSourceMapping[21] = result[21] |
|
|
|
testSourceMapping[21] = result[21] |
|
|
|
|
|
|
|
|
|
|
|
st.ok(result[22].start === 55) |
|
|
|
st.equal(result[22].start, 55) |
|
|
|
st.ok(result[22].length === 74) |
|
|
|
st.equal(result[22].length, 74) |
|
|
|
st.ok(result[22].file === 4) |
|
|
|
st.equal(result[22].file, 4) |
|
|
|
st.ok(result[22].jump === '-') |
|
|
|
st.equal(result[22].jump, '-') |
|
|
|
|
|
|
|
|
|
|
|
var last = result.length - 1 |
|
|
|
var last = result.length - 1 |
|
|
|
st.ok(result[last].start === 142) |
|
|
|
st.equal(result[last].start, 142) |
|
|
|
st.ok(result[last].length === 61) |
|
|
|
st.equal(result[last].length, 61) |
|
|
|
st.ok(result[last].file === 4) |
|
|
|
st.equal(result[last].file, 4) |
|
|
|
st.ok(result[last].jump === 'o') |
|
|
|
st.equal(result[last].jump, 'o') |
|
|
|
testSourceMapping['last'] = result[last] |
|
|
|
testSourceMapping['last'] = result[last] |
|
|
|
|
|
|
|
|
|
|
|
console.log('test decompress') |
|
|
|
console.log('test decompress') |
|
|
|
result = sourceMappingDecoder.atIndex(22, sourceMapping.mapping) |
|
|
|
result = sourceMappingDecoder.atIndex(22, sourceMapping.mapping) |
|
|
|
console.log(result) |
|
|
|
console.log(result) |
|
|
|
st.ok(result.start === 55) |
|
|
|
st.equal(result.start, 55) |
|
|
|
st.ok(result.length === 74) |
|
|
|
st.equal(result.length, 74) |
|
|
|
st.ok(result.file === 4) |
|
|
|
st.equal(result.file, 4) |
|
|
|
st.ok(result.jump === '-') |
|
|
|
st.equal(result.jump, '-') |
|
|
|
testSourceMapping[22] = result |
|
|
|
testSourceMapping[22] = result |
|
|
|
|
|
|
|
|
|
|
|
result = sourceMappingDecoder.atIndex(82, sourceMapping.mapping) |
|
|
|
result = sourceMappingDecoder.atIndex(82, sourceMapping.mapping) |
|
|
|
console.log(result) |
|
|
|
console.log(result) |
|
|
|
st.ok(result.start === 103) |
|
|
|
st.equal(result.start, 103) |
|
|
|
st.ok(result.length === 2) |
|
|
|
st.equal(result.length, 2) |
|
|
|
st.ok(result.file === 4) |
|
|
|
st.equal(result.file, 4) |
|
|
|
st.ok(result.jump === '-') |
|
|
|
st.equal(result.jump, '-') |
|
|
|
testSourceMapping[82] = result |
|
|
|
testSourceMapping[82] = result |
|
|
|
|
|
|
|
|
|
|
|
result = sourceMappingDecoder.atIndex(85, sourceMapping.mapping) |
|
|
|
result = sourceMappingDecoder.atIndex(85, sourceMapping.mapping) |
|
|
|
console.log(result) |
|
|
|
console.log(result) |
|
|
|
st.ok(result.start === 99) |
|
|
|
st.equal(result.start, 99) |
|
|
|
st.ok(result.length === 6) |
|
|
|
st.equal(result.length, 6) |
|
|
|
st.ok(result.file === 4) |
|
|
|
st.equal(result.file, 4) |
|
|
|
st.ok(result.jump === '-') |
|
|
|
st.equal(result.jump, '-') |
|
|
|
testSourceMapping[85] = result |
|
|
|
testSourceMapping[85] = result |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
t.test('sourceMappingLineColumnConverter', function (st) { |
|
|
|
t.test('sourceMappingLineColumnConverter', function (st) { |
|
|
|
st.plan(10) |
|
|
|
st.plan(14) |
|
|
|
var sourceMappingDecoder = new index.util.SourceMappingDecoder() |
|
|
|
var sourceMappingDecoder = new index.util.SourceMappingDecoder() |
|
|
|
var linesbreak = sourceMappingDecoder.getLinebreakPositions(sourceMapping.source) |
|
|
|
var linesbreak = sourceMappingDecoder.getLinebreakPositions(sourceMapping.source) |
|
|
|
st.ok(linesbreak[0] === 16) |
|
|
|
st.equal(linesbreak[0], 16) |
|
|
|
st.ok(linesbreak[5] === 84) |
|
|
|
st.equal(linesbreak[5], 84) |
|
|
|
var result = sourceMappingDecoder.convertOffsetToLineColumn(testSourceMapping[21], linesbreak) |
|
|
|
var result = sourceMappingDecoder.convertOffsetToLineColumn(testSourceMapping[21], linesbreak) |
|
|
|
st.ok(result.start.line === 0) |
|
|
|
st.equal(result.start.line, 0) |
|
|
|
st.ok(result.start.column === 0) |
|
|
|
st.equal(result.start.column, 0) |
|
|
|
st.ok(result.end.line === 15) |
|
|
|
st.equal(result.end.line, 15) |
|
|
|
st.ok(result.end.column === 1) |
|
|
|
st.equal(result.end.column, 1) |
|
|
|
result = sourceMappingDecoder.convertOffsetToLineColumn(testSourceMapping[82], linesbreak) |
|
|
|
result = sourceMappingDecoder.convertOffsetToLineColumn(testSourceMapping[82], linesbreak) |
|
|
|
st.ok(result.start.line === 7) |
|
|
|
st.equal(result.start.line, 7) |
|
|
|
st.ok(result.start.column === 12) |
|
|
|
st.equal(result.start.column, 12) |
|
|
|
st.ok(result.end.line === 7) |
|
|
|
st.equal(result.end.line, 7) |
|
|
|
st.ok(result.end.column === 14) |
|
|
|
st.equal(result.end.column, 14) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var res = { // point to \n
|
|
|
|
|
|
|
|
start: 103, |
|
|
|
|
|
|
|
length: 4, |
|
|
|
|
|
|
|
file: 4, |
|
|
|
|
|
|
|
jump: '-' |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
result = sourceMappingDecoder.convertOffsetToLineColumn(res, linesbreak) |
|
|
|
|
|
|
|
st.equal(result.start.line, 7) |
|
|
|
|
|
|
|
st.equal(result.start.column, 12) |
|
|
|
|
|
|
|
st.equal(result.end.line, 7) |
|
|
|
|
|
|
|
st.equal(result.end.column, 16) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|