feat(editor): support delete in flat block proxy (#9994)
This commit is contained in:
@@ -452,6 +452,33 @@ describe('flat', () => {
|
||||
expect.anything()
|
||||
);
|
||||
|
||||
onChange.mockClear();
|
||||
onColUpdated.mockClear();
|
||||
delete (model.props.cols.a as Record<string, unknown>).color;
|
||||
expect(yBlock.get('prop:cols.a.color')).toBe(undefined);
|
||||
expect(model.props.cols.a).toEqual({});
|
||||
expect(model.props.cols$.value).toEqual({ a: {} });
|
||||
expect(onColUpdated).toHaveBeenCalledTimes(1);
|
||||
expect(onChange).toHaveBeenCalledTimes(1);
|
||||
expect(onChange).toHaveBeenCalledWith(
|
||||
expect.anything(),
|
||||
'cols',
|
||||
expect.anything()
|
||||
);
|
||||
|
||||
model.props.cols = {
|
||||
a: { color: 'red' },
|
||||
b: { color: 'blue' },
|
||||
};
|
||||
onChange.mockClear();
|
||||
onColUpdated.mockClear();
|
||||
delete (model.props as Record<string, unknown>).cols;
|
||||
expect(model.props.cols$.value).toBeUndefined();
|
||||
expect(yBlock.get('prop:cols.a.color')).toBe(undefined);
|
||||
expect(yBlock.get('prop:cols.b.color')).toBe(undefined);
|
||||
expect(onColUpdated).toHaveBeenCalledTimes(1);
|
||||
expect(onChange).toHaveBeenCalledTimes(1);
|
||||
|
||||
onChange.mockClear();
|
||||
model.props.title.insert('test', 0);
|
||||
expect((yBlock.get('prop:title') as Y.Text).toJSON()).toBe('test');
|
||||
@@ -483,6 +510,16 @@ describe('flat', () => {
|
||||
'labels',
|
||||
expect.anything()
|
||||
);
|
||||
|
||||
onChange.mockClear();
|
||||
model.props.labels.splice(0, 1);
|
||||
expect(getLabels().toJSON()).toEqual([]);
|
||||
expect(model.props.labels$.value).toEqual([]);
|
||||
expect(onChange).toHaveBeenCalledWith(
|
||||
expect.anything(),
|
||||
'labels',
|
||||
expect.anything()
|
||||
);
|
||||
});
|
||||
|
||||
test('stash and pop', () => {
|
||||
|
||||
Reference in New Issue
Block a user