@@ -23,18 +23,15 @@ async function uriForFile(fileName: string): Promise<vscode.Uri> {
23
23
}
24
24
25
25
// Return a valid TestItem for the namespace.
26
- // Creates a new item if one does not exist, otherwise we find the existing entry .
26
+ // Creates a new item and adds it to the controller, replacing any existing item for the namespace .
27
27
// If a Range is supplied, that we set the range on the returned item.
28
- function upsertNamespace (
28
+ function createCleanNamespaceItem (
29
29
controller : vscode . TestController ,
30
30
uri : vscode . Uri ,
31
31
nsName : string ,
32
32
range ?: vscode . Range
33
33
) : vscode . TestItem {
34
- let ns = controller . items . get ( nsName ) ;
35
- if ( ! ns ) {
36
- ns = controller . createTestItem ( nsName , nsName , uri ) ;
37
- }
34
+ const ns = controller . createTestItem ( nsName , nsName , uri ) ;
38
35
if ( range ) {
39
36
ns . range = range ;
40
37
}
@@ -52,7 +49,7 @@ function upsertTest(
52
49
varName : string ,
53
50
range ?: vscode . Range
54
51
) : vscode . TestItem {
55
- const ns = upsertNamespace ( controller , uri , nsName ) ;
52
+ const ns = controller . items . get ( nsName ) ;
56
53
const testId = nsName + '/' + varName ;
57
54
let test = ns . children . get ( testId ) ;
58
55
if ( ! test ) {
@@ -483,7 +480,12 @@ function onTestTree(controller: vscode.TestController, testTree: lsp.TestTreePar
483
480
}
484
481
try {
485
482
const uri = vscode . Uri . parse ( testTree . uri ) ;
486
- const ns = upsertNamespace ( controller , uri , testTree . tree . name , createRange ( testTree . tree ) ) ;
483
+ const ns = createCleanNamespaceItem (
484
+ controller ,
485
+ uri ,
486
+ testTree . tree . name ,
487
+ createRange ( testTree . tree )
488
+ ) ;
487
489
ns . canResolveChildren = true ;
488
490
testTree . tree . children . forEach ( ( c ) => {
489
491
upsertTest ( controller , uri , testTree . tree . name , c . name , createRange ( c ) ) ;
0 commit comments