-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathMapRulerRenderer.test.ts
More file actions
33 lines (28 loc) · 1.15 KB
/
MapRulerRenderer.test.ts
File metadata and controls
33 lines (28 loc) · 1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import { describe, it, expect, vi } from 'vitest';
// Mock mapListeners to capture listener registration
vi.mock('~core/shared_state/mapListeners', () => ({
registerMapListener: vi.fn(() => () => {}),
}));
import { registerMapListener } from '~core/shared_state/mapListeners';
import { MapRulerRenderer } from './MapRulerRenderer';
describe('MapRulerRenderer', () => {
it('registers high priority listeners to block map interactions', () => {
const renderer = new MapRulerRenderer('test');
renderer.addClickListener();
const calls = registerMapListener.mock.calls;
expect(
calls.length,
'Map ruler should register click and mousemove listeners to disable map interactivity',
).toBe(2);
expect(calls[0][0], 'First listener must handle click events').toBe('click');
expect(
calls[0][2],
'Click listener priority must be 100 to block other handlers while measuring',
).toBe(100);
expect(calls[1][0], 'Second listener must handle mousemove events').toBe('mousemove');
expect(
calls[1][2],
'Mousemove listener priority must be 100 to block other handlers while measuring',
).toBe(100);
});
});