From fe70f9b13047fc59a98d5294547cfdbed54fe97e Mon Sep 17 00:00:00 2001 From: iChenLei <2470828450@qq.com> Date: Fri, 11 Jun 2021 21:00:32 +0800 Subject: [PATCH 1/2] fix: fix the special parens case --- packages/less/src/less/functions/function-caller.js | 4 ++++ packages/test-data/css/math/parens-division/parens.css | 5 +++++ packages/test-data/css/math/strict/parens.css | 5 +++++ packages/test-data/less/math/parens-division/parens.less | 6 ++++++ packages/test-data/less/math/strict/parens.less | 6 ++++++ 5 files changed, 26 insertions(+) diff --git a/packages/less/src/less/functions/function-caller.js b/packages/less/src/less/functions/function-caller.js index 109923f25..4a46ec74b 100644 --- a/packages/less/src/less/functions/function-caller.js +++ b/packages/less/src/less/functions/function-caller.js @@ -32,6 +32,10 @@ class functionCaller { if (item.type === 'Expression') { const subNodes = item.value.filter(commentFilter); if (subNodes.length === 1) { + // https://github.com/less/less.js/issues/3616 + if (item.parens && subNodes[0].op === '/') { + return item; + } return subNodes[0]; } else { return new Expression(subNodes); diff --git a/packages/test-data/css/math/parens-division/parens.css b/packages/test-data/css/math/parens-division/parens.css index 86c9cbc96..6e2434708 100644 --- a/packages/test-data/css/math/parens-division/parens.css +++ b/packages/test-data/css/math/parens-division/parens.css @@ -1,3 +1,8 @@ +.parens-issues-3615 { + bar: 888 / 444; + bar2: 2; + bar3: 2; +} .parens { border: 2px solid black; margin: 1px 3px 16 3; diff --git a/packages/test-data/css/math/strict/parens.css b/packages/test-data/css/math/strict/parens.css index c234b7bda..0842afead 100644 --- a/packages/test-data/css/math/strict/parens.css +++ b/packages/test-data/css/math/strict/parens.css @@ -1,3 +1,8 @@ +.parens-issues-3615 { + bar: 888 / 444; + bar2: 2; + bar3: 2; +} .parens { border: 2px solid black; margin: 1px 3px 16 3; diff --git a/packages/test-data/less/math/parens-division/parens.less b/packages/test-data/less/math/parens-division/parens.less index 947a2c14f..2e671269d 100644 --- a/packages/test-data/less/math/parens-division/parens.less +++ b/packages/test-data/less/math/parens-division/parens.less @@ -1,3 +1,9 @@ +.parens-issues-3615 { + bar: if(false, 666, 888 / 444); + bar2: if(false, 666, (666 / 333)); + bar3: if(false, 666, ((444 / 222))); +} + .parens { @var: 1px; border: (@var * 2) solid black; diff --git a/packages/test-data/less/math/strict/parens.less b/packages/test-data/less/math/strict/parens.less index 947a2c14f..2e671269d 100644 --- a/packages/test-data/less/math/strict/parens.less +++ b/packages/test-data/less/math/strict/parens.less @@ -1,3 +1,9 @@ +.parens-issues-3615 { + bar: if(false, 666, 888 / 444); + bar2: if(false, 666, (666 / 333)); + bar3: if(false, 666, ((444 / 222))); +} + .parens { @var: 1px; border: (@var * 2) solid black; From a2e87d7959e8d56038598c6d07bfd85d02fac10f Mon Sep 17 00:00:00 2001 From: iChenLei <2470828450@qq.com> Date: Fri, 11 Jun 2021 21:13:12 +0800 Subject: [PATCH 2/2] fix the issue number --- packages/test-data/css/math/parens-division/parens.css | 2 +- packages/test-data/css/math/strict/parens.css | 2 +- packages/test-data/less/math/parens-division/parens.less | 2 +- packages/test-data/less/math/strict/parens.less | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/test-data/css/math/parens-division/parens.css b/packages/test-data/css/math/parens-division/parens.css index 6e2434708..cc1efdf67 100644 --- a/packages/test-data/css/math/parens-division/parens.css +++ b/packages/test-data/css/math/parens-division/parens.css @@ -1,4 +1,4 @@ -.parens-issues-3615 { +.parens-issues-3616 { bar: 888 / 444; bar2: 2; bar3: 2; diff --git a/packages/test-data/css/math/strict/parens.css b/packages/test-data/css/math/strict/parens.css index 0842afead..784ed898d 100644 --- a/packages/test-data/css/math/strict/parens.css +++ b/packages/test-data/css/math/strict/parens.css @@ -1,4 +1,4 @@ -.parens-issues-3615 { +.parens-issues-3616 { bar: 888 / 444; bar2: 2; bar3: 2; diff --git a/packages/test-data/less/math/parens-division/parens.less b/packages/test-data/less/math/parens-division/parens.less index 2e671269d..ac24dc007 100644 --- a/packages/test-data/less/math/parens-division/parens.less +++ b/packages/test-data/less/math/parens-division/parens.less @@ -1,4 +1,4 @@ -.parens-issues-3615 { +.parens-issues-3616 { bar: if(false, 666, 888 / 444); bar2: if(false, 666, (666 / 333)); bar3: if(false, 666, ((444 / 222))); diff --git a/packages/test-data/less/math/strict/parens.less b/packages/test-data/less/math/strict/parens.less index 2e671269d..ac24dc007 100644 --- a/packages/test-data/less/math/strict/parens.less +++ b/packages/test-data/less/math/strict/parens.less @@ -1,4 +1,4 @@ -.parens-issues-3615 { +.parens-issues-3616 { bar: if(false, 666, 888 / 444); bar2: if(false, 666, (666 / 333)); bar3: if(false, 666, ((444 / 222)));