Skip to content

Commit a32988b

Browse files
authored
Syle-guide-ify is-superselector() specs (#1453)
1 parent 592601a commit a32988b

File tree

68 files changed

+2310
-703
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+2310
-703
lines changed

STYLE_GUIDE.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ an exception. Thorough testing trumps style.
4343
* [DO use type selectors as placeholders](#do-use-type-selectors-as-placeholders)
4444
* [DO use descriptive names for multiple placeholders](#do-use-descriptive-names-for-multiple-placeholders)
4545
* [DO use single-letter names for irrelevant placeholders](#do-use-single-letter-names-for-irrelevant-placeholders)
46+
* [DO use `pfx` for vendor prefixes](#do-use-pfx-for-vendor-prefixes)
4647
* [DO use style rules for expression-level tests](#do-use-style-rules-for-expression-level-tests)
4748
* [PREFER making imported files partials](#prefer-making-imported-files-partials)
4849
* [DO name single imported or used files "other"](#do-name-single-imported-or-used-files-other)
@@ -617,6 +618,45 @@ property name.
617618
[its path]: #do-use-descriptive-paths
618619
[one thing]: #do-test-only-one-thing-per-spec
619620

621+
### DO use `pfx` for vendor prefixes
622+
623+
<details>
624+
<summary>Example</summary>
625+
626+
#### Good
627+
628+
```hrx
629+
<===> input.scss
630+
a {b: is-superselector(":-pfx-matches(c d)", "c d")}
631+
632+
<===> output.css
633+
a {
634+
b: true;
635+
}
636+
```
637+
638+
#### Bad
639+
640+
```hrx
641+
<===> input.scss
642+
a {b: is-superselector(":-webkit-matches(c d)", "c d")}
643+
644+
<===> output.css
645+
a {
646+
b: true;
647+
}
648+
```
649+
650+
</details>
651+
652+
There are a few situation in which Sass specifically parses vendor prefixes. In
653+
these cases, *all* vendor prefixes should be treated equivalently, whether
654+
they're from a real browser or not. To test this, use the non-existent vendor
655+
prefix `pfx`.
656+
657+
If multiple different vendor prefixes are needed, index them by letter, as
658+
`-pfxa-`, `-pfxb`, and so on.
659+
620660
### DO use style rules for expression-level tests
621661

622662
<details>

0 commit comments

Comments
 (0)