Skip to content

Commit a257d02

Browse files
committed
fix literal prop handling for negative numbers (fix #2242)
1 parent ec3948d commit a257d02

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

src/util/lang.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ export function hasOwn (obj, key) {
8282
* @return {Boolean}
8383
*/
8484

85-
var literalValueRE = /^\s?(true|false|[\d\.]+|'[^']*'|"[^"]*")\s?$/
85+
var literalValueRE = /^\s?(true|false|-?[\d\.]+|'[^']*'|"[^"]*")\s?$/
8686
export function isLiteral (exp) {
8787
return literalValueRE.test(exp)
8888
}

test/unit/specs/compiler/compile_spec.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,7 @@ describe('Compile', function () {
277277
testOneTime: null,
278278
optimizeLiteral: null,
279279
optimizeLiteralStr: null,
280+
optimizeLiteralNegativeNumber: null,
280281
literalWithFilter: null
281282
}
282283
el.innerHTML = '<div ' +
@@ -285,6 +286,7 @@ describe('Compile', function () {
285286
'test-boolean ' +
286287
':optimize-literal="1" ' +
287288
':optimize-literal-str="\'true\'"' +
289+
':optimize-literal-negative-number="-1"' +
288290
':test-two-way.sync="a" ' +
289291
':two-way-warn.sync="a + 1" ' +
290292
':test-one-time.once="a" ' +
@@ -303,6 +305,8 @@ describe('Compile', function () {
303305
expect(vm._data.optimizeLiteral).toBe(1)
304306
expect(vm.optimizeLiteralStr).toBe('true')
305307
expect(vm._data.optimizeLiteralStr).toBe('true')
308+
expect(vm.optimizeLiteralNegativeNumber).toBe(-1)
309+
expect(vm._data.optimizeLiteralNegativeNumber).toBe(-1)
306310
// one time
307311
expect(vm.testOneTime).toBe('from parent: a')
308312
expect(vm._data.testOneTime).toBe('from parent: a')

0 commit comments

Comments
 (0)