Skip to content

Commit 1de8227

Browse files
andyjanssonben-eb
authored andcommitted
Fix consecutive substractions
1 parent dc09bce commit 1de8227

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/__tests__/index.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,19 @@ test(
168168
'calc(1px + 1)'
169169
)
170170

171+
test(
172+
'should reduce consecutive substractions (#24) (1)',
173+
testFixture,
174+
'calc(100% - 120px - 60px)',
175+
'calc(100% - 180px)'
176+
)
177+
178+
test(
179+
'should reduce consecutive substractions (#24) (2)',
180+
testFixture,
181+
'calc(100% - 10px - 20px)',
182+
'calc(100% - 30px)'
183+
)
171184

172185
test(
173186
'should produce simpler result (postcss-calc#25) (1)',

src/lib/reducer.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,12 @@ function reduceAddSubExpression(node, precision) {
115115
// (something + value) + value => something + (value + value)
116116
// (something - value) + value => something - (value + value)
117117
// (something + value) - value => something + (value - value)
118-
// (something - value) - value => something - (value - value)
118+
// (something - value) - value => something - (value + value)
119119
else if (right.type === left.right.type) {
120120
node = Object.assign({ }, left)
121121
node.right = reduce({
122122
type: 'MathExpression',
123-
operator: op,
123+
operator: op === left.operator && op === '-' ? '+' : op,
124124
left: left.right,
125125
right: right
126126
}, precision)

0 commit comments

Comments
 (0)