@@ -1989,36 +1989,36 @@ namespace FourSlash {
19891989 return result ;
19901990 }
19911991
1992- public verifyNavigationBarContains ( name : string , kind : string ) {
1993- const items = this . languageService . getNavigationBarItems ( this . activeFile . fileName ) ;
1992+ public verifyNavigationBarContains ( name : string , kind : string , fileName ?: string , parentName ?: string , isAdditionalSpan ?: boolean , markerPosition ?: number ) {
1993+ fileName = fileName || this . activeFile . fileName ;
1994+ const items = this . languageService . getNavigationBarItems ( fileName ) ;
19941995
19951996 if ( ! items || items . length === 0 ) {
19961997 this . raiseError ( "verifyNavigationBarContains failed - found 0 navigation items, expected at least one." ) ;
19971998 }
19981999
1999- if ( this . navigationBarItemsContains ( items , name , kind ) ) {
2000+ if ( this . navigationBarItemsContains ( items , name , kind , parentName ) ) {
20002001 return ;
20012002 }
20022003
2003- const missingItem = { name, kind } ;
2004+ const missingItem = { name, kind, parentName } ;
20042005 this . raiseError ( `verifyNavigationBarContains failed - could not find the item: ${ JSON . stringify ( missingItem , undefined , 2 ) } in the returned list: (${ JSON . stringify ( items , undefined , 2 ) } )` ) ;
20052006 }
20062007
2007- private navigationBarItemsContains ( items : ts . NavigationBarItem [ ] , name : string , kind : string ) {
2008- if ( items ) {
2008+ private navigationBarItemsContains ( items : ts . NavigationBarItem [ ] , name : string , kind : string , parentName ?: string ) {
2009+ function recur ( items : ts . NavigationBarItem [ ] , curParentName : string ) {
20092010 for ( let i = 0 ; i < items . length ; i ++ ) {
20102011 const item = items [ i ] ;
2011- if ( item && item . text === name && item . kind === kind ) {
2012+ if ( item && item . text === name && item . kind === kind && ( ! parentName || curParentName === parentName ) ) {
20122013 return true ;
20132014 }
2014-
2015- if ( this . navigationBarItemsContains ( item . childItems , name , kind ) ) {
2015+ if ( recur ( item . childItems , item . text ) ) {
20162016 return true ;
20172017 }
20182018 }
2019+ return false ;
20192020 }
2020-
2021- return false ;
2021+ return recur ( items , "" ) ;
20222022 }
20232023
20242024 public verifyNavigationBarChildItem ( parent : string , name : string , kind : string ) {
@@ -3055,7 +3055,7 @@ namespace FourSlashInterface {
30553055 parentName ?: string ,
30563056 isAdditionalSpan ?: boolean ,
30573057 markerPosition ?: number ) {
3058- this . state . verifyNavigationBarContains ( name , kind ) ;
3058+ this . state . verifyNavigationBarContains ( name , kind , fileName , parentName , isAdditionalSpan , markerPosition ) ;
30593059 }
30603060
30613061 public navigationBarChildItem ( parent : string , name : string , kind : string ) {
0 commit comments