@@ -9,6 +9,7 @@ describe("PreProcessFile:", () => {
9
9
checkFileReferenceList ( "Imported files" , expectedPreProcess . importedFiles , resultPreProcess . importedFiles ) ;
10
10
checkFileReferenceList ( "Referenced files" , expectedPreProcess . referencedFiles , resultPreProcess . referencedFiles ) ;
11
11
checkFileReferenceList ( "Type reference directives" , expectedPreProcess . typeReferenceDirectives , resultPreProcess . typeReferenceDirectives ) ;
12
+ checkFileReferenceList ( "Lib reference directives" , expectedPreProcess . libReferenceDirectives , resultPreProcess . libReferenceDirectives ) ;
12
13
13
14
assert . deepEqual ( resultPreProcess . ambientExternalModules , expectedPreProcess . ambientExternalModules ) ;
14
15
}
@@ -41,6 +42,7 @@ describe("PreProcessFile:", () => {
41
42
{ fileName : "refFile3.ts" , pos : 94 , end : 105 } , { fileName : "..\\refFile4d.ts" , pos : 131 , end : 146 } ] ,
42
43
importedFiles : < ts . FileReference [ ] > [ ] ,
43
44
typeReferenceDirectives : [ ] ,
45
+ libReferenceDirectives : [ ] ,
44
46
ambientExternalModules : undefined ,
45
47
isLibFile : false
46
48
} ) ;
@@ -54,6 +56,7 @@ describe("PreProcessFile:", () => {
54
56
referencedFiles : < ts . FileReference [ ] > [ ] ,
55
57
importedFiles : < ts . FileReference [ ] > [ ] ,
56
58
typeReferenceDirectives : [ ] ,
59
+ libReferenceDirectives : [ ] ,
57
60
ambientExternalModules : undefined ,
58
61
isLibFile : false
59
62
} ) ;
@@ -67,6 +70,7 @@ describe("PreProcessFile:", () => {
67
70
referencedFiles : < ts . FileReference [ ] > [ ] ,
68
71
importedFiles : < ts . FileReference [ ] > [ ] ,
69
72
typeReferenceDirectives : [ ] ,
73
+ libReferenceDirectives : [ ] ,
70
74
ambientExternalModules : undefined ,
71
75
isLibFile : false
72
76
} ) ;
@@ -80,6 +84,7 @@ describe("PreProcessFile:", () => {
80
84
referencedFiles : < ts . FileReference [ ] > [ ] ,
81
85
importedFiles : < ts . FileReference [ ] > [ ] ,
82
86
typeReferenceDirectives : [ ] ,
87
+ libReferenceDirectives : [ ] ,
83
88
ambientExternalModules : undefined ,
84
89
isLibFile : false
85
90
} ) ;
@@ -92,6 +97,7 @@ describe("PreProcessFile:", () => {
92
97
{
93
98
referencedFiles : < ts . FileReference [ ] > [ ] ,
94
99
typeReferenceDirectives : [ ] ,
100
+ libReferenceDirectives : [ ] ,
95
101
importedFiles : [ { fileName : "r1.ts" , pos : 20 , end : 25 } , { fileName : "r2.ts" , pos : 49 , end : 54 } , { fileName : "r3.ts" , pos : 78 , end : 83 } ,
96
102
{ fileName : "r4.ts" , pos : 106 , end : 111 } , { fileName : "r5.ts" , pos : 138 , end : 143 } ] ,
97
103
ambientExternalModules : undefined ,
@@ -106,6 +112,7 @@ describe("PreProcessFile:", () => {
106
112
{
107
113
referencedFiles : < ts . FileReference [ ] > [ ] ,
108
114
typeReferenceDirectives : [ ] ,
115
+ libReferenceDirectives : [ ] ,
109
116
importedFiles : < ts . FileReference [ ] > [ ] ,
110
117
ambientExternalModules : undefined ,
111
118
isLibFile : false
@@ -119,6 +126,7 @@ describe("PreProcessFile:", () => {
119
126
{
120
127
referencedFiles : < ts . FileReference [ ] > [ ] ,
121
128
typeReferenceDirectives : [ ] ,
129
+ libReferenceDirectives : [ ] ,
122
130
importedFiles : [ { fileName : "r3.ts" , pos : 73 , end : 78 } ] ,
123
131
ambientExternalModules : undefined ,
124
132
isLibFile : false
@@ -132,6 +140,7 @@ describe("PreProcessFile:", () => {
132
140
{
133
141
referencedFiles : [ { fileName : "refFile1.ts" , pos : 20 , end : 31 } , { fileName : "refFile2.ts" , pos : 57 , end : 68 } ] ,
134
142
typeReferenceDirectives : [ ] ,
143
+ libReferenceDirectives : [ ] ,
135
144
importedFiles : [ { fileName : "r1.ts" , pos : 92 , end : 97 } , { fileName : "r2.ts" , pos : 121 , end : 126 } ] ,
136
145
ambientExternalModules : undefined ,
137
146
isLibFile : false
@@ -145,6 +154,7 @@ describe("PreProcessFile:", () => {
145
154
{
146
155
referencedFiles : [ { fileName : "refFile1.ts" , pos : 20 , end : 31 } ] ,
147
156
typeReferenceDirectives : [ ] ,
157
+ libReferenceDirectives : [ ] ,
148
158
importedFiles : [ { fileName : "r1.ts" , pos : 91 , end : 96 } , { fileName : "r3.ts" , pos : 148 , end : 153 } ] ,
149
159
ambientExternalModules : undefined ,
150
160
isLibFile : false
@@ -164,6 +174,7 @@ describe("PreProcessFile:", () => {
164
174
{
165
175
referencedFiles : [ ] ,
166
176
typeReferenceDirectives : [ ] ,
177
+ libReferenceDirectives : [ ] ,
167
178
importedFiles : [
168
179
{ fileName : "m1" , pos : 20 , end : 22 } ,
169
180
{ fileName : "m2" , pos : 51 , end : 53 } ,
@@ -188,6 +199,7 @@ describe("PreProcessFile:", () => {
188
199
{
189
200
referencedFiles : [ ] ,
190
201
typeReferenceDirectives : [ ] ,
202
+ libReferenceDirectives : [ ] ,
191
203
importedFiles : [
192
204
{ fileName : "m1" , pos : 14 , end : 16 } ,
193
205
{ fileName : "m2" , pos : 36 , end : 38 } ,
@@ -212,6 +224,7 @@ describe("PreProcessFile:", () => {
212
224
{
213
225
referencedFiles : [ ] ,
214
226
typeReferenceDirectives : [ ] ,
227
+ libReferenceDirectives : [ ] ,
215
228
importedFiles : [ ] ,
216
229
ambientExternalModules : [ "B" ] ,
217
230
isLibFile : false
@@ -225,6 +238,7 @@ describe("PreProcessFile:", () => {
225
238
{
226
239
referencedFiles : [ ] ,
227
240
typeReferenceDirectives : [ ] ,
241
+ libReferenceDirectives : [ ] ,
228
242
importedFiles : [
229
243
{ fileName : "m1" , pos : 26 , end : 28 }
230
244
] ,
@@ -244,6 +258,7 @@ describe("PreProcessFile:", () => {
244
258
{
245
259
referencedFiles : [ ] ,
246
260
typeReferenceDirectives : [ ] ,
261
+ libReferenceDirectives : [ ] ,
247
262
importedFiles : [
248
263
{ fileName : "m1" , pos : 39 , end : 41 } ,
249
264
{ fileName : "m2" , pos : 74 , end : 76 } ,
@@ -264,6 +279,7 @@ describe("PreProcessFile:", () => {
264
279
{
265
280
referencedFiles : [ ] ,
266
281
typeReferenceDirectives : [ ] ,
282
+ libReferenceDirectives : [ ] ,
267
283
importedFiles : [
268
284
{ fileName : "mod1" , pos : 21 , end : 25 } ,
269
285
{ fileName : "mod2" , pos : 29 , end : 33 } ,
@@ -282,6 +298,7 @@ describe("PreProcessFile:", () => {
282
298
{
283
299
referencedFiles : [ ] ,
284
300
typeReferenceDirectives : [ ] ,
301
+ libReferenceDirectives : [ ] ,
285
302
importedFiles : [
286
303
{ fileName : "mod1" , pos : 28 , end : 32 } ,
287
304
{ fileName : "mod2" , pos : 36 , end : 40 } ,
@@ -303,6 +320,7 @@ describe("PreProcessFile:", () => {
303
320
{
304
321
referencedFiles : [ ] ,
305
322
typeReferenceDirectives : [ ] ,
323
+ libReferenceDirectives : [ ] ,
306
324
importedFiles : [
307
325
{ fileName : "../Observable" , pos : 28 , end : 41 }
308
326
] ,
@@ -323,6 +341,7 @@ describe("PreProcessFile:", () => {
323
341
{
324
342
referencedFiles : [ ] ,
325
343
typeReferenceDirectives : [ ] ,
344
+ libReferenceDirectives : [ ] ,
326
345
importedFiles : [
327
346
{ fileName : "m" , pos : 123 , end : 124 } ,
328
347
{ fileName : "../Observable" , pos : 28 , end : 41 }
@@ -344,6 +363,7 @@ describe("PreProcessFile:", () => {
344
363
{
345
364
referencedFiles : [ ] ,
346
365
typeReferenceDirectives : [ ] ,
366
+ libReferenceDirectives : [ ] ,
347
367
importedFiles : [
348
368
{ fileName : "m" , pos : 123 , end : 124 } ,
349
369
{ fileName : "../Observable" , pos : 28 , end : 41 }
@@ -365,6 +385,7 @@ describe("PreProcessFile:", () => {
365
385
{
366
386
referencedFiles : [ ] ,
367
387
typeReferenceDirectives : [ ] ,
388
+ libReferenceDirectives : [ ] ,
368
389
importedFiles : [
369
390
{ fileName : "../Observable" , pos : 28 , end : 41 }
370
391
] ,
@@ -385,6 +406,7 @@ describe("PreProcessFile:", () => {
385
406
{
386
407
referencedFiles : [ ] ,
387
408
typeReferenceDirectives : [ ] ,
409
+ libReferenceDirectives : [ ] ,
388
410
importedFiles : [
389
411
{ fileName : "../Observable" , pos : 28 , end : 41 }
390
412
] ,
@@ -404,6 +426,7 @@ describe("PreProcessFile:", () => {
404
426
{
405
427
referencedFiles : [ ] ,
406
428
typeReferenceDirectives : [ ] ,
429
+ libReferenceDirectives : [ ] ,
407
430
importedFiles : [
408
431
{ fileName : "../Observable" , pos : 28 , end : 41 }
409
432
] ,
@@ -425,6 +448,7 @@ describe("PreProcessFile:", () => {
425
448
{
426
449
referencedFiles : [ ] ,
427
450
typeReferenceDirectives : [ ] ,
451
+ libReferenceDirectives : [ ] ,
428
452
importedFiles : [
429
453
{ fileName : "m2" , pos : 65 , end : 67 } ,
430
454
{ fileName : "augmentation" , pos : 102 , end : 114 }
@@ -449,6 +473,7 @@ describe("PreProcessFile:", () => {
449
473
{
450
474
referencedFiles : [ ] ,
451
475
typeReferenceDirectives : [ ] ,
476
+ libReferenceDirectives : [ ] ,
452
477
importedFiles : [
453
478
{ fileName : "m2" , pos : 127 , end : 129 } ,
454
479
{ fileName : "augmentation" , pos : 164 , end : 176 }
@@ -475,6 +500,32 @@ describe("PreProcessFile:", () => {
475
500
{ pos : 73 , end : 75 , fileName : "a1" } ,
476
501
{ pos : 152 , end : 154 , fileName : "a3" }
477
502
] ,
503
+ libReferenceDirectives : [ ] ,
504
+ importedFiles : [ ] ,
505
+ ambientExternalModules : undefined ,
506
+ isLibFile : false
507
+ } ) ;
508
+ } ) ;
509
+ it ( "correctly recognizes lib reference directives" , ( ) => {
510
+ test ( `
511
+ /// <reference path="a"/>
512
+ /// <reference lib="a1"/>
513
+ /// <reference path="a2"/>
514
+ /// <reference lib="a3"/>
515
+ ` ,
516
+ /*readImportFile*/ true ,
517
+ /*detectJavaScriptImports*/ false ,
518
+ {
519
+ referencedFiles : [
520
+ { pos : 34 , end : 35 , fileName : "a" } ,
521
+ { pos : 110 , end : 112 , fileName : "a2" }
522
+ ] ,
523
+ typeReferenceDirectives : [
524
+ ] ,
525
+ libReferenceDirectives : [
526
+ { pos : 71 , end : 73 , fileName : "a1" } ,
527
+ { pos : 148 , end : 150 , fileName : "a3" }
528
+ ] ,
478
529
importedFiles : [ ] ,
479
530
ambientExternalModules : undefined ,
480
531
isLibFile : false
0 commit comments