Skip to content

Commit 09538ba

Browse files
test: add tests for named groups in every rule
1 parent 94759de commit 09538ba

File tree

7 files changed

+67
-0
lines changed

7 files changed

+67
-0
lines changed

tests/lib/rules/arbitrary-values.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -532,6 +532,14 @@ ruleTester.run("arbitrary-values", rule, {
532532
`,
533533
options: config,
534534
},
535+
{
536+
code: `
537+
<div class="group/edit:stroke-[green]">
538+
support named group/peer syntax
539+
</div>
540+
`,
541+
options: config,
542+
},
535543
],
536544

537545
invalid: [

tests/lib/rules/classnames-order.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -936,5 +936,10 @@ ruleTester.run("classnames-order", rule, {
936936
filename: "test.vue",
937937
parser: require.resolve("vue-eslint-parser"),
938938
},
939+
{
940+
code: `<div class="block group/edit:stroke-0">support named group/peer syntax</div>`,
941+
output: `<div class="group/edit:stroke-0 block">support named group/peer syntax</div>`,
942+
errors: errors,
943+
},
939944
],
940945
});

tests/lib/rules/enforces-negative-arbitrary-values.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,5 +136,9 @@ ruleTester.run("enforces-negative-arbitrary-values", rule, {
136136
filename: "test.vue",
137137
parser: require.resolve("vue-eslint-parser"),
138138
},
139+
{
140+
code: `<div class="group/edit:-inset-[1px] group/edit:top-[-1px]">support named group/peer syntax</div>`,
141+
errors: generateErrors("group/edit:-inset-[1px]"),
142+
},
139143
],
140144
});

tests/lib/rules/enforces-shorthand.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,13 @@ ruleTester.run("shorthands", rule, {
105105
`,
106106
options: skipClassAttributeOptions,
107107
},
108+
{
109+
code: `
110+
<div class="group/name:rounded-r-full rounded-l-full">
111+
support named group/peer syntax
112+
</div>
113+
`,
114+
},
108115
],
109116

110117
invalid: [
@@ -581,5 +588,18 @@ ruleTester.run("shorthands", rule, {
581588
filename: "test.vue",
582589
parser: require.resolve("vue-eslint-parser"),
583590
},
591+
{
592+
code: `
593+
<div class="group/name:rounded-r-full group/name:rounded-l-full">
594+
support named group/peer syntax
595+
</div>
596+
`,
597+
output: `
598+
<div class="group/name:rounded-full">
599+
support named group/peer syntax
600+
</div>
601+
`,
602+
errors: [generateError(["group/name:rounded-r-full", "group/name:rounded-l-full"], "group/name:rounded-full")],
603+
},
584604
],
585605
});

tests/lib/rules/migration-from-tailwind-2.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,19 @@ ruleTester.run("migration-from-tailwind-2", rule, {
113113
},
114114
],
115115
},
116+
{
117+
code: `<div class="group/name:overflow-ellipsis">support named group/peer syntax</div>`,
118+
output: `<div class="group/name:text-ellipsis">support named group/peer syntax</div>`,
119+
errors: [
120+
{
121+
messageId: "classnameChanged",
122+
data: {
123+
deprecated: "group/name:overflow-ellipsis",
124+
updated: "group/name:text-ellipsis",
125+
},
126+
},
127+
],
128+
},
116129
{
117130
code: `<div class="flex-grow-0">flex-grow/shrink</div>`,
118131
output: `<div class="grow-0">flex-grow/shrink</div>`,

tests/lib/rules/no-arbitrary-value.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ ruleTester.run("no-arbitrary-value", rule, {
7070
code: `<div class="w-[10px]">Arbitrary width!</div>`,
7171
errors: generateErrors("w-[10px]"),
7272
},
73+
{
74+
code: `<div class="group/name:w-[10px]">Arbitrary width in named group!</div>`,
75+
errors: generateErrors("group/name:w-[10px]"),
76+
},
7377
{
7478
code: `<div className={\`w-[10px]\`}>Arbitrary width!</div>`,
7579
errors: generateErrors("w-[10px]"),

tests/lib/rules/no-contradicting-classname.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,12 @@ ruleTester.run("no-contradicting-classname", rule, {
192192
Legit transform-none
193193
</div>`,
194194
},
195+
{
196+
code: `
197+
<div class="group/name:scale-75 scale-50">
198+
named group
199+
</div>`,
200+
},
195201
{
196202
code: `
197203
<div class="snap-mandatory snap-x">
@@ -681,6 +687,13 @@ ruleTester.run("no-contradicting-classname", rule, {
681687
filename: "test.vue",
682688
parser: require.resolve("vue-eslint-parser"),
683689
},
690+
{
691+
code: `
692+
<div class="group/name:scale-75 group/name:scale-50">
693+
named group
694+
</div>`,
695+
errors: generateErrors(["group/name:scale-75 group/name:scale-50"]),
696+
},
684697
// {
685698
// code: `
686699
// <div class="scale-75 transform-none">

0 commit comments

Comments
 (0)