Skip to content

Commit 1bac5de

Browse files
committed
Fix #394: unitless-zero vs fractions
Don't remove units from values starting from zero, like `0.5em`
1 parent 4ae9682 commit 1bac5de

File tree

4 files changed

+21
-4
lines changed

4 files changed

+21
-4
lines changed

lib/options/unitless-zero.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ module.exports = {
2020

2121
if (value.is('dimension')) {
2222
var unit = value.first('ident').content;
23-
if (value.first('number').content[0] === '0' &&
23+
if (value.first('number').content === '0' &&
2424
UNITS.indexOf(unit) !== -1) {
2525
value.remove(1);
2626
}
@@ -40,7 +40,7 @@ module.exports = {
4040
number = value.first('number').content;
4141
}
4242

43-
if (number[0] === '0') {
43+
if (number === '0') {
4444
value.type = 'number';
4545
value.content = number;
4646
}
@@ -61,14 +61,14 @@ module.exports = {
6161
if (node.is('percentage') && node.first('number').content[1] === '0') {
6262
result = false;
6363
} else if (node.is('dimension') &&
64-
node.first('number').content[0] === '0' &&
64+
node.first('number').content === '0' &&
6565
node.first('ident').content !== 'deg') {
6666
result = false;
6767
}
6868

6969
// If we see a zero and previous node is not percentage or dimension, then we have an option
7070
if (node.is('number') &&
71-
node.content[0] === '0' &&
71+
node.content === '0' &&
7272
this._prev !== 'percentage' &&
7373
this._prev !== 'dimension') {
7474
result = true;
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.example {
2+
bottom: 0em;
3+
left: 0.5em;
4+
right: 1em;
5+
top: 1.5em;
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.example {
2+
bottom: 0;
3+
left: 0.5em;
4+
right: 1em;
5+
top: 1.5em;
6+
}

test/options/unitless-zero/test.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ describe('options/unitless-zero', function() {
3535
);
3636
});
3737

38+
it('Issue 394', function() {
39+
this.comb.configure({ 'unitless-zero': true });
40+
this.shouldBeEqual('issue-394.css', 'issue-394.expected.css');
41+
});
42+
3843
it('Should detect unitless zero option', function() {
3944
this.shouldDetect(
4045
['unitless-zero'],

0 commit comments

Comments
 (0)