mirror of
https://github.com/mathuo/dockview
synced 2025-05-03 10:08:24 +00:00
fix: dockview panel setTitle
This commit is contained in:
parent
b02087d222
commit
eb5006fc03
@ -1,46 +1,30 @@
|
|||||||
import { DockviewPanelApiImpl, TitleEvent } from '../../api/dockviewPanelApi';
|
import { DockviewPanelApiImpl, TitleEvent } from '../../api/dockviewPanelApi';
|
||||||
import { DockviewComponent } from '../../dockview/dockviewComponent';
|
import { DockviewComponent } from '../../dockview/dockviewComponent';
|
||||||
import { IDockviewPanel } from '../../dockview/dockviewPanel';
|
import { DockviewPanel, IDockviewPanel } from '../../dockview/dockviewPanel';
|
||||||
import { GroupPanel } from '../../groupview/groupviewPanel';
|
import { GroupPanel } from '../../groupview/groupviewPanel';
|
||||||
|
|
||||||
describe('groupPanelApi', () => {
|
describe('groupPanelApi', () => {
|
||||||
test('title', () => {
|
test('title', () => {
|
||||||
const groupPanel: Partial<IDockviewPanel> = {
|
const panelMock = jest.fn<DockviewPanel, []>(() => {
|
||||||
id: 'test_id',
|
return {
|
||||||
title: 'test_title',
|
update: jest.fn(),
|
||||||
};
|
} as any;
|
||||||
|
});
|
||||||
const accessor: Partial<DockviewComponent> = {
|
const groupMock = jest.fn<GroupPanel, []>(() => {
|
||||||
onDidAddPanel: jest.fn(),
|
return {} as any;
|
||||||
onDidRemovePanel: jest.fn(),
|
|
||||||
options: {},
|
|
||||||
};
|
|
||||||
const groupViewPanel = new GroupPanel(
|
|
||||||
<DockviewComponent>accessor,
|
|
||||||
'',
|
|
||||||
{}
|
|
||||||
);
|
|
||||||
|
|
||||||
const cut = new DockviewPanelApiImpl(
|
|
||||||
<IDockviewPanel>groupPanel,
|
|
||||||
<GroupPanel>groupViewPanel
|
|
||||||
);
|
|
||||||
|
|
||||||
let events: TitleEvent[] = [];
|
|
||||||
|
|
||||||
const disposable = cut.onDidTitleChange((event) => {
|
|
||||||
events.push(event);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(events.length).toBe(0);
|
const panel = new panelMock();
|
||||||
expect(cut.title).toBe('test_title');
|
const group = new groupMock();
|
||||||
|
|
||||||
cut.setTitle('test_title_2');
|
const cut = new DockviewPanelApiImpl(panel, group);
|
||||||
expect(events.length).toBe(1);
|
|
||||||
expect(events[0]).toEqual({ title: 'test_title_2' });
|
|
||||||
expect(cut.title).toBe('test_title'); // title should remain unchanged
|
|
||||||
|
|
||||||
disposable.dispose();
|
cut.setTitle('test_title');
|
||||||
|
|
||||||
|
expect(panel.update).toBeCalledTimes(1);
|
||||||
|
expect(panel.update).toBeCalledWith({
|
||||||
|
params: { title: 'test_title' },
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test('onDidGroupChange', () => {
|
test('onDidGroupChange', () => {
|
@ -85,7 +85,7 @@ export class DockviewPanelApiImpl
|
|||||||
}
|
}
|
||||||
|
|
||||||
public setTitle(title: string): void {
|
public setTitle(title: string): void {
|
||||||
this._onDidTitleChange.fire({ title });
|
this.panel.update({ params: { title } });
|
||||||
}
|
}
|
||||||
|
|
||||||
public close(): void {
|
public close(): void {
|
||||||
|
Loading…
Reference in New Issue
Block a user