@@ -490,6 +490,37 @@ describe('LiveWatchTreeDataProvider', () => {
490490 expect ( ( liveWatchTreeDataProvider as any ) . roots . length ) . toBe ( 0 ) ;
491491 } ) ;
492492
493+ it ( 'set value command calls handleSetValueCommand with node' , async ( ) => {
494+ const node = makeNode ( 'node' , { result : '1' , variablesReference : 0 } , 1 ) ;
495+ const handleSetValueSpy = jest . spyOn ( liveWatchTreeDataProvider as any , 'handleSetValueCommand' ) . mockResolvedValue ( '' ) ;
496+ await liveWatchTreeDataProvider . activate ( tracker ) ;
497+ // Simulate command invocation with node argument
498+ const handler = getRegisteredHandler ( 'vscode-cmsis-debugger.liveWatch.setValue' ) ;
499+ expect ( handler ) . toBeDefined ( ) ;
500+ await handler ( node ) ;
501+ expect ( handleSetValueSpy ) . toHaveBeenCalledWith ( node ) ;
502+ } ) ;
503+
504+ it ( 'set value command does nothing when node is undefined' , async ( ) => {
505+ const handleSetValueSpy = jest . spyOn ( liveWatchTreeDataProvider as any , 'handleSetValueCommand' ) . mockResolvedValue ( '' ) ;
506+ await liveWatchTreeDataProvider . activate ( tracker ) ;
507+ const handler = getRegisteredHandler ( 'vscode-cmsis-debugger.liveWatch.setValue' ) ;
508+ expect ( handler ) . toBeDefined ( ) ;
509+ await handler ( undefined ) ;
510+ expect ( handleSetValueSpy ) . not . toHaveBeenCalled ( ) ;
511+ } ) ;
512+
513+ it ( 'set value command does nothing when no new value provided' , async ( ) => {
514+ const node = makeNode ( 'node' , { result : '1' , variablesReference : 0 } , 1 ) ;
515+ const handleSetValueSpy = jest . spyOn ( liveWatchTreeDataProvider as any , 'handleSetValueCommand' ) . mockResolvedValue ( '' ) ;
516+ ( vscode . window as any ) . showInputBox = jest . fn ( ) . mockResolvedValue ( undefined ) ;
517+ await liveWatchTreeDataProvider . activate ( tracker ) ;
518+ const handler = getRegisteredHandler ( 'vscode-cmsis-debugger.liveWatch.setValue' ) ;
519+ expect ( handler ) . toBeDefined ( ) ;
520+ await handler ( node ) ;
521+ expect ( handleSetValueSpy ) . not . toHaveBeenCalled ( ) ;
522+ } ) ;
523+
493524 it ( 'showInMemoryInspector command does nothing when node is undefined' , async ( ) => {
494525 await liveWatchTreeDataProvider . activate ( tracker ) ;
495526 const handler = getRegisteredHandler ( 'vscode-cmsis-debugger.liveWatch.showInMemoryInspector' ) ;
0 commit comments