@@ -44,7 +44,7 @@ import { CoverageBarSource, ManagedTestCoverageBars } from 'vs/workbench/contrib
4444import { TestCommandId , Testing } from 'vs/workbench/contrib/testing/common/constants' ;
4545import { ComputedFileCoverage , FileCoverage , TestCoverage , getTotalCoveragePercent } from 'vs/workbench/contrib/testing/common/testCoverage' ;
4646import { ITestCoverageService } from 'vs/workbench/contrib/testing/common/testCoverageService' ;
47- import { CoverageDetails , DetailType , ICoveredCount , IFunctionCoverage , TestResultState } from 'vs/workbench/contrib/testing/common/testTypes' ;
47+ import { CoverageDetails , DetailType , ICoveredCount , IDeclarationCoverage , TestResultState } from 'vs/workbench/contrib/testing/common/testTypes' ;
4848import { ACTIVE_GROUP , IEditorService , SIDE_GROUP } from 'vs/workbench/services/editor/common/editorService' ;
4949
5050const enum CoverageSortOrder {
@@ -97,10 +97,10 @@ export class TestCoverageView extends ViewPane {
9797
9898let fnNodeId = 0 ;
9999
100- class FunctionCoverageNode {
100+ class DeclarationCoverageNode {
101101 public readonly id = String ( fnNodeId ++ ) ;
102102 public readonly containedDetails = new Set < CoverageDetails > ( ) ;
103- public readonly children : FunctionCoverageNode [ ] = [ ] ;
103+ public readonly children : DeclarationCoverageNode [ ] = [ ] ;
104104
105105 public get hits ( ) {
106106 return this . data . count ;
@@ -121,7 +121,7 @@ class FunctionCoverageNode {
121121
122122 constructor (
123123 public readonly uri : URI ,
124- private readonly data : IFunctionCoverage ,
124+ private readonly data : IDeclarationCoverage ,
125125 details : readonly CoverageDetails [ ] ,
126126 ) {
127127 if ( data . location instanceof Range ) {
@@ -172,11 +172,11 @@ class FunctionCoverageNode {
172172 }
173173}
174174
175- class RevealUncoveredFunctions {
175+ class RevealUncoveredDeclarations {
176176 public readonly id = String ( fnNodeId ++ ) ;
177177
178178 public get label ( ) {
179- return localize ( 'functionsWithoutCoverage' , "{0} functions without coverage..." , this . n ) ;
179+ return localize ( 'functionsWithoutCoverage' , "{0} declarations without coverage..." , this . n ) ;
180180 }
181181
182182 constructor ( public readonly n : number ) { }
@@ -189,12 +189,12 @@ class LoadingDetails {
189189
190190/** Type of nodes returned from {@link TestCoverage}. Note: value is *always* defined. */
191191type TestCoverageFileNode = IPrefixTreeNode < ComputedFileCoverage | FileCoverage > ;
192- type CoverageTreeElement = TestCoverageFileNode | FunctionCoverageNode | LoadingDetails | RevealUncoveredFunctions ;
192+ type CoverageTreeElement = TestCoverageFileNode | DeclarationCoverageNode | LoadingDetails | RevealUncoveredDeclarations ;
193193
194194const isFileCoverage = ( c : CoverageTreeElement ) : c is TestCoverageFileNode => typeof c === 'object' && 'value' in c ;
195- const isFunctionCoverage = ( c : CoverageTreeElement ) : c is FunctionCoverageNode => c instanceof FunctionCoverageNode ;
196- const shouldShowFunctionDetailsOnExpand = ( c : CoverageTreeElement ) : c is IPrefixTreeNode < FileCoverage > =>
197- isFileCoverage ( c ) && c . value instanceof FileCoverage && ! ! c . value . function ?. total ;
195+ const isDeclarationCoverage = ( c : CoverageTreeElement ) : c is DeclarationCoverageNode => c instanceof DeclarationCoverageNode ;
196+ const shouldShowDeclDetailsOnExpand = ( c : CoverageTreeElement ) : c is IPrefixTreeNode < FileCoverage > =>
197+ isFileCoverage ( c ) && c . value instanceof FileCoverage && ! ! c . value . declaration ?. total ;
198198
199199class TestCoverageTree extends Disposable {
200200 private readonly tree : WorkbenchCompressibleObjectTree < CoverageTreeElement , void > ;
@@ -215,7 +215,7 @@ class TestCoverageTree extends Disposable {
215215 new TestCoverageTreeListDelegate ( ) ,
216216 [
217217 instantiationService . createInstance ( FileCoverageRenderer , labels ) ,
218- instantiationService . createInstance ( FunctionCoverageRenderer ) ,
218+ instantiationService . createInstance ( DeclarationCoverageRenderer ) ,
219219 instantiationService . createInstance ( BasicRenderer ) ,
220220 ] ,
221221 {
@@ -256,7 +256,7 @@ class TestCoverageTree extends Disposable {
256256 this . _register ( this . tree ) ;
257257 this . _register ( this . tree . onDidChangeCollapseState ( e => {
258258 const el = e . node . element ;
259- if ( ! e . node . collapsed && ! e . node . children . length && el && shouldShowFunctionDetailsOnExpand ( el ) ) {
259+ if ( ! e . node . collapsed && ! e . node . children . length && el && shouldShowDeclDetailsOnExpand ( el ) ) {
260260 if ( el . value ! . hasSynchronousDetails ) {
261261 this . tree . setChildren ( el , [ { element : new LoadingDetails ( ) , incompressible : true } ] ) ;
262262 }
@@ -270,7 +270,7 @@ class TestCoverageTree extends Disposable {
270270 if ( e . element ) {
271271 if ( isFileCoverage ( e . element ) && ! e . element . children ?. size ) {
272272 resource = e . element . value ! . uri ;
273- } else if ( isFunctionCoverage ( e . element ) ) {
273+ } else if ( isDeclarationCoverage ( e . element ) ) {
274274 resource = e . element . uri ;
275275 selection = e . element . location ;
276276 }
@@ -310,7 +310,7 @@ class TestCoverageTree extends Disposable {
310310 incompressible : isFile ,
311311 collapsed : isFile ,
312312 // directories can be expanded, and items with function info can be expanded
313- collapsible : ! isFile || ! ! file . value ?. function ?. total ,
313+ collapsible : ! isFile || ! ! file . value ?. declaration ?. total ,
314314 children : file . children && Iterable . map ( file . children ?. values ( ) , toChild )
315315 } ;
316316 } ;
@@ -327,13 +327,13 @@ class TestCoverageTree extends Disposable {
327327 return ; // avoid any issues if the tree changes in the meanwhile
328328 }
329329
330- const functions : FunctionCoverageNode [ ] = [ ] ;
330+ const decl : DeclarationCoverageNode [ ] = [ ] ;
331331 for ( const fn of details ) {
332- if ( fn . type !== DetailType . Function ) {
332+ if ( fn . type !== DetailType . Declaration ) {
333333 continue ;
334334 }
335335
336- let arr = functions ;
336+ let arr = decl ;
337337 while ( true ) {
338338 const parent = arr . find ( p => p . containedDetails . has ( fn ) ) ;
339339 if ( parent ) {
@@ -343,18 +343,18 @@ class TestCoverageTree extends Disposable {
343343 }
344344 }
345345
346- arr . push ( new FunctionCoverageNode ( el . value ! . uri , fn , details ) ) ;
346+ arr . push ( new DeclarationCoverageNode ( el . value ! . uri , fn , details ) ) ;
347347 }
348348
349- const makeChild = ( fn : FunctionCoverageNode ) : ICompressedTreeElement < CoverageTreeElement > => ( {
349+ const makeChild = ( fn : DeclarationCoverageNode ) : ICompressedTreeElement < CoverageTreeElement > => ( {
350350 element : fn ,
351351 incompressible : true ,
352352 collapsed : true ,
353353 collapsible : fn . children . length > 0 ,
354354 children : fn . children . map ( makeChild )
355355 } ) ;
356356
357- this . tree . setChildren ( el , functions . map ( makeChild ) ) ;
357+ this . tree . setChildren ( el , decl . map ( makeChild ) ) ;
358358 }
359359}
360360
@@ -367,10 +367,10 @@ class TestCoverageTreeListDelegate implements IListVirtualDelegate<CoverageTreeE
367367 if ( isFileCoverage ( element ) ) {
368368 return FileCoverageRenderer . ID ;
369369 }
370- if ( isFunctionCoverage ( element ) ) {
371- return FunctionCoverageRenderer . ID ;
370+ if ( isDeclarationCoverage ( element ) ) {
371+ return DeclarationCoverageRenderer . ID ;
372372 }
373- if ( element instanceof LoadingDetails || element instanceof RevealUncoveredFunctions ) {
373+ if ( element instanceof LoadingDetails || element instanceof RevealUncoveredDeclarations ) {
374374 return BasicRenderer . ID ;
375375 }
376376 assertNever ( element ) ;
@@ -389,7 +389,7 @@ class Sorter implements ITreeSorter<CoverageTreeElement> {
389389 case CoverageSortOrder . Coverage :
390390 return b . value ! . tpc - a . value ! . tpc ;
391391 }
392- } else if ( isFunctionCoverage ( a ) && isFunctionCoverage ( b ) ) {
392+ } else if ( isDeclarationCoverage ( a ) && isDeclarationCoverage ( b ) ) {
393393 switch ( order ) {
394394 case CoverageSortOrder . Location :
395395 return Position . compare (
@@ -474,24 +474,24 @@ class FileCoverageRenderer implements ICompressibleTreeRenderer<CoverageTreeElem
474474 }
475475}
476476
477- interface FunctionTemplateData {
477+ interface DeclarationTemplateData {
478478 container : HTMLElement ;
479479 bars : ManagedTestCoverageBars ;
480480 templateDisposables : DisposableStore ;
481481 icon : HTMLElement ;
482482 label : HTMLElement ;
483483}
484484
485- class FunctionCoverageRenderer implements ICompressibleTreeRenderer < CoverageTreeElement , FuzzyScore , FunctionTemplateData > {
485+ class DeclarationCoverageRenderer implements ICompressibleTreeRenderer < CoverageTreeElement , FuzzyScore , DeclarationTemplateData > {
486486 public static readonly ID = 'N' ;
487- public readonly templateId = FunctionCoverageRenderer . ID ;
487+ public readonly templateId = DeclarationCoverageRenderer . ID ;
488488
489489 constructor (
490490 @IInstantiationService private readonly instantiationService : IInstantiationService ,
491491 ) { }
492492
493493 /** @inheritdoc */
494- public renderTemplate ( container : HTMLElement ) : FunctionTemplateData {
494+ public renderTemplate ( container : HTMLElement ) : DeclarationTemplateData {
495495 const templateDisposables = new DisposableStore ( ) ;
496496 container . classList . add ( 'test-coverage-list-item' ) ;
497497 const icon = dom . append ( container , dom . $ ( '.state' ) ) ;
@@ -507,21 +507,21 @@ class FunctionCoverageRenderer implements ICompressibleTreeRenderer<CoverageTree
507507 }
508508
509509 /** @inheritdoc */
510- public renderElement ( node : ITreeNode < CoverageTreeElement , FuzzyScore > , _index : number , templateData : FunctionTemplateData ) : void {
511- this . doRender ( node . element as FunctionCoverageNode , templateData , node . filterData ) ;
510+ public renderElement ( node : ITreeNode < CoverageTreeElement , FuzzyScore > , _index : number , templateData : DeclarationTemplateData ) : void {
511+ this . doRender ( node . element as DeclarationCoverageNode , templateData , node . filterData ) ;
512512 }
513513
514514 /** @inheritdoc */
515- public renderCompressedElements ( node : ITreeNode < ICompressedTreeNode < CoverageTreeElement > , FuzzyScore > , _index : number , templateData : FunctionTemplateData ) : void {
516- this . doRender ( node . element . elements [ node . element . elements . length - 1 ] as FunctionCoverageNode , templateData , node . filterData ) ;
515+ public renderCompressedElements ( node : ITreeNode < ICompressedTreeNode < CoverageTreeElement > , FuzzyScore > , _index : number , templateData : DeclarationTemplateData ) : void {
516+ this . doRender ( node . element . elements [ node . element . elements . length - 1 ] as DeclarationCoverageNode , templateData , node . filterData ) ;
517517 }
518518
519- public disposeTemplate ( templateData : FunctionTemplateData ) {
519+ public disposeTemplate ( templateData : DeclarationTemplateData ) {
520520 templateData . templateDisposables . dispose ( ) ;
521521 }
522522
523523 /** @inheritdoc */
524- private doRender ( element : FunctionCoverageNode , templateData : FunctionTemplateData , _filterData : FuzzyScore | undefined ) {
524+ private doRender ( element : DeclarationCoverageNode , templateData : DeclarationTemplateData , _filterData : FuzzyScore | undefined ) {
525525 const covered = ! ! element . hits ;
526526 const icon = covered ? testingWasCovered : testingStatesToIcons . get ( TestResultState . Unset ) ;
527527 templateData . container . classList . toggle ( 'not-covered' , ! covered ) ;
@@ -552,7 +552,7 @@ class BasicRenderer implements ICompressibleTreeRenderer<CoverageTreeElement, Fu
552552 }
553553
554554 private renderInner ( element : CoverageTreeElement , container : HTMLElement ) {
555- container . innerText = ( element as RevealUncoveredFunctions | LoadingDetails ) . label ;
555+ container . innerText = ( element as RevealUncoveredDeclarations | LoadingDetails ) . label ;
556556 }
557557}
558558
@@ -585,9 +585,9 @@ registerAction2(class TestCoverageChangeSortingAction extends ViewAction<TestCov
585585 const disposables = new DisposableStore ( ) ;
586586 const quickInput = disposables . add ( accessor . get ( IQuickInputService ) . createQuickPick < Item > ( ) ) ;
587587 const items : Item [ ] = [
588- { label : localize ( 'testing.coverageSortByLocation' , 'Sort by Location' ) , value : CoverageSortOrder . Location , description : localize ( 'testing.coverageSortByLocationDescription' , 'Files are sorted alphabetically, functions are sorted by position' ) } ,
589- { label : localize ( 'testing.coverageSortByCoverage' , 'Sort by Coverage' ) , value : CoverageSortOrder . Coverage , description : localize ( 'testing.coverageSortByCoverageDescription' , 'Files and functions are sorted by total coverage' ) } ,
590- { label : localize ( 'testing.coverageSortByName' , 'Sort by Name' ) , value : CoverageSortOrder . Name , description : localize ( 'testing.coverageSortByNameDescription' , 'Files and functions are sorted alphabetically' ) } ,
588+ { label : localize ( 'testing.coverageSortByLocation' , 'Sort by Location' ) , value : CoverageSortOrder . Location , description : localize ( 'testing.coverageSortByLocationDescription' , 'Files are sorted alphabetically, declarations are sorted by position' ) } ,
589+ { label : localize ( 'testing.coverageSortByCoverage' , 'Sort by Coverage' ) , value : CoverageSortOrder . Coverage , description : localize ( 'testing.coverageSortByCoverageDescription' , 'Files and declarations are sorted by total coverage' ) } ,
590+ { label : localize ( 'testing.coverageSortByName' , 'Sort by Name' ) , value : CoverageSortOrder . Name , description : localize ( 'testing.coverageSortByNameDescription' , 'Files and declarations are sorted alphabetically' ) } ,
591591 ] ;
592592
593593 quickInput . placeholder = localize ( 'testing.coverageSortPlaceholder' , 'Sort the Test Coverage view...' ) ;
0 commit comments