@@ -796,7 +796,7 @@ describe('DebugLaunchProvider', () => {
796796 await debugLaunchProvider . handleUpdateDebugTasks ( ) ;
797797
798798 expect ( debugLaunchProvider . configurationProviderMock . inspectConfigVariable ) . toHaveBeenCalledWith ( 'hideSlowPreLaunchWarning' , 'debug' ) ;
799- expect ( debugLaunchProvider . configurationProviderMock . setConfigVariable ) . not . toHaveBeenCalled ( ) ;
799+ expect ( debugLaunchProvider . configurationProviderMock . setConfigVariable ) . not . toHaveBeenCalledWith ( 'hideSlowPreLaunchWarning' , true , 'debug' , true ) ;
800800 } ) ;
801801
802802 it . each ( [ false , true ] ) ( 'should not add hideSlowPreLaunchWarning to workspace if already set globally (%s)' , async ( value ) => {
@@ -812,7 +812,73 @@ describe('DebugLaunchProvider', () => {
812812 await debugLaunchProvider . handleUpdateDebugTasks ( ) ;
813813
814814 expect ( debugLaunchProvider . configurationProviderMock . inspectConfigVariable ) . toHaveBeenCalledWith ( 'hideSlowPreLaunchWarning' , 'debug' ) ;
815- expect ( debugLaunchProvider . configurationProviderMock . setConfigVariable ) . not . toHaveBeenCalled ( ) ;
815+ expect ( debugLaunchProvider . configurationProviderMock . setConfigVariable ) . not . toHaveBeenCalledWith ( 'hideSlowPreLaunchWarning' , true , 'debug' , true ) ;
816+ } ) ;
817+
818+ it ( 'should set memory inspector defaults when missing' , async ( ) => {
819+ const debugLaunchProvider = new DebugLaunchProviderTest ( ) ;
820+
821+ debugLaunchProvider . solutionManagerMock . workspaceFolder = workspaceFolderUri ;
822+ jest . spyOn ( debugLaunchProvider , 'loadCbuildRunYml' ) . mockResolvedValue ( cbuildRunYml ) ;
823+ jest . spyOn ( debugLaunchProvider , 'loadDebugAdaptersYml' ) . mockResolvedValue ( debugAdaptersYml ) ;
824+ jest . spyOn ( debugLaunchProvider , 'updateDebugTasks' ) . mockResolvedValue ( undefined ) ;
825+
826+ await debugLaunchProvider . handleUpdateDebugTasks ( ) ;
827+
828+ expect ( debugLaunchProvider . configurationProviderMock . setConfigVariable ) . toHaveBeenCalledWith ( 'addressPadding' , '32bit' , 'memory-inspector' , true ) ;
829+ expect ( debugLaunchProvider . configurationProviderMock . setConfigVariable ) . toHaveBeenCalledWith ( 'groupings.groupsPerRow' , 'Autofit' , 'memory-inspector' , true ) ;
830+ expect ( debugLaunchProvider . configurationProviderMock . setConfigVariable ) . toHaveBeenCalledWith ( 'groupings.MAUsPerGroup' , 4 , 'memory-inspector' , true ) ;
831+ expect ( debugLaunchProvider . configurationProviderMock . setConfigVariable ) . toHaveBeenCalledWith ( 'scrollingBehavior' , 'Auto-Append' , 'memory-inspector' , true ) ;
832+ } ) ;
833+
834+ it . each ( [
835+ [ 'addressPadding' , '32bit' ] ,
836+ [ 'groupings.groupsPerRow' , 'Autofit' ] ,
837+ [ 'groupings.MAUsPerGroup' , 4 ] ,
838+ [ 'scrollingBehavior' , 'Auto-Append' ] ,
839+ ] ) ( 'should not overwrite memory-inspector.%s workspace setting' , async ( name , defaultValue ) => {
840+ const debugLaunchProvider = new DebugLaunchProviderTest ( ) ;
841+
842+ debugLaunchProvider . solutionManagerMock . workspaceFolder = workspaceFolderUri ;
843+ jest . spyOn ( debugLaunchProvider , 'loadCbuildRunYml' ) . mockResolvedValue ( cbuildRunYml ) ;
844+ jest . spyOn ( debugLaunchProvider , 'loadDebugAdaptersYml' ) . mockResolvedValue ( debugAdaptersYml ) ;
845+ jest . spyOn ( debugLaunchProvider , 'updateDebugTasks' ) . mockResolvedValue ( undefined ) ;
846+
847+ debugLaunchProvider . configurationProviderMock . inspectConfigVariable . mockImplementation ( ( key , ext ) => {
848+ if ( ext === 'memory-inspector' && key === name ) {
849+ return { key : `${ ext } .${ key } ` , workspaceValue : 'already-set' } ;
850+ }
851+ return { key : `${ ext || PACKAGE_NAME } .${ key } ` } ;
852+ } ) ;
853+
854+ await debugLaunchProvider . handleUpdateDebugTasks ( ) ;
855+
856+ expect ( debugLaunchProvider . configurationProviderMock . setConfigVariable ) . not . toHaveBeenCalledWith ( name , defaultValue , 'memory-inspector' , true ) ;
857+ } ) ;
858+
859+ it . each ( [
860+ [ 'addressPadding' , '32bit' ] ,
861+ [ 'groupings.groupsPerRow' , 'Autofit' ] ,
862+ [ 'groupings.MAUsPerGroup' , 4 ] ,
863+ [ 'scrollingBehavior' , 'Auto-Append' ] ,
864+ ] ) ( 'should not overwrite memory-inspector.%s global setting' , async ( name , defaultValue ) => {
865+ const debugLaunchProvider = new DebugLaunchProviderTest ( ) ;
866+
867+ debugLaunchProvider . solutionManagerMock . workspaceFolder = workspaceFolderUri ;
868+ jest . spyOn ( debugLaunchProvider , 'loadCbuildRunYml' ) . mockResolvedValue ( cbuildRunYml ) ;
869+ jest . spyOn ( debugLaunchProvider , 'loadDebugAdaptersYml' ) . mockResolvedValue ( debugAdaptersYml ) ;
870+ jest . spyOn ( debugLaunchProvider , 'updateDebugTasks' ) . mockResolvedValue ( undefined ) ;
871+
872+ debugLaunchProvider . configurationProviderMock . inspectConfigVariable . mockImplementation ( ( key , ext ) => {
873+ if ( ext === 'memory-inspector' && key === name ) {
874+ return { key : `${ ext } .${ key } ` , globalValue : 'already-set' } ;
875+ }
876+ return { key : `${ ext || PACKAGE_NAME } .${ key } ` } ;
877+ } ) ;
878+
879+ await debugLaunchProvider . handleUpdateDebugTasks ( ) ;
880+
881+ expect ( debugLaunchProvider . configurationProviderMock . setConfigVariable ) . not . toHaveBeenCalledWith ( name , defaultValue , 'memory-inspector' , true ) ;
816882 } ) ;
817883
818884 } ) ;
0 commit comments