1+ // @ts -check
12import { test } from 'vitest'
23import { init } from '../common'
3- import { CompletionRequest , HoverRequest } from 'vscode-languageserver'
44
55test ( 'Unknown languages do not provide completions' , async ( { expect } ) => {
6- let c = await init ( 'basic' )
6+ let { client } = await init ( 'basic' )
77
8- let textDocument = await c . openDocument ( {
8+ let doc = await client . open ( {
99 lang : 'some-lang' ,
1010 text : '<div class="bg-[#000]">' ,
1111 } )
1212
13- let hover = await c . sendRequest ( HoverRequest . type , {
14- textDocument,
15- position : { line : 0 , character : 13 } ,
16- } )
13+ let hover = await doc . hover ( { line : 0 , character : 13 } )
1714
1815 expect ( hover ) . toEqual ( null )
1916
20- let completion = await c . sendRequest ( CompletionRequest . type , {
21- textDocument,
17+ let completion = await doc . completions ( {
2218 position : { line : 0 , character : 13 } ,
2319 context : { triggerKind : 1 } ,
2420 } )
@@ -27,23 +23,20 @@ test('Unknown languages do not provide completions', async ({ expect }) => {
2723} )
2824
2925test ( 'Custom languages may be specified via init options (deprecated)' , async ( { expect } ) => {
30- let c = await init ( 'basic' , {
26+ let { client } = await init ( 'basic' , {
3127 options : {
3228 userLanguages : {
3329 'some-lang' : 'html' ,
3430 } ,
3531 } ,
3632 } )
3733
38- let textDocument = await c . openDocument ( {
34+ let doc = await client . open ( {
3935 lang : 'some-lang' ,
4036 text : '<div class="bg-[#000]">' ,
4137 } )
4238
43- let hover = await c . sendRequest ( HoverRequest . type , {
44- textDocument,
45- position : { line : 0 , character : 13 } ,
46- } )
39+ let hover = await doc . hover ( { line : 0 , character : 13 } )
4740
4841 expect ( hover ) . toEqual ( {
4942 contents : {
@@ -54,35 +47,31 @@ test('Custom languages may be specified via init options (deprecated)', async ({
5447 range : { start : { line : 0 , character : 12 } , end : { line : 0 , character : 21 } } ,
5548 } )
5649
57- let completion = await c . sendRequest ( CompletionRequest . type , {
58- textDocument,
50+ let completion = await doc . completions ( {
5951 position : { line : 0 , character : 13 } ,
6052 context : { triggerKind : 1 } ,
6153 } )
6254
63- expect ( completion . items . length ) . toBe ( 11509 )
55+ expect ( completion ? .items . length ) . toBe ( 11509 )
6456} )
6557
6658test ( 'Custom languages may be specified via settings' , async ( { expect } ) => {
67- let c = await init ( 'basic' )
68-
69- await c . updateSettings ( {
70- tailwindCSS : {
71- includeLanguages : {
72- 'some-lang' : 'html' ,
59+ let { client } = await init ( 'basic' , {
60+ settings : {
61+ tailwindCSS : {
62+ includeLanguages : {
63+ 'some-lang' : 'html' ,
64+ } ,
7365 } ,
7466 } ,
7567 } )
7668
77- let textDocument = await c . openDocument ( {
69+ let doc = await client . open ( {
7870 lang : 'some-lang' ,
7971 text : '<div class="bg-[#000]">' ,
8072 } )
8173
82- let hover = await c . sendRequest ( HoverRequest . type , {
83- textDocument,
84- position : { line : 0 , character : 13 } ,
85- } )
74+ let hover = await doc . hover ( { line : 0 , character : 13 } )
8675
8776 expect ( hover ) . toEqual ( {
8877 contents : {
@@ -93,60 +82,51 @@ test('Custom languages may be specified via settings', async ({ expect }) => {
9382 range : { start : { line : 0 , character : 12 } , end : { line : 0 , character : 21 } } ,
9483 } )
9584
96- let completion = await c . sendRequest ( CompletionRequest . type , {
97- textDocument,
85+ let completion = await doc . completions ( {
9886 position : { line : 0 , character : 13 } ,
9987 context : { triggerKind : 1 } ,
10088 } )
10189
102- expect ( completion . items . length ) . toBe ( 11509 )
90+ expect ( completion ? .items . length ) . toBe ( 11509 )
10391} )
10492
10593test ( 'Custom languages are merged from init options and settings' , async ( { expect } ) => {
106- let c = await init ( 'basic' , {
94+ let { client } = await init ( 'basic' , {
10795 options : {
10896 userLanguages : {
10997 'some-lang' : 'html' ,
11098 } ,
11199 } ,
112- } )
113100
114- await c . updateSettings ( {
115- tailwindCSS : {
116- includeLanguages : {
117- 'other-lang' : 'html' ,
101+ settings : {
102+ tailwindCSS : {
103+ includeLanguages : {
104+ 'other-lang' : 'html' ,
105+ } ,
118106 } ,
119107 } ,
120108 } )
121109
122- let textDocument = await c . openDocument ( {
110+ let doc = await client . open ( {
123111 lang : 'some-lang' ,
124112 text : '<div class="bg-[#000]">' ,
125113 } )
126114
127- let hover = await c . sendRequest ( HoverRequest . type , {
128- textDocument,
129- position : { line : 0 , character : 13 } ,
130- } )
115+ let hover = await doc . hover ( { line : 0 , character : 13 } )
131116
132- let completion = await c . sendRequest ( CompletionRequest . type , {
133- textDocument,
117+ let completion = await doc . completions ( {
134118 position : { line : 0 , character : 13 } ,
135119 context : { triggerKind : 1 } ,
136120 } )
137121
138- textDocument = await c . openDocument ( {
122+ let doc2 = await client . open ( {
139123 lang : 'other-lang' ,
140124 text : '<div class="bg-[#000]">' ,
141125 } )
142126
143- let hover2 = await c . sendRequest ( HoverRequest . type , {
144- textDocument,
145- position : { line : 0 , character : 13 } ,
146- } )
127+ let hover2 = await doc2 . hover ( { line : 0 , character : 13 } )
147128
148- let completion2 = await c . sendRequest ( CompletionRequest . type , {
149- textDocument,
129+ let completion2 = await doc2 . completions ( {
150130 position : { line : 0 , character : 13 } ,
151131 context : { triggerKind : 1 } ,
152132 } )
@@ -169,36 +149,33 @@ test('Custom languages are merged from init options and settings', async ({ expe
169149 range : { start : { line : 0 , character : 12 } , end : { line : 0 , character : 21 } } ,
170150 } )
171151
172- expect ( completion . items . length ) . toBe ( 11509 )
173- expect ( completion2 . items . length ) . toBe ( 11509 )
152+ expect ( completion ? .items . length ) . toBe ( 11509 )
153+ expect ( completion2 ? .items . length ) . toBe ( 11509 )
174154} )
175155
176156test ( 'Language mappings from settings take precedence' , async ( { expect } ) => {
177- let c = await init ( 'basic' , {
157+ let { client } = await init ( 'basic' , {
178158 options : {
179159 userLanguages : {
180160 'some-lang' : 'css' ,
181161 } ,
182162 } ,
183- } )
184163
185- await c . updateSettings ( {
186- tailwindCSS : {
187- includeLanguages : {
188- 'some-lang' : 'html' ,
164+ settings : {
165+ tailwindCSS : {
166+ includeLanguages : {
167+ 'some-lang' : 'html' ,
168+ } ,
189169 } ,
190170 } ,
191171 } )
192172
193- let textDocument = await c . openDocument ( {
173+ let doc = await client . open ( {
194174 lang : 'some-lang' ,
195175 text : '<div class="bg-[#000]">' ,
196176 } )
197177
198- let hover = await c . sendRequest ( HoverRequest . type , {
199- textDocument,
200- position : { line : 0 , character : 13 } ,
201- } )
178+ let hover = await doc . hover ( { line : 0 , character : 13 } )
202179
203180 expect ( hover ) . toEqual ( {
204181 contents : {
@@ -209,11 +186,10 @@ test('Language mappings from settings take precedence', async ({ expect }) => {
209186 range : { start : { line : 0 , character : 12 } , end : { line : 0 , character : 21 } } ,
210187 } )
211188
212- let completion = await c . sendRequest ( CompletionRequest . type , {
213- textDocument,
189+ let completion = await doc . completions ( {
214190 position : { line : 0 , character : 13 } ,
215191 context : { triggerKind : 1 } ,
216192 } )
217193
218- expect ( completion . items . length ) . toBe ( 11509 )
194+ expect ( completion ? .items . length ) . toBe ( 11509 )
219195} )
0 commit comments