|
1 | 1 | import { describe, it, expect, vi } from 'vitest'; |
2 | | -import { resolveTickVals } from './ticks.js'; |
| 2 | +import { autoTickVals } from './ticks.js'; |
3 | 3 | import type { TimeInterval } from 'd3-time'; |
4 | 4 |
|
5 | 5 | // Mock helpers |
6 | 6 | const mockTicksFn = vi.fn(); |
7 | 7 | const mockDomain = vi.fn(() => ['a', 'b', 'c', 'd', 'e']); |
8 | 8 |
|
9 | | -describe('resolveTickVals', () => { |
| 9 | +describe('autoTickVals', () => { |
10 | 10 | it('returns array ticks directly', () => { |
11 | 11 | const ticks = [1, 2, 3]; |
12 | 12 | const scale = { ticks: mockTicksFn } as any; |
13 | | - expect(resolveTickVals(scale, ticks)).toEqual([1, 2, 3]); |
| 13 | + expect(autoTickVals(scale, ticks)).toEqual([1, 2, 3]); |
14 | 14 | }); |
15 | 15 |
|
16 | 16 | it('calls function ticks with scale', () => { |
17 | 17 | const fnTicks = vi.fn(() => [4, 5, 6]); |
18 | 18 | const scale = { ticks: mockTicksFn } as any; |
19 | | - expect(resolveTickVals(scale, fnTicks)).toEqual([4, 5, 6]); |
| 19 | + expect(autoTickVals(scale, fnTicks)).toEqual([4, 5, 6]); |
20 | 20 | expect(fnTicks).toHaveBeenCalledWith(scale); |
21 | 21 | }); |
22 | 22 |
|
23 | 23 | it('uses interval when provided', () => { |
24 | 24 | const interval = { every: vi.fn() } as unknown as TimeInterval; |
25 | 25 | const ticksConfig = { interval }; |
26 | 26 | const scale = { ticks: vi.fn(() => [7, 8, 9]) } as any; |
27 | | - expect(resolveTickVals(scale, ticksConfig)).toEqual([7, 8, 9]); |
| 27 | + expect(autoTickVals(scale, ticksConfig)).toEqual([7, 8, 9]); |
28 | 28 | expect(scale.ticks).toHaveBeenCalledWith(interval); |
29 | 29 | }); |
30 | 30 |
|
31 | 31 | it('returns empty array if interval is null', () => { |
32 | 32 | const ticksConfig = { interval: null }; |
33 | 33 | const scale = { ticks: mockTicksFn } as any; |
34 | | - expect(resolveTickVals(scale, ticksConfig)).toEqual([]); |
| 34 | + expect(autoTickVals(scale, ticksConfig)).toEqual([]); |
35 | 35 | }); |
36 | 36 |
|
37 | 37 | it('filters band scale domain with number ticks', () => { |
38 | 38 | const scale = { domain: mockDomain, bandwidth: vi.fn() } as any; |
39 | | - expect(resolveTickVals(scale, 2)).toEqual(['a', 'c', 'e']); |
| 39 | + expect(autoTickVals(scale, 2)).toEqual(['a', 'c', 'e']); |
40 | 40 | }); |
41 | 41 |
|
42 | 42 | it('returns full domain for band scale without ticks', () => { |
43 | 43 | const scale = { domain: mockDomain, bandwidth: vi.fn() } as any; |
44 | | - expect(resolveTickVals(scale)).toEqual(['a', 'b', 'c', 'd', 'e']); |
| 44 | + expect(autoTickVals(scale)).toEqual(['a', 'b', 'c', 'd', 'e']); |
45 | 45 | }); |
46 | 46 |
|
47 | 47 | it('uses undefined for non-left/right placement', () => { |
48 | 48 | const scale = { domain: mockDomain, ticks: vi.fn(() => [1, 2]) } as any; |
49 | | - expect(resolveTickVals(scale, undefined, undefined)).toEqual([1, 2]); |
| 49 | + expect(autoTickVals(scale, undefined, undefined)).toEqual([1, 2]); |
50 | 50 | expect(scale.ticks).toHaveBeenCalledWith(undefined); |
51 | 51 | }); |
52 | 52 |
|
53 | 53 | it('passes number ticks to scale.ticks', () => { |
54 | 54 | const scale = { domain: mockDomain, ticks: vi.fn(() => [10, 20]) } as any; |
55 | | - expect(resolveTickVals(scale, 5)).toEqual([10, 20]); |
| 55 | + expect(autoTickVals(scale, 5)).toEqual([10, 20]); |
56 | 56 | expect(scale.ticks).toHaveBeenCalledWith(5); |
57 | 57 | }); |
58 | 58 |
|
59 | 59 | it('returns empty array for scale without ticks', () => { |
60 | 60 | const scale = { domain: mockDomain } as any; |
61 | | - expect(resolveTickVals(scale, 5)).toEqual([]); |
| 61 | + expect(autoTickVals(scale, 5)).toEqual([]); |
62 | 62 | }); |
63 | 63 |
|
64 | 64 | it('handles null ticks with placement', () => { |
65 | 65 | const scale = { domain: mockDomain, ticks: vi.fn(() => [1, 2, 3]) } as any; |
66 | | - expect(resolveTickVals(scale, null, undefined)).toEqual([1, 2, 3]); |
| 66 | + expect(autoTickVals(scale, null, undefined)).toEqual([1, 2, 3]); |
67 | 67 | expect(scale.ticks).toHaveBeenCalledWith(undefined); |
68 | 68 | }); |
69 | | - |
70 | | - it('removes last tick when interval is provided', () => { |
71 | | - const interval = { every: vi.fn() } as unknown as TimeInterval; |
72 | | - const scale = { ticks: vi.fn(() => [1, 2, 3, 4]) } as any; |
73 | | - expect(resolveTickVals(scale, undefined, undefined, interval)).toEqual([1, 2, 3]); |
74 | | - }); |
75 | 69 | }); |
0 commit comments