fix: don't lowercase nesting selector (#4048)

master
Evilebot Tnawi 2018-02-27 04:13:02 +03:00 committed by suchipi
parent efd5bde713
commit 4ddf1a6e84
4 changed files with 38 additions and 5 deletions

View File

@ -289,15 +289,22 @@ function genericPrint(path, options, print) {
return adjustStrings(node.value, options);
}
case "selector-tag": {
const parentNode = path.getParentNode();
const index = parentNode && parentNode.nodes.indexOf(node);
const prevNode = index && parentNode.nodes[index - 1];
return concat([
node.namespace
? concat([node.namespace === true ? "" : node.namespace.trim(), "|"])
: "",
adjustNumbers(
isHTMLTag(node.value) || isKeyframeAtRuleKeywords(path, node.value)
? node.value.toLowerCase()
: node.value
)
prevNode.type === "selector-nesting"
? node.value
: adjustNumbers(
isHTMLTag(node.value) ||
isKeyframeAtRuleKeywords(path, node.value)
? node.value.toLowerCase()
: node.value
)
]);
}
case "selector-id": {

View File

@ -273,6 +273,8 @@ a:AFTER {
}
TABLE {}
.foo { &-KeepSelector {} &-KeepSelector & .KeepClassSelector {} &-100\\.200 {} }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Convention in this test file:
// - The case should be preserved for things prefixed with "Keep".
@ -426,6 +428,15 @@ a:after {
table {
}
.foo {
&-KeepSelector {
}
&-KeepSelector & .KeepClassSelector {
}
&-100\\.200 {
}
}
`;
exports[`case.scss 1`] = `
@ -574,6 +585,8 @@ a:AFTER {
}
TABLE {}
.foo { &-KeepSelector {} &-KeepSelector & .KeepClassSelector {} &-100\\.200 {} }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Convention in this test file:
// - The case should be preserved for things prefixed with "Keep".
@ -725,4 +738,13 @@ a:after {
table {
}
.foo {
&-KeepSelector {
}
&-KeepSelector & .KeepClassSelector {
}
&-100\\.200 {
}
}
`;

View File

@ -140,3 +140,5 @@ a:AFTER {
}
TABLE {}
.foo { &-KeepSelector {} &-KeepSelector & .KeepClassSelector {} &-100\.200 {} }

View File

@ -143,3 +143,5 @@ a:AFTER {
}
TABLE {}
.foo { &-KeepSelector {} &-KeepSelector & .KeepClassSelector {} &-100\.200 {} }