diff --git a/src/__tests__/fixtures/regression.css b/src/__tests__/fixtures/regression.css new file mode 100644 index 0000000..ed142dd --- /dev/null +++ b/src/__tests__/fixtures/regression.css @@ -0,0 +1,7 @@ +@custom-selector :--button .button; + +:--button { + & i { + color: black; + } +} diff --git a/src/__tests__/fixtures/regression.expected.css b/src/__tests__/fixtures/regression.expected.css new file mode 100644 index 0000000..7bd116c --- /dev/null +++ b/src/__tests__/fixtures/regression.expected.css @@ -0,0 +1,7 @@ +.button { +} + +.button i { + + color: black +} diff --git a/src/__tests__/index.js b/src/__tests__/index.js index d2b8a4c..3541c09 100644 --- a/src/__tests__/index.js +++ b/src/__tests__/index.js @@ -1,5 +1,6 @@ import tape from "tape" +import utils from "./utils" import postcssnext from ".." tape("postcss-cssnext is a postcss plugin", (t) => { @@ -10,3 +11,19 @@ tape("postcss-cssnext is a postcss plugin", (t) => { t.end() }) + +tape("cssnext regression test", (t) => { + const input = utils.readFixture("regression") + const expected = utils.readFixture("regression.expected") + const actual = postcssnext().process(input).css.trim() + + utils.write(utils.fixturePath("regression.actual"), actual) + + t.equal( + actual, + expected.trim(), + "should pass the regression" + ) + + t.end() +})