@furystack/shades-common-components 12.0.0 → 12.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/esm/components/command-palette/command-palette-input.spec.js +148 -148
  3. package/esm/components/command-palette/command-palette-input.spec.js.map +1 -1
  4. package/esm/components/command-palette/command-palette-suggestion-list.spec.js +258 -258
  5. package/esm/components/command-palette/command-palette-suggestion-list.spec.js.map +1 -1
  6. package/esm/components/context-menu/context-menu-manager.spec.js +211 -217
  7. package/esm/components/context-menu/context-menu-manager.spec.js.map +1 -1
  8. package/esm/components/data-grid/body.spec.js +173 -173
  9. package/esm/components/data-grid/body.spec.js.map +1 -1
  10. package/esm/components/data-grid/data-grid.spec.js +39 -130
  11. package/esm/components/data-grid/data-grid.spec.js.map +1 -1
  12. package/esm/services/click-away-service.spec.js +14 -12
  13. package/esm/services/click-away-service.spec.js.map +1 -1
  14. package/esm/services/list-service.spec.js +170 -141
  15. package/esm/services/list-service.spec.js.map +1 -1
  16. package/esm/services/tree-service.spec.js +190 -159
  17. package/esm/services/tree-service.spec.js.map +1 -1
  18. package/package.json +7 -8
  19. package/src/components/command-palette/command-palette-input.spec.tsx +183 -194
  20. package/src/components/command-palette/command-palette-suggestion-list.spec.tsx +303 -321
  21. package/src/components/context-menu/context-menu-manager.spec.ts +213 -258
  22. package/src/components/data-grid/body.spec.tsx +266 -276
  23. package/src/components/data-grid/data-grid.spec.tsx +137 -232
  24. package/src/services/click-away-service.spec.ts +14 -16
  25. package/src/services/list-service.spec.ts +170 -172
  26. package/src/services/tree-service.spec.ts +191 -207
