Merge branch 'master' of https://github.com/mathuo/dockview into 562-dockview-framework-wrappers-vuejs-angular-javascript-etc-1

This commit is contained in:
mathuo 2024-05-13 19:34:34 +01:00
commit 07b548c6b6
No known key found for this signature in database
GPG Key ID: C6EEDEFD6CA07281

View File

@ -7,24 +7,8 @@ import { fromPartial } from '@total-typescript/shoehorn';
describe('dockviewPanel', () => { describe('dockviewPanel', () => {
test('update title', () => { test('update title', () => {
const dockviewApiMock = jest.fn<DockviewApi, []>(() => { const api = fromPartial<DockviewApi>({});
return { const accessor = fromPartial<DockviewComponent>({});
onDidActiveChange: jest.fn(),
} as any;
});
const accessorMock = jest.fn<DockviewComponent, []>(() => {
return {} as any;
});
const panelModelMock = jest.fn<Partial<IDockviewPanelModel>, []>(() => {
return {
update: jest.fn(),
init: jest.fn(),
};
});
const api = new dockviewApiMock();
const accessor = new accessorMock();
const group = fromPartial<DockviewGroupPanel>({ const group = fromPartial<DockviewGroupPanel>({
api: { api: {
onDidVisibilityChange: jest.fn(), onDidVisibilityChange: jest.fn(),
@ -32,7 +16,11 @@ describe('dockviewPanel', () => {
onDidActiveChange: jest.fn(), onDidActiveChange: jest.fn(),
}, },
}); });
const model = <IDockviewPanelModel>new panelModelMock(); const model = fromPartial<IDockviewPanelModel>({
update: jest.fn(),
init: jest.fn(),
dispose: jest.fn(),
});
const cut = new DockviewPanel( const cut = new DockviewPanel(
'fake-id', 'fake-id',
@ -67,23 +55,8 @@ describe('dockviewPanel', () => {
}); });
test('that .setTitle updates the title', () => { test('that .setTitle updates the title', () => {
const dockviewApiMock = jest.fn<DockviewApi, []>(() => { const api = fromPartial<DockviewApi>({});
return { const accessor = fromPartial<DockviewComponent>({});
onDidActiveChange: jest.fn(),
} as any;
});
const accessorMock = jest.fn<DockviewComponent, []>(() => {
return {} as any;
});
const panelModelMock = jest.fn<Partial<IDockviewPanelModel>, []>(() => {
return {
update: jest.fn(),
init: jest.fn(),
};
});
const api = new dockviewApiMock();
const accessor = new accessorMock();
const group = fromPartial<DockviewGroupPanel>({ const group = fromPartial<DockviewGroupPanel>({
api: { api: {
onDidVisibilityChange: jest.fn(), onDidVisibilityChange: jest.fn(),
@ -91,7 +64,10 @@ describe('dockviewPanel', () => {
onDidActiveChange: jest.fn(), onDidActiveChange: jest.fn(),
}, },
}); });
const model = <IDockviewPanelModel>new panelModelMock(); const model = fromPartial<IDockviewPanelModel>({
update: jest.fn(),
init: jest.fn(),
});
const cut = new DockviewPanel( const cut = new DockviewPanel(
'fake-id', 'fake-id',
@ -117,22 +93,8 @@ describe('dockviewPanel', () => {
}); });
test('dispose cleanup', () => { test('dispose cleanup', () => {
const dockviewApiMock = jest.fn<DockviewApi, []>(() => { const api = fromPartial<DockviewApi>({});
return {} as any; const accessor = fromPartial<DockviewComponent>({});
});
const accessorMock = jest.fn<DockviewComponent, []>(() => {
return {} as any;
});
const panelModelMock = jest.fn<Partial<IDockviewPanelModel>, []>(() => {
return {
update: jest.fn(),
init: jest.fn(),
dispose: jest.fn(),
};
});
const api = new dockviewApiMock();
const accessor = new accessorMock();
const group = fromPartial<DockviewGroupPanel>({ const group = fromPartial<DockviewGroupPanel>({
api: { api: {
onDidVisibilityChange: jest onDidVisibilityChange: jest
@ -146,7 +108,11 @@ describe('dockviewPanel', () => {
.mockReturnValue({ dispose: jest.fn() }), .mockReturnValue({ dispose: jest.fn() }),
}, },
}); });
const model = <IDockviewPanelModel>new panelModelMock(); const model = fromPartial<IDockviewPanelModel>({
update: jest.fn(),
init: jest.fn(),
dispose: jest.fn(),
});
const cut = new DockviewPanel( const cut = new DockviewPanel(
'fake-id', 'fake-id',
@ -169,22 +135,8 @@ describe('dockviewPanel', () => {
}); });
test('get params', () => { test('get params', () => {
const dockviewApiMock = jest.fn<DockviewApi, []>(() => { const api = fromPartial<DockviewApi>({});
return {} as any; const accessor = fromPartial<DockviewComponent>({});
});
const accessorMock = jest.fn<DockviewComponent, []>(() => {
return {} as any;
});
const panelModelMock = jest.fn<Partial<IDockviewPanelModel>, []>(() => {
return {
update: jest.fn(),
init: jest.fn(),
dispose: jest.fn(),
};
});
const api = new dockviewApiMock();
const accessor = new accessorMock();
const group = fromPartial<DockviewGroupPanel>({ const group = fromPartial<DockviewGroupPanel>({
api: { api: {
onDidVisibilityChange: jest.fn(), onDidVisibilityChange: jest.fn(),
@ -192,7 +144,11 @@ describe('dockviewPanel', () => {
onDidActiveChange: jest.fn(), onDidActiveChange: jest.fn(),
}, },
}); });
const model = <IDockviewPanelModel>new panelModelMock(); const model = fromPartial<IDockviewPanelModel>({
update: jest.fn(),
init: jest.fn(),
dispose: jest.fn(),
});
const cut = new DockviewPanel( const cut = new DockviewPanel(
'fake-id', 'fake-id',
@ -215,22 +171,8 @@ describe('dockviewPanel', () => {
}); });
test('setSize propagates to underlying group', () => { test('setSize propagates to underlying group', () => {
const dockviewApiMock = jest.fn<DockviewApi, []>(() => { const api = fromPartial<DockviewApi>({});
return {} as any; const accessor = fromPartial<DockviewComponent>({});
});
const accessorMock = jest.fn<DockviewComponent, []>(() => {
return {} as any;
});
const panelModelMock = jest.fn<Partial<IDockviewPanelModel>, []>(() => {
return {
update: jest.fn(),
init: jest.fn(),
dispose: jest.fn(),
};
});
const api = new dockviewApiMock();
const accessor = new accessorMock();
const group = fromPartial<DockviewGroupPanel>({ const group = fromPartial<DockviewGroupPanel>({
api: { api: {
onDidVisibilityChange: jest.fn(), onDidVisibilityChange: jest.fn(),
@ -239,7 +181,11 @@ describe('dockviewPanel', () => {
setSize: jest.fn(), setSize: jest.fn(),
}, },
}); });
const model = <IDockviewPanelModel>new panelModelMock(); const model = fromPartial<IDockviewPanelModel>({
update: jest.fn(),
init: jest.fn(),
dispose: jest.fn(),
});
const cut = new DockviewPanel( const cut = new DockviewPanel(
'fake-id', 'fake-id',
@ -256,27 +202,16 @@ describe('dockviewPanel', () => {
cut.api.setSize({ height: 123, width: 456 }); cut.api.setSize({ height: 123, width: 456 });
expect(group.api.setSize).toBeCalledWith({ height: 123, width: 456 }); expect(group.api.setSize).toHaveBeenCalledWith({
expect(group.api.setSize).toBeCalledTimes(1); height: 123,
width: 456,
});
expect(group.api.setSize).toHaveBeenCalledTimes(1);
}); });
test('updateParameter', () => { test('updateParameter', () => {
const dockviewApiMock = jest.fn<DockviewApi, []>(() => { const api = fromPartial<DockviewApi>({});
return {} as any; const accessor = fromPartial<DockviewComponent>({});
});
const accessorMock = jest.fn<DockviewComponent, []>(() => {
return {} as any;
});
const panelModelMock = jest.fn<Partial<IDockviewPanelModel>, []>(() => {
return {
update: jest.fn(),
init: jest.fn(),
dispose: jest.fn(),
};
});
const api = new dockviewApiMock();
const accessor = new accessorMock();
const group = fromPartial<DockviewGroupPanel>({ const group = fromPartial<DockviewGroupPanel>({
api: { api: {
onDidVisibilityChange: jest.fn(), onDidVisibilityChange: jest.fn(),
@ -284,7 +219,11 @@ describe('dockviewPanel', () => {
onDidActiveChange: jest.fn(), onDidActiveChange: jest.fn(),
}, },
}); });
const model = <IDockviewPanelModel>new panelModelMock(); const model = fromPartial<IDockviewPanelModel>({
update: jest.fn(),
init: jest.fn(),
dispose: jest.fn(),
});
const cut = new DockviewPanel( const cut = new DockviewPanel(
'fake-id', 'fake-id',
@ -305,6 +244,9 @@ describe('dockviewPanel', () => {
// update 'a' and add 'c' // update 'a' and add 'c'
cut.update({ params: { a: '-1', c: '3' } }); cut.update({ params: { a: '-1', c: '3' } });
expect(cut.params).toEqual({ a: '-1', b: '2', c: '3' }); expect(cut.params).toEqual({ a: '-1', b: '2', c: '3' });
expect(model.update).toHaveBeenCalledWith({
params: { a: '-1', b: '2', c: '3' },
});
cut.update({ params: { d: '4', e: '5', f: '6' } }); cut.update({ params: { d: '4', e: '5', f: '6' } });
expect(cut.params).toEqual({ expect(cut.params).toEqual({
@ -315,6 +257,9 @@ describe('dockviewPanel', () => {
e: '5', e: '5',
f: '6', f: '6',
}); });
expect(model.update).toHaveBeenCalledWith({
params: { a: '-1', b: '2', c: '3', d: '4', e: '5', f: '6' },
});
cut.update({ cut.update({
params: { params: {
@ -335,5 +280,8 @@ describe('dockviewPanel', () => {
g: '', g: '',
h: null, h: null,
}); });
expect(model.update).toHaveBeenCalledWith({
params: { a: '-1', b: '2', c: '3', d: '', e: null, g: '', h: null },
});
}); });
}); });