2013-03-04 14:19:08 -05:00
|
|
|
return if global.testingBrowser
|
|
|
|
|
2013-03-18 07:23:05 -04:00
|
|
|
SourceMap = require '../src/sourcemap'
|
2013-02-28 15:51:29 -05:00
|
|
|
|
|
|
|
vlqEncodedValues = [
|
|
|
|
[1, "C"],
|
|
|
|
[-1, "D"],
|
|
|
|
[2, "E"],
|
|
|
|
[-2, "F"],
|
|
|
|
[0, "A"],
|
|
|
|
[16, "gB"],
|
|
|
|
[948, "o7B"]
|
|
|
|
]
|
|
|
|
|
2013-03-18 07:23:05 -04:00
|
|
|
test "encodeVlq tests", ->
|
2013-02-28 15:51:29 -05:00
|
|
|
for pair in vlqEncodedValues
|
2013-03-18 07:23:05 -04:00
|
|
|
eq ((new SourceMap).encodeVlq pair[0]), pair[1]
|
2013-02-28 15:51:29 -05:00
|
|
|
|
2013-03-04 09:25:55 -05:00
|
|
|
eqJson = (a, b) ->
|
|
|
|
eq (JSON.stringify JSON.parse a), (JSON.stringify JSON.parse b)
|
|
|
|
|
2013-02-28 15:51:29 -05:00
|
|
|
test "SourceMap tests", ->
|
2013-03-18 07:23:05 -04:00
|
|
|
map = new SourceMap
|
|
|
|
map.add [0, 0], [0, 0]
|
|
|
|
map.add [1, 5], [2, 4]
|
|
|
|
map.add [1, 6], [2, 7]
|
|
|
|
map.add [1, 9], [2, 8]
|
|
|
|
map.add [3, 0], [3, 4]
|
|
|
|
|
|
|
|
testWithFilenames = map.generate {
|
2013-03-06 11:05:57 -05:00
|
|
|
sourceRoot: "",
|
2013-03-07 21:26:09 -05:00
|
|
|
sourceFiles: ["source.coffee"],
|
2013-03-06 11:05:57 -05:00
|
|
|
generatedFile: "source.js"}
|
2013-03-18 09:50:40 -04:00
|
|
|
eqJson testWithFilenames, '{"version":3,"file":"source.js","sourceRoot":"","sources":["source.coffee"],"names":[],"mappings":"AAAA;;IACK,GAAC,CAAG;IAET"}'
|
|
|
|
eqJson map.generate(), '{"version":3,"file":"","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA;;IACK,GAAC,CAAG;IAET"}'
|
2013-02-28 15:51:29 -05:00
|
|
|
|
|
|
|
# Look up a generated column - should get back the original source position.
|
2013-03-18 07:23:05 -04:00
|
|
|
arrayEq map.sourceLocation([2,8]), [1,9]
|
2013-02-28 15:51:29 -05:00
|
|
|
|
2014-08-26 21:34:45 -04:00
|
|
|
# Look up a point further along on the same line - should get back the same source position.
|
2013-03-18 07:23:05 -04:00
|
|
|
arrayEq map.sourceLocation([2,10]), [1,9]
|