@@ -19,7 +19,7 @@ func TestService(t *testing.T) {
19
19
t .Skip ("bundled files are not embedded" )
20
20
}
21
21
22
- files := map [string ]string {
22
+ defaultFiles := map [string ]string {
23
23
"/home/projects/TS/p1/tsconfig.json" : `{
24
24
"compilerOptions": {
25
25
"noLib": true,
@@ -37,9 +37,9 @@ func TestService(t *testing.T) {
37
37
t .Parallel ()
38
38
t .Run ("create configured project" , func (t * testing.T ) {
39
39
t .Parallel ()
40
- service , _ := projecttestutil .Setup (files )
40
+ service , _ := projecttestutil .Setup (defaultFiles )
41
41
assert .Equal (t , len (service .Projects ()), 0 )
42
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
42
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , defaultFiles ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
43
43
assert .Equal (t , len (service .Projects ()), 1 )
44
44
p := service .Projects ()[0 ]
45
45
assert .Equal (t , p .Kind (), project .KindConfigured )
@@ -50,8 +50,8 @@ func TestService(t *testing.T) {
50
50
51
51
t .Run ("create inferred project" , func (t * testing.T ) {
52
52
t .Parallel ()
53
- service , _ := projecttestutil .Setup (files )
54
- service .OpenFile ("/home/projects/TS/p1/config.ts" , files ["/home/projects/TS/p1/config.ts" ], core .ScriptKindTS , "" )
53
+ service , _ := projecttestutil .Setup (defaultFiles )
54
+ service .OpenFile ("/home/projects/TS/p1/config.ts" , defaultFiles ["/home/projects/TS/p1/config.ts" ], core .ScriptKindTS , "" )
55
55
// Find tsconfig, load, notice config.ts is not included, create inferred project
56
56
assert .Equal (t , len (service .Projects ()), 2 )
57
57
_ , proj := service .EnsureDefaultProjectForFile ("/home/projects/TS/p1/config.ts" )
@@ -60,8 +60,8 @@ func TestService(t *testing.T) {
60
60
61
61
t .Run ("inferred project for in-memory files" , func (t * testing.T ) {
62
62
t .Parallel ()
63
- service , _ := projecttestutil .Setup (files )
64
- service .OpenFile ("/home/projects/TS/p1/config.ts" , files ["/home/projects/TS/p1/config.ts" ], core .ScriptKindTS , "" )
63
+ service , _ := projecttestutil .Setup (defaultFiles )
64
+ service .OpenFile ("/home/projects/TS/p1/config.ts" , defaultFiles ["/home/projects/TS/p1/config.ts" ], core .ScriptKindTS , "" )
65
65
service .OpenFile ("^/untitled/ts-nul-authority/Untitled-1" , "x" , core .ScriptKindTS , "" )
66
66
service .OpenFile ("^/untitled/ts-nul-authority/Untitled-2" , "y" , core .ScriptKindTS , "" )
67
67
assert .Equal (t , len (service .Projects ()), 2 )
@@ -89,8 +89,8 @@ func TestService(t *testing.T) {
89
89
t .Parallel ()
90
90
t .Run ("update script info eagerly and program lazily" , func (t * testing.T ) {
91
91
t .Parallel ()
92
- service , _ := projecttestutil .Setup (files )
93
- service .OpenFile ("/home/projects/TS/p1/src/x.ts" , files ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
92
+ service , _ := projecttestutil .Setup (defaultFiles )
93
+ service .OpenFile ("/home/projects/TS/p1/src/x.ts" , defaultFiles ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
94
94
info , proj := service .EnsureDefaultProjectForFile ("/home/projects/TS/p1/src/x.ts" )
95
95
programBefore := proj .GetProgram ()
96
96
service .ChangeFile ("/home/projects/TS/p1/src/x.ts" , []ls.TextChange {{TextRange : core .NewTextRange (17 , 18 ), NewText : "2" }})
@@ -102,8 +102,8 @@ func TestService(t *testing.T) {
102
102
103
103
t .Run ("unchanged source files are reused" , func (t * testing.T ) {
104
104
t .Parallel ()
105
- service , _ := projecttestutil .Setup (files )
106
- service .OpenFile ("/home/projects/TS/p1/src/x.ts" , files ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
105
+ service , _ := projecttestutil .Setup (defaultFiles )
106
+ service .OpenFile ("/home/projects/TS/p1/src/x.ts" , defaultFiles ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
107
107
_ , proj := service .EnsureDefaultProjectForFile ("/home/projects/TS/p1/src/x.ts" )
108
108
programBefore := proj .GetProgram ()
109
109
indexFileBefore := programBefore .GetSourceFile ("/home/projects/TS/p1/src/index.ts" )
@@ -113,10 +113,10 @@ func TestService(t *testing.T) {
113
113
114
114
t .Run ("change can pull in new files" , func (t * testing.T ) {
115
115
t .Parallel ()
116
- filesCopy := maps .Clone (files )
117
- filesCopy ["/home/projects/TS/p1/y.ts" ] = `export const y = 2;`
118
- service , _ := projecttestutil .Setup (filesCopy )
119
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , filesCopy ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
116
+ files := maps .Clone (defaultFiles )
117
+ files ["/home/projects/TS/p1/y.ts" ] = `export const y = 2;`
118
+ service , _ := projecttestutil .Setup (files )
119
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
120
120
assert .Check (t , service .GetScriptInfo ("/home/projects/TS/p1/y.ts" ) == nil )
121
121
122
122
service .ChangeFile ("/home/projects/TS/p1/src/index.ts" , []ls.TextChange {{TextRange : core .NewTextRange (0 , 0 ), NewText : `import { y } from "../y";\n` }})
@@ -130,23 +130,23 @@ func TestService(t *testing.T) {
130
130
t .Parallel ()
131
131
t .Run ("delete a file, close it, recreate it" , func (t * testing.T ) {
132
132
t .Parallel ()
133
- service , host := projecttestutil .Setup (files )
134
- service .OpenFile ("/home/projects/TS/p1/src/x.ts" , files ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
135
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
133
+ service , host := projecttestutil .Setup (defaultFiles )
134
+ service .OpenFile ("/home/projects/TS/p1/src/x.ts" , defaultFiles ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
135
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , defaultFiles ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
136
136
assert .Equal (t , service .SourceFileCount (), 2 )
137
137
138
- filesCopy := maps .Clone (files )
139
- delete (filesCopy , "/home/projects/TS/p1/src/x.ts" )
140
- host .ReplaceFS (filesCopy )
138
+ files := maps .Clone (defaultFiles )
139
+ delete (files , "/home/projects/TS/p1/src/x.ts" )
140
+ host .ReplaceFS (files )
141
141
142
142
service .CloseFile ("/home/projects/TS/p1/src/x.ts" )
143
143
assert .Check (t , service .GetScriptInfo ("/home/projects/TS/p1/src/x.ts" ) == nil )
144
144
assert .Check (t , service .Projects ()[0 ].GetProgram ().GetSourceFile ("/home/projects/TS/p1/src/x.ts" ) == nil )
145
145
assert .Equal (t , service .SourceFileCount (), 1 )
146
146
147
- filesCopy ["/home/projects/TS/p1/src/x.ts" ] = ``
148
- host .ReplaceFS (filesCopy )
149
- service .OpenFile ("/home/projects/TS/p1/src/x.ts" , filesCopy ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
147
+ files ["/home/projects/TS/p1/src/x.ts" ] = ``
148
+ host .ReplaceFS (files )
149
+ service .OpenFile ("/home/projects/TS/p1/src/x.ts" , files ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
150
150
assert .Equal (t , service .GetScriptInfo ("/home/projects/TS/p1/src/x.ts" ).Text (), "" )
151
151
assert .Check (t , service .Projects ()[0 ].GetProgram ().GetSourceFile ("/home/projects/TS/p1/src/x.ts" ) != nil )
152
152
assert .Equal (t , service .Projects ()[0 ].GetProgram ().GetSourceFile ("/home/projects/TS/p1/src/x.ts" ).Text (), "" )
@@ -157,22 +157,22 @@ func TestService(t *testing.T) {
157
157
t .Parallel ()
158
158
t .Run ("delete a file, close it, recreate it" , func (t * testing.T ) {
159
159
t .Parallel ()
160
- filesCopy := maps .Clone (files )
161
- delete (filesCopy , "/home/projects/TS/p1/tsconfig.json" )
162
- service , host := projecttestutil .Setup (filesCopy )
163
- service .OpenFile ("/home/projects/TS/p1/src/x.ts" , files ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
164
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
160
+ files := maps .Clone (defaultFiles )
161
+ delete (files , "/home/projects/TS/p1/tsconfig.json" )
162
+ service , host := projecttestutil .Setup (files )
163
+ service .OpenFile ("/home/projects/TS/p1/src/x.ts" , defaultFiles ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
164
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , defaultFiles ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
165
165
166
- delete (filesCopy , "/home/projects/TS/p1/src/x.ts" )
167
- host .ReplaceFS (filesCopy )
166
+ delete (files , "/home/projects/TS/p1/src/x.ts" )
167
+ host .ReplaceFS (files )
168
168
169
169
service .CloseFile ("/home/projects/TS/p1/src/x.ts" )
170
170
assert .Check (t , service .GetScriptInfo ("/home/projects/TS/p1/src/x.ts" ) == nil )
171
171
assert .Check (t , service .Projects ()[0 ].GetProgram ().GetSourceFile ("/home/projects/TS/p1/src/x.ts" ) == nil )
172
172
173
- filesCopy ["/home/projects/TS/p1/src/x.ts" ] = ``
174
- host .ReplaceFS (filesCopy )
175
- service .OpenFile ("/home/projects/TS/p1/src/x.ts" , filesCopy ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
173
+ files ["/home/projects/TS/p1/src/x.ts" ] = ``
174
+ host .ReplaceFS (files )
175
+ service .OpenFile ("/home/projects/TS/p1/src/x.ts" , files ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
176
176
assert .Equal (t , service .GetScriptInfo ("/home/projects/TS/p1/src/x.ts" ).Text (), "" )
177
177
assert .Check (t , service .Projects ()[0 ].GetProgram ().GetSourceFile ("/home/projects/TS/p1/src/x.ts" ) != nil )
178
178
assert .Equal (t , service .Projects ()[0 ].GetProgram ().GetSourceFile ("/home/projects/TS/p1/src/x.ts" ).Text (), "" )
@@ -184,19 +184,19 @@ func TestService(t *testing.T) {
184
184
t .Parallel ()
185
185
t .Run ("projects with similar options share source files" , func (t * testing.T ) {
186
186
t .Parallel ()
187
- filesCopy := maps .Clone (files )
188
- filesCopy ["/home/projects/TS/p2/tsconfig.json" ] = `{
187
+ files := maps .Clone (defaultFiles )
188
+ files ["/home/projects/TS/p2/tsconfig.json" ] = `{
189
189
"compilerOptions": {
190
190
"noLib": true,
191
191
"module": "nodenext",
192
192
"strict": true,
193
193
"noCheck": true // Added
194
194
},
195
195
}`
196
- filesCopy ["/home/projects/TS/p2/src/index.ts" ] = `import { x } from "../../p1/src/x";`
197
- service , _ := projecttestutil .Setup (filesCopy )
198
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , filesCopy ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
199
- service .OpenFile ("/home/projects/TS/p2/src/index.ts" , filesCopy ["/home/projects/TS/p2/src/index.ts" ], core .ScriptKindTS , "" )
196
+ files ["/home/projects/TS/p2/src/index.ts" ] = `import { x } from "../../p1/src/x";`
197
+ service , _ := projecttestutil .Setup (files )
198
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
199
+ service .OpenFile ("/home/projects/TS/p2/src/index.ts" , files ["/home/projects/TS/p2/src/index.ts" ], core .ScriptKindTS , "" )
200
200
assert .Equal (t , len (service .Projects ()), 2 )
201
201
_ , p1 := service .EnsureDefaultProjectForFile ("/home/projects/TS/p1/src/index.ts" )
202
202
_ , p2 := service .EnsureDefaultProjectForFile ("/home/projects/TS/p2/src/index.ts" )
@@ -209,17 +209,17 @@ func TestService(t *testing.T) {
209
209
210
210
t .Run ("projects with different options do not share source files" , func (t * testing.T ) {
211
211
t .Parallel ()
212
- filesCopy := maps .Clone (files )
213
- filesCopy ["/home/projects/TS/p2/tsconfig.json" ] = `{
212
+ files := maps .Clone (defaultFiles )
213
+ files ["/home/projects/TS/p2/tsconfig.json" ] = `{
214
214
"compilerOptions": {
215
215
"module": "nodenext",
216
216
"jsx": "react"
217
217
}
218
218
}`
219
- filesCopy ["/home/projects/TS/p2/src/index.ts" ] = `import { x } from "../../p1/src/x";`
220
- service , _ := projecttestutil .Setup (filesCopy )
221
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , filesCopy ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
222
- service .OpenFile ("/home/projects/TS/p2/src/index.ts" , filesCopy ["/home/projects/TS/p2/src/index.ts" ], core .ScriptKindTS , "" )
219
+ files ["/home/projects/TS/p2/src/index.ts" ] = `import { x } from "../../p1/src/x";`
220
+ service , _ := projecttestutil .Setup (files )
221
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
222
+ service .OpenFile ("/home/projects/TS/p2/src/index.ts" , files ["/home/projects/TS/p2/src/index.ts" ], core .ScriptKindTS , "" )
223
223
assert .Equal (t , len (service .Projects ()), 2 )
224
224
_ , p1 := service .EnsureDefaultProjectForFile ("/home/projects/TS/p1/src/index.ts" )
225
225
_ , p2 := service .EnsureDefaultProjectForFile ("/home/projects/TS/p2/src/index.ts" )
@@ -235,41 +235,41 @@ func TestService(t *testing.T) {
235
235
236
236
t .Run ("change open file" , func (t * testing.T ) {
237
237
t .Parallel ()
238
- service , host := projecttestutil .Setup (files )
239
- service .OpenFile ("/home/projects/TS/p1/src/x.ts" , files ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
240
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
238
+ service , host := projecttestutil .Setup (defaultFiles )
239
+ service .OpenFile ("/home/projects/TS/p1/src/x.ts" , defaultFiles ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
240
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , defaultFiles ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
241
241
_ , project := service .EnsureDefaultProjectForFile ("/home/projects/TS/p1/src/index.ts" )
242
242
programBefore := project .GetProgram ()
243
243
244
- filesCopy := maps .Clone (files )
245
- filesCopy ["/home/projects/TS/p1/src/x.ts" ] = `export const x = 2;`
246
- host .ReplaceFS (filesCopy )
247
- service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
244
+ files := maps .Clone (defaultFiles )
245
+ files ["/home/projects/TS/p1/src/x.ts" ] = `export const x = 2;`
246
+ host .ReplaceFS (files )
247
+ assert . NilError ( t , service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
248
248
{
249
249
Type : lsproto .FileChangeTypeChanged ,
250
250
Uri : "file:///home/projects/TS/p1/src/x.ts" ,
251
251
},
252
- })
252
+ }))
253
253
254
254
assert .Equal (t , programBefore , project .GetProgram ())
255
255
})
256
256
257
257
t .Run ("change closed program file" , func (t * testing.T ) {
258
258
t .Parallel ()
259
- service , host := projecttestutil .Setup (files )
260
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
259
+ service , host := projecttestutil .Setup (defaultFiles )
260
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , defaultFiles ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
261
261
_ , project := service .EnsureDefaultProjectForFile ("/home/projects/TS/p1/src/index.ts" )
262
262
programBefore := project .GetProgram ()
263
263
264
- filesCopy := maps .Clone (files )
265
- filesCopy ["/home/projects/TS/p1/src/x.ts" ] = `export const x = 2;`
266
- host .ReplaceFS (filesCopy )
267
- service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
264
+ files := maps .Clone (defaultFiles )
265
+ files ["/home/projects/TS/p1/src/x.ts" ] = `export const x = 2;`
266
+ host .ReplaceFS (files )
267
+ assert . NilError ( t , service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
268
268
{
269
269
Type : lsproto .FileChangeTypeChanged ,
270
270
Uri : "file:///home/projects/TS/p1/src/x.ts" ,
271
271
},
272
- })
272
+ }))
273
273
274
274
assert .Check (t , project .GetProgram () != programBefore )
275
275
})
@@ -303,12 +303,12 @@ func TestService(t *testing.T) {
303
303
}
304
304
}`
305
305
host .ReplaceFS (filesCopy )
306
- service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
306
+ assert . NilError ( t , service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
307
307
{
308
308
Type : lsproto .FileChangeTypeChanged ,
309
309
Uri : "file:///home/projects/TS/p1/tsconfig.json" ,
310
310
},
311
- })
311
+ }))
312
312
313
313
program = project .GetProgram ()
314
314
assert .Equal (t , len (program .GetSemanticDiagnostics (program .GetSourceFile ("/home/projects/TS/p1/src/index.ts" ))), 1 )
@@ -335,12 +335,12 @@ func TestService(t *testing.T) {
335
335
filesCopy := maps .Clone (files )
336
336
delete (filesCopy , "/home/projects/TS/p1/src/x.ts" )
337
337
host .ReplaceFS (filesCopy )
338
- service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
338
+ assert . NilError ( t , service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
339
339
{
340
340
Type : lsproto .FileChangeTypeDeleted ,
341
341
Uri : "file:///home/projects/TS/p1/src/x.ts" ,
342
342
},
343
- })
343
+ }))
344
344
345
345
program = project .GetProgram ()
346
346
assert .Equal (t , len (program .GetSemanticDiagnostics (program .GetSourceFile ("/home/projects/TS/p1/src/index.ts" ))), 1 )
@@ -368,12 +368,12 @@ func TestService(t *testing.T) {
368
368
filesCopy := maps .Clone (files )
369
369
delete (filesCopy , "/home/projects/TS/p1/src/index.ts" )
370
370
host .ReplaceFS (filesCopy )
371
- service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
371
+ assert . NilError ( t , service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
372
372
{
373
373
Type : lsproto .FileChangeTypeDeleted ,
374
374
Uri : "file:///home/projects/TS/p1/src/index.ts" ,
375
375
},
376
- })
376
+ }))
377
377
378
378
program = project .GetProgram ()
379
379
assert .Equal (t , len (program .GetSemanticDiagnostics (program .GetSourceFile ("/home/projects/TS/p1/src/x.ts" ))), 1 )
@@ -402,12 +402,12 @@ func TestService(t *testing.T) {
402
402
filesCopy := maps .Clone (files )
403
403
filesCopy ["/home/projects/TS/p1/src/y.ts" ] = `export const y = 1;`
404
404
host .ReplaceFS (filesCopy )
405
- service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
405
+ assert . NilError ( t , service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
406
406
{
407
407
Type : lsproto .FileChangeTypeCreated ,
408
408
Uri : "file:///home/projects/TS/p1/src/y.ts" ,
409
409
},
410
- })
410
+ }))
411
411
412
412
// Error should be resolved
413
413
program = project .GetProgram ()
@@ -438,12 +438,12 @@ func TestService(t *testing.T) {
438
438
filesCopy := maps .Clone (files )
439
439
filesCopy ["/home/projects/TS/p1/src/z.ts" ] = `export const z = 1;`
440
440
host .ReplaceFS (filesCopy )
441
- service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
441
+ assert . NilError ( t , service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
442
442
{
443
443
Type : lsproto .FileChangeTypeCreated ,
444
444
Uri : "file:///home/projects/TS/p1/src/z.ts" ,
445
445
},
446
- })
446
+ }))
447
447
448
448
// Error should be resolved and the new file should be included in the program
449
449
program = project .GetProgram ()
0 commit comments