Skip to content

Commit b087751

Browse files
committed
add failing test
1 parent 950eac2 commit b087751

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

integrations/upgrade/js-config.test.ts

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1055,6 +1055,87 @@ test(
10551055
},
10561056
)
10571057

1058+
test(
1059+
'migrate data theme keys to custom variants',
1060+
{
1061+
fs: {
1062+
'package.json': json`
1063+
{
1064+
"dependencies": {
1065+
"tailwindcss": "^3",
1066+
"@tailwindcss/upgrade": "workspace:^"
1067+
}
1068+
}
1069+
`,
1070+
'tailwind.config.ts': ts`
1071+
export default {
1072+
content: {
1073+
relative: true,
1074+
files: ['./src/**/*.html'],
1075+
},
1076+
theme: {
1077+
extend: {
1078+
data: {
1079+
// Automatically handled by bare values
1080+
foo: 'foo',
1081+
1082+
// Not automatically handled by bare values because names differ
1083+
bar: 'baz',
1084+
1085+
// Custom
1086+
checked: 'ui~="checked"',
1087+
},
1088+
},
1089+
},
1090+
}
1091+
`,
1092+
'src/input.css': css`
1093+
@tailwind base;
1094+
@tailwind components;
1095+
@tailwind utilities;
1096+
`,
1097+
},
1098+
},
1099+
async ({ exec, fs, expect }) => {
1100+
await exec('npx @tailwindcss/upgrade')
1101+
1102+
expect(await fs.dumpFiles('src/*.css')).toMatchInlineSnapshot(`
1103+
"
1104+
--- src/input.css ---
1105+
@import 'tailwindcss';
1106+
1107+
/*
1108+
These variants have been migrated from your Tailwind CSS configuration file.
1109+
Since they are custom variants, they will be sorted after all built-in variants.
1110+
1111+
This may result in elements appearing different if you were relying on the order of
1112+
the variants in the CSS.
1113+
*/
1114+
@custom-variant data-bar (&[data-baz]);
1115+
@custom-variant data-checked (&[data-ui~="checked"]);
1116+
1117+
/*
1118+
The default border color has changed to \`currentcolor\` in Tailwind CSS v4,
1119+
so we've added these compatibility styles to make sure everything still
1120+
looks the same as it did with Tailwind CSS v3.
1121+
1122+
If we ever want to remove these styles, we need to add an explicit border
1123+
color utility to any element that depends on these defaults.
1124+
*/
1125+
@layer base {
1126+
*,
1127+
::after,
1128+
::before,
1129+
::backdrop,
1130+
::file-selector-button {
1131+
border-color: var(--color-gray-200, currentcolor);
1132+
}
1133+
}
1134+
"
1135+
`)
1136+
},
1137+
)
1138+
10581139
describe('border compatibility', () => {
10591140
test(
10601141
'migrate border compatibility',

0 commit comments

Comments
 (0)