diff --git a/packages/dockview/src/__tests__/api/groupPanelApi.spec.ts b/packages/dockview/src/__tests__/api/dockviewPanelApi.spec.ts similarity index 55% rename from packages/dockview/src/__tests__/api/groupPanelApi.spec.ts rename to packages/dockview/src/__tests__/api/dockviewPanelApi.spec.ts index 8b7f33e0a..148e0ff2e 100644 --- a/packages/dockview/src/__tests__/api/groupPanelApi.spec.ts +++ b/packages/dockview/src/__tests__/api/dockviewPanelApi.spec.ts @@ -1,46 +1,30 @@ import { DockviewPanelApiImpl, TitleEvent } from '../../api/dockviewPanelApi'; import { DockviewComponent } from '../../dockview/dockviewComponent'; -import { IDockviewPanel } from '../../dockview/dockviewPanel'; +import { DockviewPanel, IDockviewPanel } from '../../dockview/dockviewPanel'; import { GroupPanel } from '../../groupview/groupviewPanel'; describe('groupPanelApi', () => { test('title', () => { - const groupPanel: Partial = { - id: 'test_id', - title: 'test_title', - }; - - const accessor: Partial = { - onDidAddPanel: jest.fn(), - onDidRemovePanel: jest.fn(), - options: {}, - }; - const groupViewPanel = new GroupPanel( - accessor, - '', - {} - ); - - const cut = new DockviewPanelApiImpl( - groupPanel, - groupViewPanel - ); - - let events: TitleEvent[] = []; - - const disposable = cut.onDidTitleChange((event) => { - events.push(event); + const panelMock = jest.fn(() => { + return { + update: jest.fn(), + } as any; + }); + const groupMock = jest.fn(() => { + return {} as any; }); - expect(events.length).toBe(0); - expect(cut.title).toBe('test_title'); + const panel = new panelMock(); + const group = new groupMock(); - cut.setTitle('test_title_2'); - expect(events.length).toBe(1); - expect(events[0]).toEqual({ title: 'test_title_2' }); - expect(cut.title).toBe('test_title'); // title should remain unchanged + const cut = new DockviewPanelApiImpl(panel, group); - disposable.dispose(); + cut.setTitle('test_title'); + + expect(panel.update).toBeCalledTimes(1); + expect(panel.update).toBeCalledWith({ + params: { title: 'test_title' }, + }); }); test('onDidGroupChange', () => { diff --git a/packages/dockview/src/api/dockviewPanelApi.ts b/packages/dockview/src/api/dockviewPanelApi.ts index 0102e6f77..6da42de2c 100644 --- a/packages/dockview/src/api/dockviewPanelApi.ts +++ b/packages/dockview/src/api/dockviewPanelApi.ts @@ -85,7 +85,7 @@ export class DockviewPanelApiImpl } public setTitle(title: string): void { - this._onDidTitleChange.fire({ title }); + this.panel.update({ params: { title } }); } public close(): void {