|
| 1 | +import type { Ref } from 'vue'; |
1 | 2 | import type { UsePointerOptions } from './use-pointer'; |
2 | 3 | import { beforeEach, describe, expect, it } from 'vitest'; |
3 | 4 | import { computed, ref } from 'vue'; |
4 | 5 | import { usePointer } from './use-pointer'; |
5 | 6 |
|
6 | 7 | describe('usePointer', () => { |
7 | | - let collapsed: any; |
8 | | - let sizePercentage: any; |
9 | | - let sizePixels: any; |
| 8 | + let collapsed: Ref<boolean>; |
| 9 | + let sizePercentage: Ref<number>; |
| 10 | + let sizePixels: Ref<number>; |
10 | 11 | let options: UsePointerOptions; |
11 | | - let dividerEl: any; |
12 | | - let panelEl: any; |
| 12 | + let dividerEl: Ref<HTMLElement | null>; |
| 13 | + let panelEl: Ref<HTMLElement | null>; |
13 | 14 |
|
14 | 15 | beforeEach(() => { |
15 | 16 | collapsed = ref(false); |
16 | 17 | sizePercentage = ref(50); |
17 | 18 | sizePixels = ref(200); |
18 | 19 |
|
19 | | - // Create mock DOM elements |
20 | | - dividerEl = ref({ |
21 | | - getBoundingClientRect: () => ({ left: 0, top: 0, width: 10, height: 10 }), |
22 | | - style: {}, |
23 | | - addEventListener: () => {}, |
24 | | - removeEventListener: () => {}, |
25 | | - }); |
26 | | - |
27 | | - panelEl = ref({ |
28 | | - getBoundingClientRect: () => ({ left: 0, top: 0, width: 400, height: 400 }), |
29 | | - style: {}, |
30 | | - }); |
| 20 | + // Create mock DOM elements using real HTMLElements for better type safety |
| 21 | + const dividerElement = document.createElement('div'); |
| 22 | + dividerElement.getBoundingClientRect = () => new DOMRect(0, 0, 10, 10); |
| 23 | + dividerEl = ref(dividerElement); |
| 24 | + |
| 25 | + const panelElement = document.createElement('div'); |
| 26 | + panelElement.getBoundingClientRect = () => new DOMRect(0, 0, 400, 400); |
| 27 | + panelEl = ref(panelElement); |
31 | 28 |
|
32 | 29 | options = { |
33 | 30 | disabled: ref(false), |
|
0 commit comments