diff --git a/index.js b/index.js index 0b8b398..99d0b11 100644 --- a/index.js +++ b/index.js @@ -325,7 +325,7 @@ function print_list(children, indent_level, css) { // var(--prop, VALUE) buffer += print_value(node, 0, css) } else if (node.type === 'Operator') { - // Put extra spacing around + - / * + // Put extra spacing before + - / * // but not before a comma if (node.value !== ',') { buffer += ' ' diff --git a/test/atrules.test.js b/test/atrules.test.js index abc2f6f..7a25484 100644 --- a/test/atrules.test.js +++ b/test/atrules.test.js @@ -161,4 +161,25 @@ Atrules('Empty atrule braces are placed on the same line', () => { assert.is(actual, expected) }) +Atrules.skip('preserves comments', () => { + let actual = format(` + @media /* comment */ all {} + @media all /* comment */ {} + @media (min-width: 1000px /* comment */) {} + @media (/* comment */ min-width: 1000px) {} + @layer /* comment */ {} + `) + let expected = `@media /* comment */ all {} + +@media all /* comment */ {} + +@media (min-width: 1000px /* comment */) {} + +@media (/* comment */ min-width: 1000px) {} + +@layer /* comment */ {} +` + assert.is(actual, expected) +}) + Atrules.run(); \ No newline at end of file diff --git a/test/declarations.test.js b/test/declarations.test.js index d58981e..c4f748d 100644 --- a/test/declarations.test.js +++ b/test/declarations.test.js @@ -73,4 +73,16 @@ Declarations('does not lowercase custom properties', () => { assert.is(actual, expected) }) +Declarations.skip('preserves comments', () => { + let actual = format(`a { + /* comment */color: green; + color/* comment */: green; + }`) + let expected = `a { + /* comment */color: green; + color/* comment */: green; +}` + assert.is(actual, expected) +}) + Declarations.run(); diff --git a/test/values.test.js b/test/values.test.js index c76bcfe..81213b9 100644 --- a/test/values.test.js +++ b/test/values.test.js @@ -169,4 +169,26 @@ Values('lowercases dimensions', () => { assert.is(actual, expected) }) +Values.skip('preserves comments', () => { + let actual = format(` + a { + color: /** comment */red; + color: red/* comment */; + background-image: linear-gradient(/* comment */red, green); + background-image: linear-gradient(red/* comment */, green); + background-image: linear-gradient(red, green/* comment */); + background-image: linear-gradient(red, green)/* comment */ + } + `) + let expected = `a { + color: /* comment */red; + color: red/* comment */; + background-image: linear-gradient(/* comment */red, green); + background-image: linear-gradient(red/* comment */, green); + background-image: linear-gradient(red, green/* comment */); + background-image: linear-gradient(red, green)/* comment */ +}` + assert.is(actual, expected) +}) + Values.run();