Skip to content

Commit 819a138

Browse files
committed
adding more tests for better code coverage
1 parent aaac81a commit 819a138

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

src/views/live-watch/live-watch.test.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)