From a5dce59735c16ac060dc289be0b27cf01f548c5c Mon Sep 17 00:00:00 2001 From: Conduitry Date: Sat, 29 Apr 2017 22:51:10 -0400 Subject: [PATCH] fix parsing of expressions wrapped in parentheses (#534) --- src/parse/read/expression.js | 2 +- .../samples/paren-wrapped-expressions/_config.js | 16 ++++++++++++++++ .../samples/paren-wrapped-expressions/main.html | 8 ++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 test/runtime/samples/paren-wrapped-expressions/_config.js create mode 100644 test/runtime/samples/paren-wrapped-expressions/main.html diff --git a/src/parse/read/expression.js b/src/parse/read/expression.js index 7aa34b9bdc..384e56fd91 100644 --- a/src/parse/read/expression.js +++ b/src/parse/read/expression.js @@ -34,7 +34,7 @@ export default function readExpression ( parser ) { parser.index = start; try { - const node = parseExpressionAt( parser.template, parser.index ); + const node = parseExpressionAt( parser.template, parser.index, { preserveParens: true } ); parser.index = node.end; return node; diff --git a/test/runtime/samples/paren-wrapped-expressions/_config.js b/test/runtime/samples/paren-wrapped-expressions/_config.js new file mode 100644 index 0000000000..4b784625ce --- /dev/null +++ b/test/runtime/samples/paren-wrapped-expressions/_config.js @@ -0,0 +1,16 @@ +export default { + data: { + a: 'foo', + b: true, + c: [ 1, 2, 3 ], + }, + + html: ` + foo + + true + 1 + 2 + 3 + ` +}; diff --git a/test/runtime/samples/paren-wrapped-expressions/main.html b/test/runtime/samples/paren-wrapped-expressions/main.html new file mode 100644 index 0000000000..ec4b4152c4 --- /dev/null +++ b/test/runtime/samples/paren-wrapped-expressions/main.html @@ -0,0 +1,8 @@ +{{ (a) }} + +{{#if (b) }} + true +{{/if}} +{{#each (c) as x}} + {{x}} +{{/each}}