From b45258e07f12b616e0c21d5597da6864591ed38f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20Marohni=C4=87?= Date: Thu, 10 Sep 2015 18:33:39 +0200 Subject: [PATCH] The default value of flex-basis is 0% The INITIAL value is `auto`, silly me. --- bugs/bug4.js | 6 +++--- bugs/bug6.js | 7 +++++++ specs/bug4Spec.js | 8 ++++---- specs/bug6Spec.js | 2 +- specs/bug81aSpec.js | 4 ++-- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/bugs/bug4.js b/bugs/bug4.js index ae03b53..b4b14c1 100644 --- a/bugs/bug4.js +++ b/bugs/bug4.js @@ -21,8 +21,8 @@ module.exports = function(decl) { } var values = postcss.list.space(decl.value); var flexGrow = values[0]; - var flexShrink = values[1]; - var flexBasis = values[2] || 'auto'; - decl.value = flexGrow + ' ' + (flexShrink || '1') + ' ' + properBasis(flexBasis); + var flexShrink = values[1] || '1'; + var flexBasis = values[2] || '0%'; + decl.value = flexGrow + ' ' + flexShrink + ' ' + properBasis(flexBasis); } }; diff --git a/bugs/bug6.js b/bugs/bug6.js index 638eabc..7f8197a 100644 --- a/bugs/bug6.js +++ b/bugs/bug6.js @@ -1,7 +1,14 @@ +var postcss = require('postcss'); + module.exports = function(decl) { if (decl.prop === 'flex') { if(decl.value === 'none'){ return; } + var values = postcss.list.space(decl.value); + var flexGrow = values[0]; + var flexShrink = values[1] || '1'; + var flexBasis = values[2] || '0%'; + decl.value = flexGrow + ' ' + flexShrink + ' ' + flexBasis; } }; diff --git a/specs/bug4Spec.js b/specs/bug4Spec.js index 6b0d4d9..8a641e3 100644 --- a/specs/bug4Spec.js +++ b/specs/bug4Spec.js @@ -1,14 +1,14 @@ var test = require('./test'); describe('bug 4', function() { - it('set auto for default flex-basis and 1 for flex-shrink in flex shorthand', function(done) { + it('set 0% for default flex-basis and 1 for flex-shrink in flex shorthand', function(done) { var input = 'div{flex: 1;}'; - var output = 'div{flex: 1 1 auto;}'; + var output = 'div{flex: 1 1 0%;}'; test(input, output, {}, done); }); - it('set auto for default flex-basis when not specified', function(done) { + it('set 0% for default flex-basis when not specified', function(done) { var input = 'div{flex: 1 1;}'; - var output = 'div{flex: 1 1 auto;}'; + var output = 'div{flex: 1 1 0%;}'; test(input, output, {}, done); }); it('set flex-basis === 0% for flex-basis with plain 0', function(done) { diff --git a/specs/bug6Spec.js b/specs/bug6Spec.js index c3fd4cd..9ae11d3 100644 --- a/specs/bug6Spec.js +++ b/specs/bug6Spec.js @@ -3,7 +3,7 @@ var test = require('./test'); describe('bug 6', function() { it('Set flex-shrink to 1 by default', function(done) { var input = 'div{flex: 1;}'; - var output = 'div{flex: 1 1 auto;}'; + var output = 'div{flex: 1 1 0%;}'; test(input, output, {}, done); }); describe('does nothing', function() { diff --git a/specs/bug81aSpec.js b/specs/bug81aSpec.js index 76af79f..0bc24f4 100644 --- a/specs/bug81aSpec.js +++ b/specs/bug81aSpec.js @@ -9,12 +9,12 @@ describe('bug 8.1.a', function() { describe('does nothing', function() { it('when using only first value', function(done) { var input = 'a{flex: 0}'; - var output = 'a{flex: 0 1 auto}'; + var output = 'a{flex: 0 1 0%}'; test(input, output, {}, done); }); it('when using only first and second values', function(done) { var input = 'a{flex: 0 0}'; - var output = 'a{flex: 0 0 auto}'; + var output = 'a{flex: 0 0 0%}'; test(input, output, {}, done); }); it('when not using calc', function(done) {