Skip to content

Commit 25c83d1

Browse files
committed
fix(RenderWindowInteractor): migrate testChordedButtons to vitest
1 parent ef93996 commit 25c83d1

File tree

1 file changed

+12
-35
lines changed

1 file changed

+12
-35
lines changed

Sources/Rendering/Core/RenderWindowInteractor/test/testChordedButtons.js

Lines changed: 12 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import test from 'tape';
1+
import { it, expect } from 'vitest';
22

33
import vtkRenderWindowInteractor from 'vtk.js/Sources/Rendering/Core/RenderWindowInteractor';
44

@@ -55,7 +55,7 @@ function teardown({ container, interactor }) {
5555

5656
// Tests ------------------------------------------------------------------
5757

58-
test('Test RenderWindowInteractor chorded button press', (t) => {
58+
it('Test RenderWindowInteractor chorded button press', () => {
5959
const env = setupInteractor();
6060
const { container, interactor } = env;
6161

@@ -77,44 +77,36 @@ test('Test RenderWindowInteractor chorded button press', (t) => {
7777
container.dispatchEvent(
7878
makePointerEvent('pointerdown', { button: 0, buttons: 1 })
7979
);
80-
t.deepEqual(events, ['LeftButtonPress'], 'Left press registered');
80+
expect(events).toEqual(['LeftButtonPress']);
8181

8282
// 2. Press right while left held (pointermove with button change per spec §10)
8383
container.dispatchEvent(
8484
makePointerEvent('pointermove', { button: 2, buttons: 3 })
8585
);
86-
t.ok(
87-
events.includes('RightButtonPress'),
88-
'Chorded right press detected via pointermove'
89-
);
86+
expect(events.includes('RightButtonPress')).toBeTruthy();
9087

9188
// 3. Release left while right held (pointermove with button change)
9289
events.length = 0;
9390
container.dispatchEvent(
9491
makePointerEvent('pointermove', { button: 0, buttons: 2 })
9592
);
96-
t.deepEqual(
97-
events,
98-
['LeftButtonRelease'],
99-
'Chorded left release detected via pointermove'
100-
);
93+
expect(events).toEqual(['LeftButtonRelease']);
10194

10295
// 4. Release right - last button (pointerup fires)
10396
events.length = 0;
10497
container.dispatchEvent(
10598
makePointerEvent('pointerup', { button: 2, buttons: 0 })
10699
);
107-
t.deepEqual(events, ['RightButtonRelease'], 'Right release registered');
100+
expect(events).toEqual(['RightButtonRelease']);
108101

109102
sub1.unsubscribe();
110103
sub2.unsubscribe();
111104
sub3.unsubscribe();
112105
sub4.unsubscribe();
113106
teardown(env);
114-
t.end();
115107
});
116108

117-
test('Test RenderWindowInteractor single button (no false chorded events)', (t) => {
109+
it('Test RenderWindowInteractor single button (no false chorded events)', () => {
118110
const env = setupInteractor();
119111
const { container, interactor } = env;
120112

@@ -143,21 +135,16 @@ test('Test RenderWindowInteractor single button (no false chorded events)', (t)
143135
makePointerEvent('pointerup', { button: 0, buttons: 0 })
144136
);
145137

146-
t.deepEqual(
147-
events,
148-
['LeftButtonPress', 'LeftButtonRelease'],
149-
'Simple left click produces no spurious chorded events'
150-
);
138+
expect(events).toEqual(['LeftButtonPress', 'LeftButtonRelease']);
151139

152140
sub1.unsubscribe();
153141
sub2.unsubscribe();
154142
sub3.unsubscribe();
155143
sub4.unsubscribe();
156144
teardown(env);
157-
t.end();
158145
});
159146

160-
test('Test RenderWindowInteractor three-button chord', (t) => {
147+
it('Test RenderWindowInteractor three-button chord', () => {
161148
const env = setupInteractor();
162149
const { container, interactor } = env;
163150

@@ -190,18 +177,13 @@ test('Test RenderWindowInteractor three-button chord', (t) => {
190177

191178
// Chorded releases (middle, right) fire before the primary button release
192179
// (left) which is handled by handleMouseUp.
193-
t.deepEqual(
194-
events,
195-
['LP', 'MP', 'RP', 'MR', 'RR', 'LR'],
196-
'All presses and releases detected in deterministic order'
197-
);
180+
expect(events).toEqual(['LP', 'MP', 'RP', 'MR', 'RR', 'LR']);
198181

199182
subs.forEach((s) => s.unsubscribe());
200183
teardown(env);
201-
t.end();
202184
});
203185

204-
test('Test RenderWindowInteractor pointercancel releases all held buttons', (t) => {
186+
it('Test RenderWindowInteractor pointercancel releases all held buttons', () => {
205187
const env = setupInteractor();
206188
const { container, interactor } = env;
207189

@@ -231,13 +213,8 @@ test('Test RenderWindowInteractor pointercancel releases all held buttons', (t)
231213
makePointerEvent('pointercancel', { button: 0, buttons: 0 })
232214
);
233215

234-
t.deepEqual(
235-
events,
236-
['LR', 'MR'],
237-
'pointercancel fires release events for all held buttons'
238-
);
216+
expect(events).toEqual(['LR', 'MR']);
239217

240218
subs.forEach((s) => s.unsubscribe());
241219
teardown(env);
242-
t.end();
243220
});

0 commit comments

Comments
 (0)