@@ -1 +1 @@
1
- {"version":3,"file":"command-palette-suggestion-list.spec.js","sourceRoot":"","sources":["../../../src/components/command-palette/command-palette-suggestion-list.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-palette-suggestion-list.spec.js","sourceRoot":"","sources":["../../../src/components/command-palette/command-palette-suggestion-list.spec.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { using } from '@furystack/utils';
1
2
  import { describe, expect, it, vi } from 'vitest';
2
3
  import { ContextMenuManager } from './context-menu-manager.js';
3
4
  describe('ContextMenuManager', () => {
@@ -10,309 +11,302 @@ describe('ContextMenuManager', () => {
10
11
  ];
11
12
  describe('getNavigableIndices', () => {
12
13
  it('should return indices of non-separator, non-disabled items', () => {
13
- const manager = new ContextMenuManager();
14
- manager.items.setValue(createTestItems());
15
- const indices = manager.getNavigableIndices();
16
- expect(indices).toEqual([0, 1, 3]);
17
- manager[Symbol.dispose]();
14
+ using(new ContextMenuManager(), (manager) => {
15
+ manager.items.setValue(createTestItems());
16
+ const indices = manager.getNavigableIndices();
17
+ expect(indices).toEqual([0, 1, 3]);
18
+ });
18
19
  });
19
20
  it('should return empty array when there are no navigable items', () => {
20
- const manager = new ContextMenuManager();
21
- manager.items.setValue([
22
- { type: 'separator' },
23
- { type: 'item', data: { id: 1, name: 'Disabled' }, label: 'Disabled', disabled: true },
24
- ]);
25
- const indices = manager.getNavigableIndices();
26
- expect(indices).toEqual([]);
27
- manager[Symbol.dispose]();
21
+ using(new ContextMenuManager(), (manager) => {
22
+ manager.items.setValue([
23
+ { type: 'separator' },
24
+ { type: 'item', data: { id: 1, name: 'Disabled' }, label: 'Disabled', disabled: true },
25
+ ]);
26
+ const indices = manager.getNavigableIndices();
27
+ expect(indices).toEqual([]);
28
+ });
28
29
  });
29
30
  it('should return empty array for empty items', () => {
30
- const manager = new ContextMenuManager();
31
- const indices = manager.getNavigableIndices();
32
- expect(indices).toEqual([]);
33
- manager[Symbol.dispose]();
31
+ using(new ContextMenuManager(), (manager) => {
32
+ const indices = manager.getNavigableIndices();
33
+ expect(indices).toEqual([]);
34
+ });
34
35
  });
35
36
  });
36
37
  describe('open', () => {
37
38
  it('should set isOpened to true', () => {
38
- const manager = new ContextMenuManager();
39
- manager.open({ items: createTestItems(), position: { x: 100, y: 200 } });
40
- expect(manager.isOpened.getValue()).toBe(true);
41
- manager[Symbol.dispose]();
39
+ using(new ContextMenuManager(), (manager) => {
40
+ manager.open({ items: createTestItems(), position: { x: 100, y: 200 } });
41
+ expect(manager.isOpened.getValue()).toBe(true);
42
+ });
42
43
  });
43
44
  it('should set items when provided', () => {
44
- const manager = new ContextMenuManager();
45
- const items = createTestItems();
46
- manager.open({ items, position: { x: 0, y: 0 } });
47
- expect(manager.items.getValue()).toEqual(items);
48
- manager[Symbol.dispose]();
45
+ using(new ContextMenuManager(), (manager) => {
46
+ const items = createTestItems();
47
+ manager.open({ items, position: { x: 0, y: 0 } });
48
+ expect(manager.items.getValue()).toEqual(items);
49
+ });
49
50
  });
50
51
  it('should set position when provided', () => {
51
- const manager = new ContextMenuManager();
52
- manager.open({ items: createTestItems(), position: { x: 150, y: 250 } });
53
- expect(manager.position.getValue()).toEqual({ x: 150, y: 250 });
54
- manager[Symbol.dispose]();
52
+ using(new ContextMenuManager(), (manager) => {
53
+ manager.open({ items: createTestItems(), position: { x: 150, y: 250 } });
54
+ expect(manager.position.getValue()).toEqual({ x: 150, y: 250 });
55
+ });
55
56
  });
56
57
  it('should focus the first navigable item', () => {
57
- const manager = new ContextMenuManager();
58
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
59
- expect(manager.focusedIndex.getValue()).toBe(0);
60
- manager[Symbol.dispose]();
58
+ using(new ContextMenuManager(), (manager) => {
59
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
60
+ expect(manager.focusedIndex.getValue()).toBe(0);
61
+ });
61
62
  });
62
63
  it('should focus the first navigable item when first items are separators', () => {
63
- const manager = new ContextMenuManager();
64
- manager.open({
65
- items: [{ type: 'separator' }, { type: 'item', data: { id: 1, name: 'First' }, label: 'First' }],
66
- position: { x: 0, y: 0 },
64
+ using(new ContextMenuManager(), (manager) => {
65
+ manager.open({
66
+ items: [{ type: 'separator' }, { type: 'item', data: { id: 1, name: 'First' }, label: 'First' }],
67
+ position: { x: 0, y: 0 },
68
+ });
69
+ expect(manager.focusedIndex.getValue()).toBe(1);
67
70
  });
68
- expect(manager.focusedIndex.getValue()).toBe(1);
69
- manager[Symbol.dispose]();
70
71
  });
71
72
  it('should set focusedIndex to -1 when no navigable items exist', () => {
72
- const manager = new ContextMenuManager();
73
- manager.open({
74
- items: [{ type: 'separator' }],
75
- position: { x: 0, y: 0 },
73
+ using(new ContextMenuManager(), (manager) => {
74
+ manager.open({
75
+ items: [{ type: 'separator' }],
76
+ position: { x: 0, y: 0 },
77
+ });
78
+ expect(manager.focusedIndex.getValue()).toBe(-1);
76
79
  });
77
- expect(manager.focusedIndex.getValue()).toBe(-1);
78
- manager[Symbol.dispose]();
79
80
  });
80
81
  it('should keep existing items when items option is not provided', () => {
81
- const manager = new ContextMenuManager();
82
- const items = createTestItems();
83
- manager.items.setValue(items);
84
- manager.open({ position: { x: 50, y: 50 } });
85
- expect(manager.items.getValue()).toEqual(items);
86
- expect(manager.isOpened.getValue()).toBe(true);
87
- manager[Symbol.dispose]();
82
+ using(new ContextMenuManager(), (manager) => {
83
+ const items = createTestItems();
84
+ manager.items.setValue(items);
85
+ manager.open({ position: { x: 50, y: 50 } });
86
+ expect(manager.items.getValue()).toEqual(items);
87
+ expect(manager.isOpened.getValue()).toBe(true);
88
+ });
88
89
  });
89
90
  it('should keep existing position when position option is not provided', () => {
90
- const manager = new ContextMenuManager();
91
- manager.position.setValue({ x: 100, y: 200 });
92
- manager.items.setValue(createTestItems());
93
- manager.open();
94
- expect(manager.position.getValue()).toEqual({ x: 100, y: 200 });
95
- expect(manager.isOpened.getValue()).toBe(true);
96
- manager[Symbol.dispose]();
91
+ using(new ContextMenuManager(), (manager) => {
92
+ manager.position.setValue({ x: 100, y: 200 });
93
+ manager.items.setValue(createTestItems());
94
+ manager.open();
95
+ expect(manager.position.getValue()).toEqual({ x: 100, y: 200 });
96
+ expect(manager.isOpened.getValue()).toBe(true);
97
+ });
97
98
  });
98
99
  });
99
100
  describe('close', () => {
100
101
  it('should set isOpened to false', () => {
101
- const manager = new ContextMenuManager();
102
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
103
- manager.close();
104
- expect(manager.isOpened.getValue()).toBe(false);
105
- manager[Symbol.dispose]();
102
+ using(new ContextMenuManager(), (manager) => {
103
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
104
+ manager.close();
105
+ expect(manager.isOpened.getValue()).toBe(false);
106
+ });
106
107
  });
107
108
  it('should reset focusedIndex to -1', () => {
108
- const manager = new ContextMenuManager();
109
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
110
- manager.close();
111
- expect(manager.focusedIndex.getValue()).toBe(-1);
112
- manager[Symbol.dispose]();
109
+ using(new ContextMenuManager(), (manager) => {
110
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
111
+ manager.close();
112
+ expect(manager.focusedIndex.getValue()).toBe(-1);
113
+ });
113
114
  });
114
115
  });
115
116
  describe('selectItem', () => {
116
117
  it('should emit onSelectItem event with the item data', () => {
117
- const manager = new ContextMenuManager();
118
- const items = createTestItems();
119
- manager.open({ items, position: { x: 0, y: 0 } });
120
- const onSelect = vi.fn();
121
- const subscription = manager.subscribe('onSelectItem', onSelect);
122
- manager.selectItem(1);
123
- expect(onSelect).toHaveBeenCalledWith({ id: 2, name: 'Copy' });
124
- subscription[Symbol.dispose]();
125
- manager[Symbol.dispose]();
118
+ using(new ContextMenuManager(), (manager) => {
119
+ const items = createTestItems();
120
+ manager.open({ items, position: { x: 0, y: 0 } });
121
+ const onSelect = vi.fn();
122
+ manager.subscribe('onSelectItem', onSelect);
123
+ manager.selectItem(1);
124
+ expect(onSelect).toHaveBeenCalledWith({ id: 2, name: 'Copy' });
125
+ });
126
126
  });
127
127
  it('should close the menu after selection', () => {
128
- const manager = new ContextMenuManager();
129
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
130
- manager.selectItem(0);
131
- expect(manager.isOpened.getValue()).toBe(false);
132
- manager[Symbol.dispose]();
128
+ using(new ContextMenuManager(), (manager) => {
129
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
130
+ manager.selectItem(0);
131
+ expect(manager.isOpened.getValue()).toBe(false);
132
+ });
133
133
  });
134
134
  it('should use the focused index when no index is provided', () => {
135
- const manager = new ContextMenuManager();
136
- const items = createTestItems();
137
- manager.open({ items, position: { x: 0, y: 0 } });
138
- manager.focusedIndex.setValue(3);
139
- const onSelect = vi.fn();
140
- const subscription = manager.subscribe('onSelectItem', onSelect);
141
- manager.selectItem();
142
- expect(onSelect).toHaveBeenCalledWith({ id: 3, name: 'Paste' });
143
- subscription[Symbol.dispose]();
144
- manager[Symbol.dispose]();
135
+ using(new ContextMenuManager(), (manager) => {
136
+ const items = createTestItems();
137
+ manager.open({ items, position: { x: 0, y: 0 } });
138
+ manager.focusedIndex.setValue(3);
139
+ const onSelect = vi.fn();
140
+ manager.subscribe('onSelectItem', onSelect);
141
+ manager.selectItem();
142
+ expect(onSelect).toHaveBeenCalledWith({ id: 3, name: 'Paste' });
143
+ });
145
144
  });
146
145
  it('should not emit when selecting a separator', () => {
147
- const manager = new ContextMenuManager();
148
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
149
- const onSelect = vi.fn();
150
- const subscription = manager.subscribe('onSelectItem', onSelect);
151
- manager.selectItem(2);
152
- expect(onSelect).not.toHaveBeenCalled();
153
- subscription[Symbol.dispose]();
154
- manager[Symbol.dispose]();
146
+ using(new ContextMenuManager(), (manager) => {
147
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
148
+ const onSelect = vi.fn();
149
+ manager.subscribe('onSelectItem', onSelect);
150
+ manager.selectItem(2);
151
+ expect(onSelect).not.toHaveBeenCalled();
152
+ });
155
153
  });
156
154
  it('should not emit when selecting a disabled item', () => {
157
- const manager = new ContextMenuManager();
158
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
159
- const onSelect = vi.fn();
160
- const subscription = manager.subscribe('onSelectItem', onSelect);
161
- manager.selectItem(4);
162
- expect(onSelect).not.toHaveBeenCalled();
163
- subscription[Symbol.dispose]();
164
- manager[Symbol.dispose]();
155
+ using(new ContextMenuManager(), (manager) => {
156
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
157
+ const onSelect = vi.fn();
158
+ manager.subscribe('onSelectItem', onSelect);
159
+ manager.selectItem(4);
160
+ expect(onSelect).not.toHaveBeenCalled();
161
+ });
165
162
  });
166
163
  it('should not emit when item has no data', () => {
167
- const manager = new ContextMenuManager();
168
- manager.open({
169
- items: [{ type: 'item', label: 'No data' }],
170
- position: { x: 0, y: 0 },
171
- });
172
- const onSelect = vi.fn();
173
- const subscription = manager.subscribe('onSelectItem', onSelect);
174
- manager.selectItem(0);
175
- expect(onSelect).not.toHaveBeenCalled();
176
- subscription[Symbol.dispose]();
177
- manager[Symbol.dispose]();
164
+ using(new ContextMenuManager(), (manager) => {
165
+ manager.open({
166
+ items: [{ type: 'item', label: 'No data' }],
167
+ position: { x: 0, y: 0 },
168
+ });
169
+ const onSelect = vi.fn();
170
+ manager.subscribe('onSelectItem', onSelect);
171
+ manager.selectItem(0);
172
+ expect(onSelect).not.toHaveBeenCalled();
173
+ });
178
174
  });
179
175
  });
180
176
  describe('handleKeyDown', () => {
181
177
  it('should not handle keyboard events when menu is closed', () => {
182
- const manager = new ContextMenuManager();
183
- manager.items.setValue(createTestItems());
184
- manager.focusedIndex.setValue(0);
185
- manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
186
- expect(manager.focusedIndex.getValue()).toBe(0);
187
- manager[Symbol.dispose]();
178
+ using(new ContextMenuManager(), (manager) => {
179
+ manager.items.setValue(createTestItems());
180
+ manager.focusedIndex.setValue(0);
181
+ manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
182
+ expect(manager.focusedIndex.getValue()).toBe(0);
183
+ });
188
184
  });
189
185
  describe('ArrowDown', () => {
190
186
  it('should move focus to the next navigable item', () => {
191
- const manager = new ContextMenuManager();
192
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
193
- manager.focusedIndex.setValue(0);
194
- manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
195
- expect(manager.focusedIndex.getValue()).toBe(1);
196
- manager[Symbol.dispose]();
187
+ using(new ContextMenuManager(), (manager) => {
188
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
189
+ manager.focusedIndex.setValue(0);
190
+ manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
191
+ expect(manager.focusedIndex.getValue()).toBe(1);
192
+ });
197
193
  });
198
194
  it('should skip separators', () => {
199
- const manager = new ContextMenuManager();
200
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
201
- manager.focusedIndex.setValue(1);
202
- manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
203
- expect(manager.focusedIndex.getValue()).toBe(3);
204
- manager[Symbol.dispose]();
195
+ using(new ContextMenuManager(), (manager) => {
196
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
197
+ manager.focusedIndex.setValue(1);
198
+ manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
199
+ expect(manager.focusedIndex.getValue()).toBe(3);
200
+ });
205
201
  });
206
202
  it('should skip disabled items', () => {
207
- const manager = new ContextMenuManager();
208
- manager.open({
209
- items: [
210
- { type: 'item', data: { id: 1, name: 'A' }, label: 'A' },
211
- { type: 'item', data: { id: 2, name: 'B' }, label: 'B', disabled: true },
212
- { type: 'item', data: { id: 3, name: 'C' }, label: 'C' },
213
- ],
214
- position: { x: 0, y: 0 },
203
+ using(new ContextMenuManager(), (manager) => {
204
+ manager.open({
205
+ items: [
206
+ { type: 'item', data: { id: 1, name: 'A' }, label: 'A' },
207
+ { type: 'item', data: { id: 2, name: 'B' }, label: 'B', disabled: true },
208
+ { type: 'item', data: { id: 3, name: 'C' }, label: 'C' },
209
+ ],
210
+ position: { x: 0, y: 0 },
211
+ });
212
+ manager.focusedIndex.setValue(0);
213
+ manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
214
+ expect(manager.focusedIndex.getValue()).toBe(2);
215
215
  });
216
- manager.focusedIndex.setValue(0);
217
- manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
218
- expect(manager.focusedIndex.getValue()).toBe(2);
219
- manager[Symbol.dispose]();
220
216
  });
221
217
  it('should wrap to first item when at the end', () => {
222
- const manager = new ContextMenuManager();
223
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
224
- manager.focusedIndex.setValue(3);
225
- manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
226
- expect(manager.focusedIndex.getValue()).toBe(0);
227
- manager[Symbol.dispose]();
218
+ using(new ContextMenuManager(), (manager) => {
219
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
220
+ manager.focusedIndex.setValue(3);
221
+ manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
222
+ expect(manager.focusedIndex.getValue()).toBe(0);
223
+ });
228
224
  });
229
225
  });
230
226
  describe('ArrowUp', () => {
231
227
  it('should move focus to the previous navigable item', () => {
232
- const manager = new ContextMenuManager();
233
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
234
- manager.focusedIndex.setValue(1);
235
- manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowUp' }));
236
- expect(manager.focusedIndex.getValue()).toBe(0);
237
- manager[Symbol.dispose]();
228
+ using(new ContextMenuManager(), (manager) => {
229
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
230
+ manager.focusedIndex.setValue(1);
231
+ manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowUp' }));
232
+ expect(manager.focusedIndex.getValue()).toBe(0);
233
+ });
238
234
  });
239
235
  it('should skip separators', () => {
240
- const manager = new ContextMenuManager();
241
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
242
- manager.focusedIndex.setValue(3);
243
- manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowUp' }));
244
- expect(manager.focusedIndex.getValue()).toBe(1);
245
- manager[Symbol.dispose]();
236
+ using(new ContextMenuManager(), (manager) => {
237
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
238
+ manager.focusedIndex.setValue(3);
239
+ manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowUp' }));
240
+ expect(manager.focusedIndex.getValue()).toBe(1);
241
+ });
246
242
  });
247
243
  it('should wrap to last navigable item when at the beginning', () => {
248
- const manager = new ContextMenuManager();
249
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
250
- manager.focusedIndex.setValue(0);
251
- manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowUp' }));
252
- expect(manager.focusedIndex.getValue()).toBe(3);
253
- manager[Symbol.dispose]();
244
+ using(new ContextMenuManager(), (manager) => {
245
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
246
+ manager.focusedIndex.setValue(0);
247
+ manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowUp' }));
248
+ expect(manager.focusedIndex.getValue()).toBe(3);
249
+ });
254
250
  });
255
251
  });
256
252
  describe('Home', () => {
257
253
  it('should move focus to the first navigable item', () => {
258
- const manager = new ContextMenuManager();
259
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
260
- manager.focusedIndex.setValue(3);
261
- manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'Home' }));
262
- expect(manager.focusedIndex.getValue()).toBe(0);
263
- manager[Symbol.dispose]();
254
+ using(new ContextMenuManager(), (manager) => {
255
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
256
+ manager.focusedIndex.setValue(3);
257
+ manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'Home' }));
258
+ expect(manager.focusedIndex.getValue()).toBe(0);
259
+ });
264
260
  });
265
261
  });
266
262
  describe('End', () => {
267
263
  it('should move focus to the last navigable item', () => {
268
- const manager = new ContextMenuManager();
269
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
270
- manager.focusedIndex.setValue(0);
271
- manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'End' }));
272
- expect(manager.focusedIndex.getValue()).toBe(3);
273
- manager[Symbol.dispose]();
264
+ using(new ContextMenuManager(), (manager) => {
265
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
266
+ manager.focusedIndex.setValue(0);
267
+ manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'End' }));
268
+ expect(manager.focusedIndex.getValue()).toBe(3);
269
+ });
274
270
  });
275
271
  });
276
272
  describe('Enter', () => {
277
273
  it('should select the focused item', () => {
278
- const manager = new ContextMenuManager();
279
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
280
- const onSelect = vi.fn();
281
- const subscription = manager.subscribe('onSelectItem', onSelect);
282
- manager.focusedIndex.setValue(1);
283
- manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'Enter' }));
284
- expect(onSelect).toHaveBeenCalledWith({ id: 2, name: 'Copy' });
285
- subscription[Symbol.dispose]();
286
- manager[Symbol.dispose]();
274
+ using(new ContextMenuManager(), (manager) => {
275
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
276
+ const onSelect = vi.fn();
277
+ manager.subscribe('onSelectItem', onSelect);
278
+ manager.focusedIndex.setValue(1);
279
+ manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'Enter' }));
280
+ expect(onSelect).toHaveBeenCalledWith({ id: 2, name: 'Copy' });
281
+ });
287
282
  });
