@@ -9,7 +9,7 @@ const createServerWithMockFile = (fileContents) => {
9
9
const server = createServer ( ) ;
10
10
openMockFile ( server , mockFileName , fileContents ) ;
11
11
return server ;
12
- }
12
+ } ;
13
13
14
14
describe ( 'Completions' , ( ) => {
15
15
it ( 'should return property value completions for single line string' , ( ) => {
@@ -20,8 +20,8 @@ describe('Completions', () => {
20
20
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
21
21
assert . isTrue ( completionsResponse . success ) ;
22
22
assert . strictEqual ( completionsResponse . body . length , 157 ) ;
23
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'aliceblue' ) ) ;
24
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'rgba' ) ) ;
23
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'aliceblue' ) ) ;
24
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'rgba' ) ) ;
25
25
} ) ;
26
26
} ) ;
27
27
@@ -32,23 +32,19 @@ describe('Completions', () => {
32
32
return server . close ( ) . then ( ( ) => {
33
33
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
34
34
assert . isTrue ( completionsResponse . success ) ;
35
- assert . isFalse ( completionsResponse . body . some ( item => item . name === 'darken' ) ) ;
35
+ assert . isFalse ( completionsResponse . body . some ( ( item ) => item . name === 'darken' ) ) ;
36
36
} ) ;
37
37
} ) ;
38
38
39
39
it ( 'should return property value completions for multiline string' , ( ) => {
40
- const server = createServerWithMockFile ( [
41
- 'const q = css`' ,
42
- 'color:' ,
43
- '`'
44
- ] . join ( '\n' ) ) ;
40
+ const server = createServerWithMockFile ( [ 'const q = css`' , 'color:' , '`' ] . join ( '\n' ) ) ;
45
41
server . sendCommand ( 'completions' , { file : mockFileName , offset : 22 , line : 1 } ) ;
46
42
47
43
return server . close ( ) . then ( ( ) => {
48
44
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
49
45
assert . isTrue ( completionsResponse . success ) ;
50
46
assert . strictEqual ( completionsResponse . body . length , 157 ) ;
51
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'aliceblue' ) ) ;
47
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'aliceblue' ) ) ;
52
48
} ) ;
53
49
} ) ;
54
50
@@ -60,7 +56,7 @@ describe('Completions', () => {
60
56
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
61
57
assert . isTrue ( completionsResponse . success ) ;
62
58
assert . strictEqual ( completionsResponse . body . length , 157 ) ;
63
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'aliceblue' ) ) ;
59
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'aliceblue' ) ) ;
64
60
} ) ;
65
61
} ) ;
66
62
@@ -83,7 +79,7 @@ describe('Completions', () => {
83
79
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
84
80
assert . isTrue ( completionsResponse . success ) ;
85
81
assert . strictEqual ( completionsResponse . body . length , 157 ) ;
86
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'aliceblue' ) ) ;
82
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'aliceblue' ) ) ;
87
83
} ) ;
88
84
} ) ;
89
85
@@ -95,19 +91,19 @@ describe('Completions', () => {
95
91
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
96
92
assert . isTrue ( completionsResponse . success ) ;
97
93
assert . strictEqual ( completionsResponse . body . length , 157 ) ;
98
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'aliceblue' ) ) ;
94
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'aliceblue' ) ) ;
99
95
} ) ;
100
96
} ) ;
101
97
102
98
it ( 'should return completions between were placeholders are used as properties' , ( ) => {
103
- const server = createServerWithMockFile ( 'css`boarder: 1px solid ${"red"}; color: ; margin: ${20}; `' )
99
+ const server = createServerWithMockFile ( 'css`boarder: 1px solid ${"red"}; color: ; margin: ${20}; `' ) ;
104
100
server . sendCommand ( 'completions' , { file : mockFileName , offset : 40 , line : 1 } ) ;
105
101
106
102
return server . close ( ) . then ( ( ) => {
107
103
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
108
104
assert . isTrue ( completionsResponse . success ) ;
109
105
assert . strictEqual ( completionsResponse . body . length , 157 ) ;
110
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'aliceblue' ) ) ;
106
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'aliceblue' ) ) ;
111
107
} ) ;
112
108
} ) ;
113
109
@@ -119,18 +115,18 @@ describe('Completions', () => {
119
115
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
120
116
assert . isTrue ( completionsResponse . success ) ;
121
117
assert . strictEqual ( completionsResponse . body . length , 157 ) ;
122
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'aliceblue' ) ) ;
118
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'aliceblue' ) ) ;
123
119
} ) ;
124
120
} ) ;
125
121
126
122
it ( 'should return js completions inside placeholder' , ( ) => {
127
- const server = createServerWithMockFile ( 'const abc = 123; css`color: ${};`' )
123
+ const server = createServerWithMockFile ( 'const abc = 123; css`color: ${};`' ) ;
128
124
server . sendCommand ( 'completions' , { file : mockFileName , offset : 31 , line : 1 } ) ;
129
125
130
126
return server . close ( ) . then ( ( ) => {
131
127
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
132
128
assert . isTrue ( completionsResponse . success ) ;
133
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'abc' ) ) ;
129
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'abc' ) ) ;
134
130
} ) ;
135
131
} ) ;
136
132
@@ -141,7 +137,7 @@ describe('Completions', () => {
141
137
return server . close ( ) . then ( ( ) => {
142
138
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
143
139
assert . isTrue ( completionsResponse . success ) ;
144
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'substr' ) ) ;
140
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'substr' ) ) ;
145
141
} ) ;
146
142
} ) ;
147
143
@@ -152,72 +148,55 @@ describe('Completions', () => {
152
148
return server . close ( ) . then ( ( ) => {
153
149
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
154
150
assert . isTrue ( completionsResponse . success ) ;
155
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'aliceblue' ) ) ;
151
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'aliceblue' ) ) ;
156
152
} ) ;
157
153
} ) ;
158
154
159
155
it ( 'should handle multiline value placeholder correctly ' , ( ) => {
160
- const server = createServerWithMockFile ( [
161
- 'css`margin: ${' ,
162
- '0' ,
163
- "}; color: `" ] . join ( '\n' ) ) ;
156
+ const server = createServerWithMockFile ( [ 'css`margin: ${' , '0' , '}; color: `' ] . join ( '\n' ) ) ;
164
157
server . sendCommand ( 'completions' , { file : mockFileName , offset : 10 , line : 3 } ) ;
165
158
166
159
return server . close ( ) . then ( ( ) => {
167
160
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
168
161
assert . isTrue ( completionsResponse . success ) ;
169
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'aliceblue' ) ) ;
162
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'aliceblue' ) ) ;
170
163
} ) ;
171
164
} ) ;
172
165
173
166
it ( 'should handle multiline rule placeholder correctly ' , ( ) => {
174
- const server = createServerWithMockFile ( [
175
- 'css`' ,
176
- '${' ,
177
- 'css`margin: 0;`' ,
178
- '}' ,
179
- 'color: `' ] . join ( '\n' ) ) ;
167
+ const server = createServerWithMockFile ( [ 'css`' , '${' , 'css`margin: 0;`' , '}' , 'color: `' ] . join ( '\n' ) ) ;
180
168
server . sendCommand ( 'completions' , { file : mockFileName , offset : 8 , line : 5 } ) ;
181
169
182
170
return server . close ( ) . then ( ( ) => {
183
171
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
184
172
assert . isTrue ( completionsResponse . success ) ;
185
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'aliceblue' ) ) ;
173
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'aliceblue' ) ) ;
186
174
} ) ;
187
175
} ) ;
188
176
189
177
it ( 'should return completions when placeholder is used as a selector' , ( ) => {
190
- const server = createServerWithMockFile ( [
191
- 'css`${"button"} {' ,
192
- ' color: ;' ,
193
- '}' ,
194
- 'color: ;' ,
195
- '`' ] . join ( '\n' ) ) ;
178
+ const server = createServerWithMockFile ( [ 'css`${"button"} {' , ' color: ;' , '}' , 'color: ;' , '`' ] . join ( '\n' ) ) ;
196
179
server . sendCommand ( 'completions' , { file : mockFileName , line : 2 , offset : 11 } ) ;
197
180
198
181
return server . close ( ) . then ( ( ) => {
199
182
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
200
183
assert . isTrue ( completionsResponse . success ) ;
201
184
assert . strictEqual ( completionsResponse . body . length , 157 ) ;
202
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'aliceblue' ) ) ;
185
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'aliceblue' ) ) ;
203
186
} ) ;
204
187
} ) ;
205
188
206
189
it ( 'should return completions inside of nested selector xx' , ( ) => {
207
- const server = createServerWithMockFile ( [
208
- 'css`' ,
209
- ' color: red;' ,
210
- ' &:hover {' ,
211
- ' color: ' ,
212
- ' }' ,
213
- '`' ] . join ( '\n' ) ) ;
190
+ const server = createServerWithMockFile (
191
+ [ 'css`' , ' color: red;' , ' &:hover {' , ' color: ' , ' }' , '`' ] . join ( '\n' )
192
+ ) ;
214
193
server . sendCommand ( 'completions' , { file : mockFileName , line : 4 , offset : 15 } ) ;
215
194
216
195
return server . close ( ) . then ( ( ) => {
217
196
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
218
197
assert . isTrue ( completionsResponse . success ) ;
219
198
assert . strictEqual ( completionsResponse . body . length , 157 ) ;
220
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'aliceblue' ) ) ;
199
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'aliceblue' ) ) ;
221
200
} ) ;
222
201
} ) ;
223
202
@@ -229,8 +208,8 @@ describe('Completions', () => {
229
208
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
230
209
assert . isTrue ( completionsResponse . success ) ;
231
210
assert . strictEqual ( completionsResponse . body . length , 157 ) ;
232
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'aliceblue' ) ) ;
233
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'rgba' ) ) ;
211
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'aliceblue' ) ) ;
212
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'rgba' ) ) ;
234
213
} ) ;
235
214
} ) ;
236
215
@@ -242,8 +221,8 @@ describe('Completions', () => {
242
221
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
243
222
assert . isTrue ( completionsResponse . success ) ;
244
223
assert . strictEqual ( completionsResponse . body . length , 157 ) ;
245
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'aliceblue' ) ) ;
246
- assert . isTrue ( completionsResponse . body . some ( item => item . name === 'rgba' ) ) ;
224
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'aliceblue' ) ) ;
225
+ assert . isTrue ( completionsResponse . body . some ( ( item ) => item . name === 'rgba' ) ) ;
247
226
} ) ;
248
227
249
228
it ( 'should mark color completions with "color" kindModifier' , async ( ) => {
@@ -253,7 +232,18 @@ describe('Completions', () => {
253
232
await server . close ( ) ;
254
233
const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
255
234
assert . isTrue ( completionsResponse . success ) ;
256
- const aliceBlue = completionsResponse . body . find ( item => item . name === 'aliceblue' ) ;
235
+ const aliceBlue = completionsResponse . body . find ( ( item ) => item . name === 'aliceblue' ) ;
236
+ assert . isTrue ( aliceBlue . kindModifiers === 'color' ) ;
237
+ } ) ;
238
+
239
+ it ( 'should get completions inside keyframes blocks' , async ( ) => {
240
+ const server = createServerWithMockFile ( 'const q = keyframes`0% {color:`' ) ;
241
+ server . sendCommand ( 'completions' , { file : mockFileName , offset : 31 , line : 1 } ) ;
242
+
243
+ await server . close ( ) ;
244
+ const completionsResponse = getFirstResponseOfType ( 'completions' , server ) ;
245
+ assert . isTrue ( completionsResponse . success ) ;
246
+ const aliceBlue = completionsResponse . body . find ( ( item ) => item . name === 'aliceblue' ) ;
257
247
assert . isTrue ( aliceBlue . kindModifiers === 'color' ) ;
258
248
} ) ;
259
249
} ) ;
0 commit comments