@@ -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 )
@@ -77,8 +77,8 @@ func TestService(t *testing.T) {
77
77
t .Parallel ()
78
78
t .Run ("update script info eagerly and program lazily" , func (t * testing.T ) {
79
79
t .Parallel ()
80
- service , _ := projecttestutil .Setup (files )
81
- service .OpenFile ("/home/projects/TS/p1/src/x.ts" , files ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
80
+ service , _ := projecttestutil .Setup (defaultFiles )
81
+ service .OpenFile ("/home/projects/TS/p1/src/x.ts" , defaultFiles ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
82
82
info , proj := service .EnsureDefaultProjectForFile ("/home/projects/TS/p1/src/x.ts" )
83
83
programBefore := proj .GetProgram ()
84
84
service .ChangeFile ("/home/projects/TS/p1/src/x.ts" , []ls.TextChange {{TextRange : core .NewTextRange (17 , 18 ), NewText : "2" }})
@@ -90,8 +90,8 @@ func TestService(t *testing.T) {
90
90
91
91
t .Run ("unchanged source files are reused" , func (t * testing.T ) {
92
92
t .Parallel ()
93
- service , _ := projecttestutil .Setup (files )
94
- service .OpenFile ("/home/projects/TS/p1/src/x.ts" , files ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
93
+ service , _ := projecttestutil .Setup (defaultFiles )
94
+ service .OpenFile ("/home/projects/TS/p1/src/x.ts" , defaultFiles ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
95
95
_ , proj := service .EnsureDefaultProjectForFile ("/home/projects/TS/p1/src/x.ts" )
96
96
programBefore := proj .GetProgram ()
97
97
indexFileBefore := programBefore .GetSourceFile ("/home/projects/TS/p1/src/index.ts" )
@@ -101,10 +101,10 @@ func TestService(t *testing.T) {
101
101
102
102
t .Run ("change can pull in new files" , func (t * testing.T ) {
103
103
t .Parallel ()
104
- filesCopy := maps .Clone (files )
105
- filesCopy ["/home/projects/TS/p1/y.ts" ] = `export const y = 2;`
106
- service , _ := projecttestutil .Setup (filesCopy )
107
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , filesCopy ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
104
+ files := maps .Clone (defaultFiles )
105
+ files ["/home/projects/TS/p1/y.ts" ] = `export const y = 2;`
106
+ service , _ := projecttestutil .Setup (files )
107
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
108
108
assert .Check (t , service .GetScriptInfo ("/home/projects/TS/p1/y.ts" ) == nil )
109
109
110
110
service .ChangeFile ("/home/projects/TS/p1/src/index.ts" , []ls.TextChange {{TextRange : core .NewTextRange (0 , 0 ), NewText : `import { y } from "../y";\n` }})
@@ -118,23 +118,23 @@ func TestService(t *testing.T) {
118
118
t .Parallel ()
119
119
t .Run ("delete a file, close it, recreate it" , func (t * testing.T ) {
120
120
t .Parallel ()
121
- service , host := projecttestutil .Setup (files )
122
- service .OpenFile ("/home/projects/TS/p1/src/x.ts" , files ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
123
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
121
+ service , host := projecttestutil .Setup (defaultFiles )
122
+ service .OpenFile ("/home/projects/TS/p1/src/x.ts" , defaultFiles ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
123
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , defaultFiles ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
124
124
assert .Equal (t , service .SourceFileCount (), 2 )
125
125
126
- filesCopy := maps .Clone (files )
127
- delete (filesCopy , "/home/projects/TS/p1/src/x.ts" )
128
- host .ReplaceFS (filesCopy )
126
+ files := maps .Clone (defaultFiles )
127
+ delete (files , "/home/projects/TS/p1/src/x.ts" )
128
+ host .ReplaceFS (files )
129
129
130
130
service .CloseFile ("/home/projects/TS/p1/src/x.ts" )
131
131
assert .Check (t , service .GetScriptInfo ("/home/projects/TS/p1/src/x.ts" ) == nil )
132
132
assert .Check (t , service .Projects ()[0 ].GetProgram ().GetSourceFile ("/home/projects/TS/p1/src/x.ts" ) == nil )
133
133
assert .Equal (t , service .SourceFileCount (), 1 )
134
134
135
- filesCopy ["/home/projects/TS/p1/src/x.ts" ] = ``
136
- host .ReplaceFS (filesCopy )
137
- service .OpenFile ("/home/projects/TS/p1/src/x.ts" , filesCopy ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
135
+ files ["/home/projects/TS/p1/src/x.ts" ] = ``
136
+ host .ReplaceFS (files )
137
+ service .OpenFile ("/home/projects/TS/p1/src/x.ts" , files ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
138
138
assert .Equal (t , service .GetScriptInfo ("/home/projects/TS/p1/src/x.ts" ).Text (), "" )
139
139
assert .Check (t , service .Projects ()[0 ].GetProgram ().GetSourceFile ("/home/projects/TS/p1/src/x.ts" ) != nil )
140
140
assert .Equal (t , service .Projects ()[0 ].GetProgram ().GetSourceFile ("/home/projects/TS/p1/src/x.ts" ).Text (), "" )
@@ -145,22 +145,22 @@ func TestService(t *testing.T) {
145
145
t .Parallel ()
146
146
t .Run ("delete a file, close it, recreate it" , func (t * testing.T ) {
147
147
t .Parallel ()
148
- filesCopy := maps .Clone (files )
149
- delete (filesCopy , "/home/projects/TS/p1/tsconfig.json" )
150
- service , host := projecttestutil .Setup (filesCopy )
151
- service .OpenFile ("/home/projects/TS/p1/src/x.ts" , files ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
152
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
148
+ files := maps .Clone (defaultFiles )
149
+ delete (files , "/home/projects/TS/p1/tsconfig.json" )
150
+ service , host := projecttestutil .Setup (files )
151
+ service .OpenFile ("/home/projects/TS/p1/src/x.ts" , defaultFiles ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
152
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , defaultFiles ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
153
153
154
- delete (filesCopy , "/home/projects/TS/p1/src/x.ts" )
155
- host .ReplaceFS (filesCopy )
154
+ delete (files , "/home/projects/TS/p1/src/x.ts" )
155
+ host .ReplaceFS (files )
156
156
157
157
service .CloseFile ("/home/projects/TS/p1/src/x.ts" )
158
158
assert .Check (t , service .GetScriptInfo ("/home/projects/TS/p1/src/x.ts" ) == nil )
159
159
assert .Check (t , service .Projects ()[0 ].GetProgram ().GetSourceFile ("/home/projects/TS/p1/src/x.ts" ) == nil )
160
160
161
- filesCopy ["/home/projects/TS/p1/src/x.ts" ] = ``
162
- host .ReplaceFS (filesCopy )
163
- service .OpenFile ("/home/projects/TS/p1/src/x.ts" , filesCopy ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
161
+ files ["/home/projects/TS/p1/src/x.ts" ] = ``
162
+ host .ReplaceFS (files )
163
+ service .OpenFile ("/home/projects/TS/p1/src/x.ts" , files ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
164
164
assert .Equal (t , service .GetScriptInfo ("/home/projects/TS/p1/src/x.ts" ).Text (), "" )
165
165
assert .Check (t , service .Projects ()[0 ].GetProgram ().GetSourceFile ("/home/projects/TS/p1/src/x.ts" ) != nil )
166
166
assert .Equal (t , service .Projects ()[0 ].GetProgram ().GetSourceFile ("/home/projects/TS/p1/src/x.ts" ).Text (), "" )
@@ -172,19 +172,19 @@ func TestService(t *testing.T) {
172
172
t .Parallel ()
173
173
t .Run ("projects with similar options share source files" , func (t * testing.T ) {
174
174
t .Parallel ()
175
- filesCopy := maps .Clone (files )
176
- filesCopy ["/home/projects/TS/p2/tsconfig.json" ] = `{
175
+ files := maps .Clone (defaultFiles )
176
+ files ["/home/projects/TS/p2/tsconfig.json" ] = `{
177
177
"compilerOptions": {
178
178
"noLib": true,
179
179
"module": "nodenext",
180
180
"strict": true,
181
181
"noCheck": true // Added
182
182
},
183
183
}`
184
- filesCopy ["/home/projects/TS/p2/src/index.ts" ] = `import { x } from "../../p1/src/x";`
185
- service , _ := projecttestutil .Setup (filesCopy )
186
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , filesCopy ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
187
- service .OpenFile ("/home/projects/TS/p2/src/index.ts" , filesCopy ["/home/projects/TS/p2/src/index.ts" ], core .ScriptKindTS , "" )
184
+ files ["/home/projects/TS/p2/src/index.ts" ] = `import { x } from "../../p1/src/x";`
185
+ service , _ := projecttestutil .Setup (files )
186
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
187
+ service .OpenFile ("/home/projects/TS/p2/src/index.ts" , files ["/home/projects/TS/p2/src/index.ts" ], core .ScriptKindTS , "" )
188
188
assert .Equal (t , len (service .Projects ()), 2 )
189
189
_ , p1 := service .EnsureDefaultProjectForFile ("/home/projects/TS/p1/src/index.ts" )
190
190
_ , p2 := service .EnsureDefaultProjectForFile ("/home/projects/TS/p2/src/index.ts" )
@@ -197,17 +197,17 @@ func TestService(t *testing.T) {
197
197
198
198
t .Run ("projects with different options do not share source files" , func (t * testing.T ) {
199
199
t .Parallel ()
200
- filesCopy := maps .Clone (files )
201
- filesCopy ["/home/projects/TS/p2/tsconfig.json" ] = `{
200
+ files := maps .Clone (defaultFiles )
201
+ files ["/home/projects/TS/p2/tsconfig.json" ] = `{
202
202
"compilerOptions": {
203
203
"module": "nodenext",
204
204
"jsx": "react"
205
205
}
206
206
}`
207
- filesCopy ["/home/projects/TS/p2/src/index.ts" ] = `import { x } from "../../p1/src/x";`
208
- service , _ := projecttestutil .Setup (filesCopy )
209
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , filesCopy ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
210
- service .OpenFile ("/home/projects/TS/p2/src/index.ts" , filesCopy ["/home/projects/TS/p2/src/index.ts" ], core .ScriptKindTS , "" )
207
+ files ["/home/projects/TS/p2/src/index.ts" ] = `import { x } from "../../p1/src/x";`
208
+ service , _ := projecttestutil .Setup (files )
209
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
210
+ service .OpenFile ("/home/projects/TS/p2/src/index.ts" , files ["/home/projects/TS/p2/src/index.ts" ], core .ScriptKindTS , "" )
211
211
assert .Equal (t , len (service .Projects ()), 2 )
212
212
_ , p1 := service .EnsureDefaultProjectForFile ("/home/projects/TS/p1/src/index.ts" )
213
213
_ , p2 := service .EnsureDefaultProjectForFile ("/home/projects/TS/p2/src/index.ts" )
@@ -223,41 +223,41 @@ func TestService(t *testing.T) {
223
223
224
224
t .Run ("change open file" , func (t * testing.T ) {
225
225
t .Parallel ()
226
- service , host := projecttestutil .Setup (files )
227
- service .OpenFile ("/home/projects/TS/p1/src/x.ts" , files ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
228
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
226
+ service , host := projecttestutil .Setup (defaultFiles )
227
+ service .OpenFile ("/home/projects/TS/p1/src/x.ts" , defaultFiles ["/home/projects/TS/p1/src/x.ts" ], core .ScriptKindTS , "" )
228
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , defaultFiles ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
229
229
_ , project := service .EnsureDefaultProjectForFile ("/home/projects/TS/p1/src/index.ts" )
230
230
programBefore := project .GetProgram ()
231
231
232
- filesCopy := maps .Clone (files )
233
- filesCopy ["/home/projects/TS/p1/src/x.ts" ] = `export const x = 2;`
234
- host .ReplaceFS (filesCopy )
235
- service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
232
+ files := maps .Clone (defaultFiles )
233
+ files ["/home/projects/TS/p1/src/x.ts" ] = `export const x = 2;`
234
+ host .ReplaceFS (files )
235
+ assert . NilError ( t , service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
236
236
{
237
237
Type : lsproto .FileChangeTypeChanged ,
238
238
Uri : "file:///home/projects/TS/p1/src/x.ts" ,
239
239
},
240
- })
240
+ }))
241
241
242
242
assert .Equal (t , programBefore , project .GetProgram ())
243
243
})
244
244
245
245
t .Run ("change closed program file" , func (t * testing.T ) {
246
246
t .Parallel ()
247
- service , host := projecttestutil .Setup (files )
248
- service .OpenFile ("/home/projects/TS/p1/src/index.ts" , files ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
247
+ service , host := projecttestutil .Setup (defaultFiles )
248
+ service .OpenFile ("/home/projects/TS/p1/src/index.ts" , defaultFiles ["/home/projects/TS/p1/src/index.ts" ], core .ScriptKindTS , "" )
249
249
_ , project := service .EnsureDefaultProjectForFile ("/home/projects/TS/p1/src/index.ts" )
250
250
programBefore := project .GetProgram ()
251
251
252
- filesCopy := maps .Clone (files )
253
- filesCopy ["/home/projects/TS/p1/src/x.ts" ] = `export const x = 2;`
254
- host .ReplaceFS (filesCopy )
255
- service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
252
+ files := maps .Clone (defaultFiles )
253
+ files ["/home/projects/TS/p1/src/x.ts" ] = `export const x = 2;`
254
+ host .ReplaceFS (files )
255
+ assert . NilError ( t , service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
256
256
{
257
257
Type : lsproto .FileChangeTypeChanged ,
258
258
Uri : "file:///home/projects/TS/p1/src/x.ts" ,
259
259
},
260
- })
260
+ }))
261
261
262
262
assert .Check (t , project .GetProgram () != programBefore )
263
263
})
@@ -291,12 +291,12 @@ func TestService(t *testing.T) {
291
291
}
292
292
}`
293
293
host .ReplaceFS (filesCopy )
294
- service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
294
+ assert . NilError ( t , service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
295
295
{
296
296
Type : lsproto .FileChangeTypeChanged ,
297
297
Uri : "file:///home/projects/TS/p1/tsconfig.json" ,
298
298
},
299
- })
299
+ }))
300
300
301
301
program = project .GetProgram ()
302
302
assert .Equal (t , len (program .GetSemanticDiagnostics (program .GetSourceFile ("/home/projects/TS/p1/src/index.ts" ))), 1 )
@@ -323,12 +323,12 @@ func TestService(t *testing.T) {
323
323
filesCopy := maps .Clone (files )
324
324
delete (filesCopy , "/home/projects/TS/p1/src/x.ts" )
325
325
host .ReplaceFS (filesCopy )
326
- service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
326
+ assert . NilError ( t , service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
327
327
{
328
328
Type : lsproto .FileChangeTypeDeleted ,
329
329
Uri : "file:///home/projects/TS/p1/src/x.ts" ,
330
330
},
331
- })
331
+ }))
332
332
333
333
program = project .GetProgram ()
334
334
assert .Equal (t , len (program .GetSemanticDiagnostics (program .GetSourceFile ("/home/projects/TS/p1/src/index.ts" ))), 1 )
@@ -356,12 +356,12 @@ func TestService(t *testing.T) {
356
356
filesCopy := maps .Clone (files )
357
357
delete (filesCopy , "/home/projects/TS/p1/src/index.ts" )
358
358
host .ReplaceFS (filesCopy )
359
- service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
359
+ assert . NilError ( t , service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
360
360
{
361
361
Type : lsproto .FileChangeTypeDeleted ,
362
362
Uri : "file:///home/projects/TS/p1/src/index.ts" ,
363
363
},
364
- })
364
+ }))
365
365
366
366
program = project .GetProgram ()
367
367
assert .Equal (t , len (program .GetSemanticDiagnostics (program .GetSourceFile ("/home/projects/TS/p1/src/x.ts" ))), 1 )
@@ -390,12 +390,12 @@ func TestService(t *testing.T) {
390
390
filesCopy := maps .Clone (files )
391
391
filesCopy ["/home/projects/TS/p1/src/y.ts" ] = `export const y = 1;`
392
392
host .ReplaceFS (filesCopy )
393
- service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
393
+ assert . NilError ( t , service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
394
394
{
395
395
Type : lsproto .FileChangeTypeCreated ,
396
396
Uri : "file:///home/projects/TS/p1/src/y.ts" ,
397
397
},
398
- })
398
+ }))
399
399
400
400
// Error should be resolved
401
401
program = project .GetProgram ()
@@ -426,12 +426,12 @@ func TestService(t *testing.T) {
426
426
filesCopy := maps .Clone (files )
427
427
filesCopy ["/home/projects/TS/p1/src/z.ts" ] = `export const z = 1;`
428
428
host .ReplaceFS (filesCopy )
429
- service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
429
+ assert . NilError ( t , service .OnWatchedFilesChanged ([]* lsproto.FileEvent {
430
430
{
431
431
Type : lsproto .FileChangeTypeCreated ,
432
432
Uri : "file:///home/projects/TS/p1/src/z.ts" ,
433
433
},
434
- })
434
+ }))
435
435
436
436
// Error should be resolved and the new file should be included in the program
437
437
program = project .GetProgram ()
0 commit comments