Skip to content

Case-insensitive selectors messed up when used with @extend #2884

@SagePtr

Description

@SagePtr

input.scss

$titles: "foo", "bar", "BaZ";

%border {
        border: 1px solid;
}

@mixin border-red {
        border-color: red;
}

@mixin border-blue {
        border-color: blue;
}

@each $t in $titles {
        p[title="#{$t}" i] {
                @extend %border;
                @include border-red;
        }
        p[title="#{$t}"] {
                @extend %border;
                @include border-blue;
        }
}

Actual results

libsass 3.5.4

p[title="foo" i], p[title="bar" i], p[title="BaZ" i] {
  border: 1px solid; }

p[title="foo" i] {
  border-color: red; }

p[title="foo" i] {
  border-color: blue; }

p[title="bar" i] {
  border-color: red; }

p[title="bar" i] {
  border-color: blue; }

p[title="BaZ" i] {
  border-color: red; }

p[title="BaZ" i] {
  border-color: blue; }

Expected result

ruby sass 3.7.4

p[title="foo" i], p[title="foo"], p[title="bar" i], p[title="bar"], p[title="BaZ" i], p[title="BaZ"] {
  border: 1px solid; }

p[title="foo" i] {
  border-color: red; }

p[title="foo"] {
  border-color: blue; }

p[title="bar" i] {
  border-color: red; }

p[title="bar"] {
  border-color: blue; }

p[title="BaZ" i] {
  border-color: red; }

p[title="BaZ"] {
  border-color: blue; }

version info:

$ node-sass --version
node-sass       4.12.0  (Wrapper)       [JavaScript]
libsass         3.5.4   (Sass Compiler) [C/C++]

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions