Skip to content

Commit bfa6084

Browse files
committed
add failing test
1 parent 79cae4b commit bfa6084

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

integrations/upgrade/js-config.test.ts

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -965,6 +965,85 @@ test(
965965
},
966966
)
967967

968+
test(
969+
'migrate aria theme keys to custom variants',
970+
{
971+
fs: {
972+
'package.json': json`
973+
{
974+
"dependencies": {
975+
"tailwindcss": "^3",
976+
"@tailwindcss/upgrade": "workspace:^"
977+
}
978+
}
979+
`,
980+
'tailwind.config.ts': ts`
981+
export default {
982+
content: {
983+
relative: true,
984+
files: ['./src/**/*.html'],
985+
},
986+
theme: {
987+
extend: {
988+
aria: {
989+
// Built-in (not really, but visible because of intellisense)
990+
busy: 'busy="true"',
991+
992+
// Automatically handled by bare values
993+
foo: 'foo="true"',
994+
995+
// Not automatically handled by bare values because names differ
996+
bar: 'baz="true"',
997+
998+
// Completely custom
999+
asc: 'sort="ascending"',
1000+
desc: 'sort="descending"',
1001+
},
1002+
},
1003+
},
1004+
}
1005+
`,
1006+
'src/input.css': css`
1007+
@tailwind base;
1008+
@tailwind components;
1009+
@tailwind utilities;
1010+
`,
1011+
},
1012+
},
1013+
async ({ exec, fs, expect }) => {
1014+
await exec('npx @tailwindcss/upgrade')
1015+
1016+
expect(await fs.dumpFiles('src/*.css')).toMatchInlineSnapshot(`
1017+
"
1018+
--- src/input.css ---
1019+
@import 'tailwindcss';
1020+
1021+
@custom-variant aria-bar (&[aria-baz="true"]);
1022+
@custom-variant aria-asc (&[aria-sort="ascending"]);
1023+
@custom-variant aria-desc (&[aria-sort="descending"]);
1024+
1025+
/*
1026+
The default border color has changed to \`currentcolor\` in Tailwind CSS v4,
1027+
so we've added these compatibility styles to make sure everything still
1028+
looks the same as it did with Tailwind CSS v3.
1029+
1030+
If we ever want to remove these styles, we need to add an explicit border
1031+
color utility to any element that depends on these defaults.
1032+
*/
1033+
@layer base {
1034+
*,
1035+
::after,
1036+
::before,
1037+
::backdrop,
1038+
::file-selector-button {
1039+
border-color: var(--color-gray-200, currentcolor);
1040+
}
1041+
}
1042+
"
1043+
`)
1044+
},
1045+
)
1046+
9681047
describe('border compatibility', () => {
9691048
test(
9701049
'migrate border compatibility',

0 commit comments

Comments
 (0)