UNPKG

962 BJavaScriptView Raw
1var acorn = require("acorn");
2var assert = require("assert");
3var coffee = require("coffee-script");
4var sourceMapToAst = require("../lib/sourcemap_to_ast");
5
6describe("sourceMapToAst", function() {
7 it("works", function() {
8 var compiled = coffee.compile("x =\n 1", { sourceMap: true });
9 var ast = acorn.parse(compiled.js, { locations: true });
10
11 assert.equal(
12 compiled.js,
13 "(function() {\n" +
14 " var x;\n\n" +
15 " x = 1;\n\n" + // line 4 and columns 2 to 7
16 "}).call(this);\n"
17 );
18
19 var func = ast.body[0].expression.callee.object;
20 var funcBody = func.body.body;
21 var assignment = funcBody[1].expression;
22
23 assert.deepEqual(assignment.loc.start, { line: 4, column: 2 });
24 assert.deepEqual(assignment.loc.end, { line: 4, column: 7 });
25
26 sourceMapToAst(ast, compiled.v3SourceMap);
27
28 assert.deepEqual(assignment.loc.start, { line: 1, column: 0 });
29 assert.deepEqual(assignment.right.loc.start, {
30 line: 2,
31 column: 1
32 });
33 });
34});