From 6fa7980cfefb019087235ac870daf13f87b69270 Mon Sep 17 00:00:00 2001 From: Matthew Dean Date: Tue, 3 Jul 2018 19:38:31 -0700 Subject: [PATCH] Fixes #3182 --- lib/less/tree/javascript.js | 5 +++-- test/css/javascript.css | 1 + test/less/javascript.less | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/less/tree/javascript.js b/lib/less/tree/javascript.js index cdafcae8b..9e77e797d 100644 --- a/lib/less/tree/javascript.js +++ b/lib/less/tree/javascript.js @@ -13,10 +13,11 @@ JavaScript.prototype = new JsEvalNode(); JavaScript.prototype.type = 'JavaScript'; JavaScript.prototype.eval = function(context) { var result = this.evaluateJavaScript(this.expression, context); + var type = typeof result; - if (typeof result === 'number') { + if (type === 'number' && !isNaN(result)) { return new Dimension(result); - } else if (typeof result === 'string') { + } else if (type === 'string') { return new Quoted('"' + result + '"', result, this.escaped, this._index); } else if (Array.isArray(result)) { return new Anonymous(result.join(', ')); diff --git a/test/css/javascript.css b/test/css/javascript.css index 9cc1c3e91..9e33ac777 100644 --- a/test/css/javascript.css +++ b/test/css/javascript.css @@ -8,6 +8,7 @@ multiline: 2; } .scope { + empty: ; var: 42; escaped: 7px; } diff --git a/test/less/javascript.less b/test/less/javascript.less index a8e7eb37f..505090cdb 100644 --- a/test/less/javascript.less +++ b/test/less/javascript.less @@ -9,6 +9,7 @@ return x})()`; } .scope { + empty: `+function(){}`; @foo: 42; var: `parseInt(this.foo.toJS())`; escaped: ~`2 + 5 + 'px'`;