tailwindcss/tests
Jordan Pittman 7d8eb21de6
Don't prefix classes in arbitrary variants (#10214)
* Add tests

* Refactor

refactor

* Allow `prefixSelector` to take an AST

* Consider multiple formats in `finalizeSelector`

The functions `finalizeSelector` and `formatVariantSelector` together were using a mix for AST and string-based parsing. This now does the full transformation using the selector AST. This also parses the format strings AST as early as possible and is set up to parse them only once for a given set of rules.

All of this will allow considering metadata per format string. For instance, we now know if the format string `.foo &` was produced by a normal variant or by an arbitrary variant. We use this information to control the prefixing behavior for individual format strings.

* Update changelog

* Cleanup code a bit
2023-01-03 09:40:47 -05:00
..
__snapshots__ Ensure configured font-feature-settings are included in Preflight (#9707) 2022-11-01 17:52:59 +00:00
fixtures remove unused fixture files 2021-12-15 18:13:09 +01:00
plugins Add line-height modifier for font-size utilities (#9875) 2022-11-22 09:37:07 -05:00
postcss-plugins/nesting Prevent nesting plugin from breaking other plugins (#7563) 2022-02-21 10:12:39 -05:00
util Don't rewrite source maps for @layer rules (#8971) 2022-07-27 12:19:08 -04:00
animations.test.js Correctly parse and prefix animation names with dots (#7163) 2022-03-01 14:08:43 -05:00
any-type.test.js Implement fallback plugins when arbitrary values result in css from multiple plugins (#9376) 2022-09-29 17:26:27 +02:00
apply.test.css Change how we handle defaults (optimized or not) (#6926) 2022-01-07 11:39:45 -05:00
apply.test.html JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
apply.test.js Only sort pseudo elements after classes when using @apply and variants (#9765) 2022-11-09 16:41:16 -05:00
arbitrary-properties.test.js Fix fractional values not being parsed properly inside arbitrary properties (#9705) 2022-11-03 11:10:33 +01:00
arbitrary-values.test.css Update list of length units (#10100) 2022-12-16 10:16:12 -05:00
arbitrary-values.test.html Update list of length units (#10100) 2022-12-16 10:16:12 -05:00
arbitrary-values.test.js Support variable shorthand for arbitrary modifiers (#9962) 2022-11-29 16:06:58 -05:00
arbitrary-variants.test.js Don't prefix classes in arbitrary variants (#10214) 2023-01-03 09:40:47 -05:00
basic-usage.test.css Add support for visibility: collapse with new collapsed utility (#9181) 2022-09-09 13:19:24 -04:00
basic-usage.test.html Add support for visibility: collapse with new collapsed utility (#9181) 2022-09-09 13:19:24 -04:00
basic-usage.test.js Fix ring color utility generation when using respectDefaultRingColorOpacity (#9070) 2022-08-10 10:36:04 -04:00
blocklist.test.js Allow users to block generation of certain utilities (#9812) 2022-11-11 11:47:20 -05:00
collapse-adjacent-rules.test.css Split ::backdrop into separate defaults group (#8567) 2022-06-09 16:26:18 -04:00
collapse-adjacent-rules.test.html Recursively collapse adjacent rules (#7565) 2022-02-21 12:58:12 -05:00
collapse-adjacent-rules.test.js Handle duplicate atrules without children (#8122) 2022-04-15 12:24:27 -04:00
collapse-duplicate-declarations.test.js Improve collapsing of duplicate declarations (#6856) 2022-01-03 15:41:49 +01:00
color-opacity-modifiers.test.js Don't inherit gradient "to" from parent (#8489) 2022-06-01 15:25:45 -04:00
color.test.js Allow for custom properties in rgb, rgba, hsl and hsla colors (#7933) 2022-03-24 12:43:21 +01:00
combined-selectors.test.js Change how we handle defaults (optimized or not) (#6926) 2022-01-07 11:39:45 -05:00
configurePlugins.test.js Use safelist 2022-07-18 09:31:45 -04:00
containerPlugin.test.js Partially revert tuple syntax PR for screens: #6104 (#6289) 2021-12-07 18:49:40 +01:00
context-reuse.test.html Invalidate context when main css changes (#7626) 2022-02-25 13:12:45 -05:00
context-reuse.test.js Invalidate context when main css changes (#7626) 2022-02-25 13:12:45 -05:00
custom-extractors.test.css Update color parsing and formatting (#5442) 2021-09-09 16:15:53 +02:00
custom-extractors.test.html JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
custom-extractors.test.js Handle old to new config when normalizing the config (#5658) 2021-10-01 12:56:54 +02:00
custom-plugins.test.js Change how we handle defaults (optimized or not) (#6926) 2022-01-07 11:39:45 -05:00
custom-separator.test.css JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
custom-separator.test.html JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
custom-separator.test.js JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
custom-transformers.test.html Use real files for custom transformer test 2021-12-04 13:38:40 -05:00
custom-transformers.test.js Use real files for custom transformer test 2021-12-04 13:38:40 -05:00
custom-transformers.test.php Use real files for custom transformer test 2021-12-04 13:38:40 -05:00
customConfig.test.js Expose context.sortClassList(classes) (#7412) 2022-02-10 18:06:41 +01:00
dark-mode.test.js Re-enable new features 2022-04-12 14:13:04 -04:00
default-extractor.test.js Match arbitrary properties even when followed by square bracketed text (#10212) 2023-01-02 09:43:07 -05:00
defaultConfig.test.js Improve public API (#5526) 2021-09-26 12:44:13 +02:00
defaultTheme.test.js Improve public API (#5526) 2021-09-26 12:44:13 +02:00
detect-nesting.test.js Allow direct nesting in root or @layer nodes (#10229) 2023-01-03 12:38:30 +01:00
escapeClassName.test.js [WIP] Unify JIT and AOT code paths (#4188) 2021-05-07 13:56:15 -04:00
evaluateTailwindFunctions.test.js Ensure configured font-feature-settings are included in Preflight (#9707) 2022-11-01 17:52:59 +00:00
experimental.test.js Expose context.sortClassList(classes) (#7412) 2022-02-10 18:06:41 +01:00
extractor-edge-cases.test.js Improve before and after variants (#5820) 2021-10-18 18:11:34 +02:00
flattenColorPalette.test.js [WIP] Unify JIT and AOT code paths (#4188) 2021-05-07 13:56:15 -04:00
format-variant-selector.test.js Don't prefix classes in arbitrary variants (#10214) 2023-01-03 09:40:47 -05:00
generate-rules.test.js Increase strictness when using applyVariant on illegale candidates (#9599) 2022-10-18 12:03:41 +02:00
getClassList.test.js Ignore unset values (like null or undefined) when resolving the classList for intellisense (#9385) 2022-09-21 14:31:08 +02:00
getSortOrder.test.js Implement getClassOrder instead of sortClassList (#7459) 2022-02-16 11:03:00 +01:00
getVariants.test.js expose hasDash for the intellisense plugin (#9594) 2022-10-17 17:13:33 +02:00
import-syntax.test.css Split ::backdrop into separate defaults group (#8567) 2022-06-09 16:26:18 -04:00
import-syntax.test.html JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
import-syntax.test.js JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
important-boolean.test.css Split ::backdrop into separate defaults group (#8567) 2022-06-09 16:26:18 -04:00
important-boolean.test.html JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
important-boolean.test.js Re-use existing entries in the rule cache (#9208) 2022-08-29 14:13:32 -04:00
important-modifier-prefix.test.css Split ::backdrop into separate defaults group (#8567) 2022-06-09 16:26:18 -04:00
important-modifier-prefix.test.html JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
important-modifier-prefix.test.js JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
important-modifier.test.js Exclude non-relevant selectors when generating rules with the important modifier. Fixes #9677. (#9704) 2022-11-01 09:06:03 -04:00
important-selector.test.css Split ::backdrop into separate defaults group (#8567) 2022-06-09 16:26:18 -04:00
important-selector.test.html JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
important-selector.test.js JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
kitchen-sink.test.css Split ::backdrop into separate defaults group (#8567) 2022-06-09 16:26:18 -04:00
kitchen-sink.test.html Add variants for orientation media feature (#6046) 2021-11-23 14:59:25 -05:00
kitchen-sink.test.js Add ::backdrop to universal defaults (#8526) 2022-06-06 15:53:08 -04:00
layer-at-rules.test.js Expose context.sortClassList(classes) (#7412) 2022-02-10 18:06:41 +01:00
layer-without-tailwind.test.css JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
layer-without-tailwind.test.html JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
layer-without-tailwind.test.js JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
match-components.test.js Change how we handle defaults (optimized or not) (#6926) 2022-01-07 11:39:45 -05:00
match-utilities.test.js Add line-height modifier for font-size utilities (#9875) 2022-11-22 09:37:07 -05:00
match-variants.test.js Fix cannot read properties of undefined (reading 'modifier') (#9656) 2022-11-03 15:10:45 +01:00
min-max-screen-variants.test.js Add new min and max variants (#9558) 2022-10-14 14:25:25 -04:00
minimum-impact-selector.test.js Enable optimize universal defaults by default (#5635) 2021-10-06 17:45:26 +02:00
modify-selectors.test.css JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
modify-selectors.test.html JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
modify-selectors.test.js JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
mutable.test.css JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
mutable.test.html JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
mutable.test.js JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
negated-content-ignore.test.html Fix using negated content globs (#5625) 2021-09-29 11:15:31 +01:00
negated-content-include.test.html Fix using negated content globs (#5625) 2021-09-29 11:15:31 +01:00
negated-content.test.js Change how we handle defaults (optimized or not) (#6926) 2022-01-07 11:39:45 -05:00
negateValue.test.js Make negative values a first-class feature, rather than theme-driven (#5709) 2021-10-06 13:42:05 -04:00
negative-prefix.test.js Allow negating utilities using min/max/clamp (#9237) 2022-09-01 12:15:23 -04:00
normalize-config.test.js Allow resolving content paths relative to the config file (#9396) 2022-09-23 08:09:02 -04:00
normalize-data-types.test.js Don’t add spaces around raw / that are preceded by numbers (#8688) 2022-06-20 10:49:55 -04:00
normalize-screens.test.js Add new min and max variants (#9558) 2022-10-14 14:25:25 -04:00
opacity.test.js Add future flag to disable color opacity utility plugins (#9088) 2022-08-15 13:45:02 -04:00
parallel-variants.test.js Remove text opacity CSS variables from ::marker (#8622) 2022-06-14 10:09:09 -04:00
parseAnimationValue.test.js ensure we don't override the name (#5602) 2021-09-26 07:44:41 -04:00
parseObjectStyles.test.js Preserve case of css variables added by plugins (#6888) 2022-01-04 23:03:41 -05:00
prefers-contrast.test.js Fix parallel variant ordering clash (#9282) 2022-09-09 13:12:43 -04:00
prefix.test.css Split ::backdrop into separate defaults group (#8567) 2022-06-09 16:26:18 -04:00
prefix.test.html JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
prefix.test.js Fix usage of special-character prefixes (#8772) 2022-07-04 14:42:27 -04:00
prefixSelector.test.js Remove prefix as a function (#5829) 2021-10-19 15:22:49 +02:00
preflight.test.js Fix preflight border color fallback (#7288) 2022-02-01 11:27:42 -05:00
raw-content.test.css Add support for visibility: collapse with new collapsed utility (#9181) 2022-09-09 13:19:24 -04:00
raw-content.test.html Add support for visibility: collapse with new collapsed utility (#9181) 2022-09-09 13:19:24 -04:00
raw-content.test.js Move defaults to their own always-on layer (#6500) 2021-12-14 12:21:38 -05:00
relative-purge-paths.test.html JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
relative-purge-paths.test.js JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
resolve-defaults-at-rules.test.js Split ::backdrop into separate defaults group (#8567) 2022-06-09 16:26:18 -04:00
resolveConfig.test.js Fix merging of arrays during config resolution (#9706) 2022-11-01 16:29:47 +00:00
responsive-and-variants-atrules.test.css JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
responsive-and-variants-atrules.test.html JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
responsive-and-variants-atrules.test.js JIT by default - move tests and make them consistent (#5374) 2021-09-03 13:48:16 +02:00
safelist.test.js Fix !important selectors not being classified as valid class inside safelist config (#9791) 2022-11-09 16:58:12 -05:00
screenAtRule.test.js Refactor internals to decouple watch strategies and extract IO 2021-05-26 09:43:05 -04:00
shared-state.test.js Improve DEBUG parsing: only take care of tailwindcss and not tailwind (#6804) 2021-12-30 16:41:23 +01:00
source-maps.test.js Don't rewrite source maps for @layer rules (#8971) 2022-07-27 12:19:08 -04:00
syntax-lit-html.test.js Add test for lit-html syntax 2021-09-21 12:41:58 -04:00
syntax-svelte.test.js Fix svelte test 2021-09-21 12:43:44 -04:00
syntax-svelte.test.svelte Rename svelte tests 2021-09-21 12:37:49 -04:00
tailwind-screens.test.js Partially revert tuple syntax PR for screens: #6104 (#6289) 2021-12-07 18:49:40 +01:00
to-path.test.js Support square bracket notation in paths (#6519) 2021-12-15 11:09:29 -05:00
variant-grouping.test.skip.js npm run style -- --fix 2022-11-30 11:38:37 +00:00
variants.test.css Remove text opacity CSS variables from ::marker (#8622) 2022-06-14 10:09:09 -04:00
variants.test.html Add optional variant (#8486) 2022-06-01 08:39:43 -04:00
variants.test.js Sort arbitrary variants deterministically regardless of content order (#10016) 2022-12-08 09:05:46 -05:00
warnings.test.js Show warnings for invalid content config (#7065) 2022-01-14 09:47:39 -05:00
withAlphaVariable.test.js Update color parsing and formatting (#5442) 2021-09-09 16:15:53 +02:00