Skip to content

Commit d668cff

Browse files
committed
Add more
1 parent 81e8818 commit d668cff

File tree

1 file changed

+52
-17
lines changed

1 file changed

+52
-17
lines changed

packages/tailwindcss-language-server/tests/completions/completions.test.js

Lines changed: 52 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -983,7 +983,7 @@ defineTest({
983983
})
984984

985985
defineTest({
986-
name: 'Completions for outline and border utilities have simplified details',
986+
name: 'Completions for several utilities have simplified details',
987987
fs: {
988988
'app.css': css`
989989
@import 'tailwindcss';
@@ -993,24 +993,59 @@ defineTest({
993993
handle: async ({ client }) => {
994994
let document = await client.open({
995995
lang: 'html',
996-
text: html`<div class="border-0 outline-0"></div>`,
996+
text: html`<div class=""></div>`,
997997
})
998998

999-
// <div class="border-0 outline-0"></div>
1000-
// ^
1001-
let completionA = await document.completions({ line: 0, character: 20 })
1002-
1003-
// <div class="border-0 outline-0"></div>
1004-
// ^
1005-
let completionB = await document.completions({ line: 0, character: 30 })
1006-
1007-
let border = completionA?.items.find((item) => item.label === 'border-0')
1008-
let outline = completionB?.items.find((item) => item.label === 'outline-0')
1009-
1010-
let borderResolved = await client.conn.sendRequest('completionItem/resolve', border)
1011-
let outlineResolved = await client.conn.sendRequest('completionItem/resolve', outline)
999+
// <div class=""></div>
1000+
// ^
1001+
let list = await document.completions({ line: 0, character: 12 })
1002+
let items = list?.items ?? []
1003+
1004+
let utilities = new Set([
1005+
'border-0',
1006+
'outline-0',
1007+
'leading-0',
1008+
'duration-1000',
1009+
'font-bold',
1010+
'ease-linear',
1011+
'ease-initial',
1012+
1013+
'space-x-0',
1014+
'space-y-0',
1015+
'divide-x-0',
1016+
'divide-y-0',
1017+
1018+
'tracking-wide',
1019+
1020+
'from-red-500',
1021+
'via-red-500',
1022+
'to-red-500',
1023+
])
1024+
1025+
items = items.filter((item) => utilities.has(item.label))
1026+
1027+
items = await Promise.all(
1028+
items.map((item) => client.conn.sendRequest('completionItem/resolve', item)),
1029+
)
10121030

1013-
expect(borderResolved).toMatchObject({ detail: 'border-width: 0px;' })
1014-
expect(outlineResolved).toMatchObject({ detail: 'outline-width: 0px;' })
1031+
let details = items.map((item) => item.detail)
1032+
1033+
expect(details).toEqual([
1034+
'border-width: 0px;',
1035+
'border-inline-start-width: calc(0px * var(--tw-divide-x-reverse)); border-inline-end-width: calc(0px * calc(1 - var(--tw-divide-x-reverse)));',
1036+
'border-top-width: calc(0px * var(--tw-divide-y-reverse)); border-bottom-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)));',
1037+
'transition-duration: 1000ms;',
1038+
'--tw-ease: initial;',
1039+
'transition-timing-function: linear;',
1040+
'font-weight: 700;',
1041+
'--tw-gradient-from: oklch(63.7% 0.237 25.331);',
1042+
'line-height: 0rem /* 0px */;',
1043+
'outline-width: 0px;',
1044+
'margin-inline-start: calc(0rem /* 0px */ * var(--tw-space-x-reverse)); margin-inline-end: calc(0rem /* 0px */ * calc(1 - var(--tw-space-x-reverse)));',
1045+
'margin-block-start: calc(0rem /* 0px */ * var(--tw-space-y-reverse)); margin-block-end: calc(0rem /* 0px */ * calc(1 - var(--tw-space-y-reverse)));',
1046+
'--tw-gradient-to: oklch(63.7% 0.237 25.331);',
1047+
'letter-spacing: 0.025em;',
1048+
'--tw-gradient-via: oklch(63.7% 0.237 25.331);',
1049+
])
10151050
},
10161051
})

0 commit comments

Comments
 (0)