mirror of
https://github.com/leafo/moonscript.git
synced 2025-01-09 00:04:22 +00:00
add posmap matching specs
This commit is contained in:
parent
437be6efb5
commit
5f4d476ad0
@ -3,6 +3,8 @@ moonscript = require "moonscript.base"
|
||||
errors = require "moonscript.errors"
|
||||
util = require "moonscript.util"
|
||||
|
||||
import unindent from require "spec.helpers"
|
||||
|
||||
get_rewritten_line_no = (fname) ->
|
||||
fname = "spec/error_inputs/#{fname}.moon"
|
||||
chunk = moonscript.loadfile fname
|
||||
@ -28,3 +30,35 @@ describe "error rewriting", ->
|
||||
it "should rewrite line number", ->
|
||||
assert.same get_rewritten_line_no(name), expected_no
|
||||
|
||||
describe "line map", ->
|
||||
import to_lua from require "moonscript.base"
|
||||
|
||||
it "should create line table", ->
|
||||
moon_code = unindent [[
|
||||
print "hello world"
|
||||
if something
|
||||
print "cats"
|
||||
]]
|
||||
|
||||
lua_code, posmap = assert to_lua moon_code
|
||||
-- print util.debug_posmap(posmap, moon_code, lua_code)
|
||||
assert.same { 7, 29, 42, 27 }, posmap
|
||||
|
||||
it "should create line table for multiline string", ->
|
||||
moon_code = unindent [[
|
||||
print "one"
|
||||
x = [==[
|
||||
one
|
||||
two
|
||||
thre
|
||||
yes
|
||||
no
|
||||
]==]
|
||||
print "two"
|
||||
]]
|
||||
|
||||
lua_code, posmap = assert to_lua moon_code
|
||||
-- print util.debug_posmap(posmap, moon_code, lua_code)
|
||||
assert.same {[1]: 7, [7]: 19, [8]: 63}, posmap
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user