File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -34,7 +34,9 @@ export class SlideTreeProvider extends Disposable
3434 }
3535
3636 public register ( ) {
37- return vscode . window . registerTreeDataProvider ( 'slidesExplorer' , this )
37+ return this . _register (
38+ vscode . window . registerTreeDataProvider ( 'slidesExplorer' , this )
39+ )
3840 }
3941
4042 public getTreeItem ( element : SlideNode ) : vscode . TreeItem | Thenable < vscode . TreeItem > {
Original file line number Diff line number Diff line change 1+ import { SlideTreeProvider } from "../../SlideExplorer" ;
2+ import * as vscode from "vscode" ;
3+
4+ test ( 'dispose cleans up registered provider' , ( ) => {
5+ const dispose = jest . fn ( ) ;
6+ const registration = { dispose } as vscode . Disposable ;
7+ const spy = jest . spyOn ( vscode . window , 'registerTreeDataProvider' ) . mockReturnValue ( registration ) ;
8+
9+ const provider = new SlideTreeProvider ( ( ) => [ ] ) ;
10+ provider . register ( ) ;
11+ provider . dispose ( ) ;
12+
13+ expect ( spy ) . toHaveBeenCalledTimes ( 1 ) ;
14+ expect ( dispose ) . toHaveBeenCalledTimes ( 1 ) ;
15+ spy . mockRestore ( ) ;
16+ } ) ;
You can’t perform that action at this time.
0 commit comments