From 1c239350096f5f1588c7c0f8ba459bf4e5d93489 Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Wed, 17 Jan 2024 19:02:37 +0300 Subject: [PATCH] test: more --- test/index.test.js | 119 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) diff --git a/test/index.test.js b/test/index.test.js index 3b2b254..c93446a 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -868,6 +868,125 @@ const tests = [ options: { mode: "pure" }, error: /is not pure/, }, + { + name: "css nesting", + input: ` +.foo { + &.class { + a_value: some-value; + } + + @media screen and (min-width: 900px) { + b_value: some-value; + + .bar { + c_value: some-value; + } + + &.baz { + c_value: some-value; + } + } +}`, + expected: ` +:local(.foo) { + &:local(.class) { + a_value: some-value; + } + + @media screen and (min-width: 900px) { + b_value: some-value; + + :local(.bar) { + c_value: some-value; + } + + &:local(.baz) { + c_value: some-value; + } + } +}`, + }, + { + name: "css nesting #1", + options: { mode: "global" }, + input: ` +:local(.foo) { + &:local(.class) { + a_value: some-value; + } + + @media screen and (min-width: 900px) { + b_value: some-value; + + :local(.bar) { + c_value: some-value; + } + + &:local(.baz) { + c_value: some-value; + } + } +}`, + expected: ` +:local(.foo) { + &:local(.class) { + a_value: some-value; + } + + @media screen and (min-width: 900px) { + b_value: some-value; + + :local(.bar) { + c_value: some-value; + } + + &:local(.baz) { + c_value: some-value; + } + } +}`, + }, + { + name: "css nesting #2", + options: { mode: "pure" }, + input: ` +.foo { + &.class { + a_value: some-value; + } + + @media screen and (min-width: 900px) { + b_value: some-value; + + .bar { + c_value: some-value; + } + + &.baz { + c_value: some-value; + } + } +}`, + expected: ` +:local(.foo) { + &:local(.class) { + a_value: some-value; + } + + @media screen and (min-width: 900px) { + b_value: some-value; + + :local(.bar) { + c_value: some-value; + } + + &:local(.baz) { + c_value: some-value; + } + } +}`, + }, /* Bug in postcss-selector-parser {