@@ -137,14 +137,14 @@ test1
137
137
} ) ;
138
138
139
139
const result = await parser . getExcludedLines ( doc , new vscode . Range ( 11 , 0 , 11 , 3 ) , 0 ) ;
140
- assert . strictEqual ( result . length , 7 ) ;
141
- assert . strictEqual ( result [ 0 ] , 2 ) ;
142
- assert . strictEqual ( result [ 1 ] , 3 ) ;
143
- assert . strictEqual ( result [ 2 ] , 4 ) ;
144
- assert . strictEqual ( result [ 3 ] , 5 ) ;
145
- assert . strictEqual ( result [ 4 ] , 7 ) ;
146
- assert . strictEqual ( result [ 5 ] , 8 ) ;
147
- assert . strictEqual ( result [ 6 ] , 9 ) ;
140
+ assert . strictEqual ( result . size , 7 ) ;
141
+ assert . strictEqual ( result . has ( 2 ) , true ) ;
142
+ assert . strictEqual ( result . has ( 3 ) , true ) ;
143
+ assert . strictEqual ( result . has ( 4 ) , true ) ;
144
+ assert . strictEqual ( result . has ( 5 ) , true ) ;
145
+ assert . strictEqual ( result . has ( 7 ) , true ) ;
146
+ assert . strictEqual ( result . has ( 8 ) , true ) ;
147
+ assert . strictEqual ( result . has ( 9 ) , true ) ;
148
148
} ) ;
149
149
150
150
test ( 'returns empty array when no functions out of scope are present in range' , async ( ) => {
@@ -168,7 +168,37 @@ test2
168
168
} ) ;
169
169
170
170
const result = await parser . getExcludedLines ( doc , new vscode . Range ( 8 , 4 , 8 , 7 ) , 7 ) ;
171
- assert . strictEqual ( result . length , 0 ) ;
171
+ assert . strictEqual ( result . size , 0 ) ;
172
+ } ) ;
173
+
174
+ test ( 'does not exclude stoppedLocation multi-range' , async ( ) => {
175
+ const doc = await vscode . workspace . openTextDocument ( {
176
+ language : 'powershell' ,
177
+ content : `
178
+ function test2 {
179
+ $b # Stopped location
180
+ }; $param = @{ # Stopped location
181
+ Abc = 123 # Stopped location
182
+ } # Stopped location
183
+ ` ,
184
+ } ) ;
185
+
186
+ const result = await parser . getExcludedLines ( doc , new vscode . Range ( 3 , 3 , 5 , 1 ) , 0 ) ;
187
+ assert . strictEqual ( result . size , 2 ) ;
188
+ assert . strictEqual ( result . has ( 1 ) , true ) ;
189
+ assert . strictEqual ( result . has ( 2 ) , true ) ;
190
+ } ) ;
191
+
192
+ test ( 'does not exclude stoppedLocation line when same as out of scope function' , async ( ) => {
193
+ const doc = await vscode . workspace . openTextDocument ( {
194
+ language : 'powershell' ,
195
+ content : `
196
+ function test1 { }; $b; function test2 { }; #$b is stoppedLocation
197
+ ` ,
198
+ } ) ;
199
+
200
+ const result = await parser . getExcludedLines ( doc , new vscode . Range ( 1 , 20 , 1 , 25 ) , 0 ) ;
201
+ assert . strictEqual ( result . size , 0 ) ;
172
202
} ) ;
173
203
} ) ;
174
204
} ) ;
0 commit comments