adding back parentheses wrapper around interpolated expressions -- we need it

This commit is contained in:
Jeremy Ashkenas 2010-03-05 21:12:13 -05:00
parent 4c3b0b9a74
commit 08341286a3
3 changed files with 3 additions and 2 deletions

View File

@ -431,7 +431,7 @@
if (before.length) {
tokens.push(['STRING', quote + before + quote]);
}
nested = lexer.tokenize(expression.substring(2, expression.length - 1), {
nested = lexer.tokenize('(' + expression.substring(2, expression.length - 1) + ')', {
rewrite: false
});
nested.pop();

View File

@ -367,7 +367,7 @@ exports.Lexer: class Lexer
tokens.push ['STRING', quote + before.substring(0, before.length - 1) + expression + quote] if before.length
else
tokens.push ['STRING', quote + before + quote] if before.length
nested: lexer.tokenize expression.substring(2, expression.length - 1), {rewrite: no}
nested: lexer.tokenize '(' + expression.substring(2, expression.length - 1) + ')', {rewrite: no}
nested.pop()
tokens.push ['TOKENS', nested]
str: str.substring(group.length)

View File

@ -8,6 +8,7 @@ ok "[$hello$world]" is '[HelloWorld]'
ok "[${hello}${world}]" is '[HelloWorld]'
ok "$hello$$world" is 'Hello$World'
ok "${hello}$${world}" is 'Hello$World'
ok "Hello ${ 1 + 2 } World" is 'Hello 3 World'
[s, t, r, i, n, g]: ['s', 't', 'r', 'i', 'n', 'g']
ok "$s$t$r$i$n$g" is 'string'