@@ -983,7 +983,7 @@ defineTest({
983983} )
984984
985985defineTest ( {
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