288
283
  it('should not select when no item is focused', () => {
289
- const manager = new ContextMenuManager();
290
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
291
- manager.focusedIndex.setValue(-1);
292
- const onSelect = vi.fn();
293
- const subscription = manager.subscribe('onSelectItem', onSelect);
294
- manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'Enter' }));
295
- expect(onSelect).not.toHaveBeenCalled();
296
- subscription[Symbol.dispose]();
297
- manager[Symbol.dispose]();
284
+ using(new ContextMenuManager(), (manager) => {
285
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
286
+ manager.focusedIndex.setValue(-1);
287
+ const onSelect = vi.fn();
288
+ manager.subscribe('onSelectItem', onSelect);
289
+ manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'Enter' }));
290
+ expect(onSelect).not.toHaveBeenCalled();
291
+ });
298
292
  });
299
293
  it('should close the menu after selection', () => {
300
- const manager = new ContextMenuManager();
301
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
302
- manager.focusedIndex.setValue(0);
303
- manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'Enter' }));
304
- expect(manager.isOpened.getValue()).toBe(false);
305
- manager[Symbol.dispose]();
294
+ using(new ContextMenuManager(), (manager) => {
295
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
296
+ manager.focusedIndex.setValue(0);
297
+ manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'Enter' }));
298
+ expect(manager.isOpened.getValue()).toBe(false);
299
+ });
306
300
  });
307
301
  });
308
302
  describe('Escape', () => {
309
303
  it('should close the menu', () => {
310
- const manager = new ContextMenuManager();
311
- manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
312
- manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'Escape' }));
313
- expect(manager.isOpened.getValue()).toBe(false);
314
- expect(manager.focusedIndex.getValue()).toBe(-1);
315
- manager[Symbol.dispose]();
304
+ using(new ContextMenuManager(), (manager) => {
305
+ manager.open({ items: createTestItems(), position: { x: 0, y: 0 } });
306
+ manager.handleKeyDown(new KeyboardEvent('keydown', { key: 'Escape' }));
307
+ expect(manager.isOpened.getValue()).toBe(false);
308
+ expect(manager.focusedIndex.getValue()).toBe(-1);
309
+ });
316
310
  });
317
311
  });
318
312
  });