Skip to content

Commit 38f03c6

Browse files
committed
Adding position checking tests
1 parent c7a848d commit 38f03c6

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed

src/calmjs/parse/tests/lexer.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,43 @@
523523
)
524524
]
525525

526+
es2015_pos_cases = [
527+
(
528+
'single_line_template',
529+
"""
530+
var foo = `bar`;
531+
""", ([
532+
'var 1:0', 'foo 1:4', '= 1:8', '`bar` 1:10', '; 1:15'
533+
], [
534+
'var 1:1', 'foo 1:5', '= 1:9', '`bar` 1:11', '; 1:16',
535+
])
536+
), (
537+
'multi_line',
538+
"""
539+
var foo = `bar
540+
${1}`;
541+
""", ([
542+
'var 1:0', 'foo 1:4', '= 1:8', '`bar\n${ 1:10',
543+
'1 2:17', '}` 2:18', '; 2:20',
544+
], [
545+
'var 1:1', 'foo 1:5', '= 1:9', '`bar\n${ 1:11',
546+
'1 2:3', '}` 2:4', '; 2:6',
547+
])
548+
), (
549+
'multi_line_joined',
550+
r"""
551+
var foo = `bar\
552+
${1}`;
553+
""", ([
554+
'var 1:0', 'foo 1:4', '= 1:8', '`bar\\\n${ 1:10',
555+
'1 2:18', '}` 2:19', '; 2:21',
556+
], [
557+
'var 1:1', 'foo 1:5', '= 1:9', '`bar\\\n${ 1:11',
558+
'1 2:3', '}` 2:4', '; 2:6',
559+
])
560+
)
561+
]
562+
526563

527564
def run_lexer(value, lexer_cls):
528565
lexer = lexer_cls()

src/calmjs/parse/tests/test_es2015_lexer.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
es5_cases,
3939
es5_pos_cases,
4040
es2015_cases,
41+
es2015_pos_cases,
4142
)
4243

4344

@@ -75,3 +76,7 @@ def test_initial_template_character(self):
7576
LexerES2015TestCase = build_equality_testcase(
7677
'LexerES2015TestCase', partial(run_lexer, lexer_cls=Lexer), (
7778
(label, data[0], data[1],) for label, data in es2015_cases))
79+
80+
LexerES2015PosTestCase = build_equality_testcase(
81+
'LexerES2015PosTestCase', partial(
82+
run_lexer_pos, lexer_cls=Lexer), es2015_pos_cases)

0 commit comments

Comments
 (0)