Skip to content

Commit 197f774

Browse files
committed
test(gauge): coverage increase
1 parent 87a8779 commit 197f774

File tree

3 files changed

+89
-5
lines changed

3 files changed

+89
-5
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
import { Gauge } from '../../../../../src';
2+
import { pick } from '../../../../../src/utils';
3+
import { createDiv } from '../../../../utils/dom';
4+
5+
describe('gauge', () => {
6+
it('no indicator', async () => {
7+
const gauge = new Gauge(createDiv(), {
8+
width: 600,
9+
height: 300,
10+
autoFit: false,
11+
percent: 0.75,
12+
13+
indicator: false,
14+
});
15+
16+
gauge.render();
17+
expect(gauge.chart.views.length).toBe(1);
18+
gauge.destroy();
19+
});
20+
21+
it('no pin', async () => {
22+
const gauge = new Gauge(createDiv(), {
23+
width: 600,
24+
height: 300,
25+
autoFit: false,
26+
percent: 0.75,
27+
28+
indicator: {
29+
pointer: {
30+
style: {
31+
stroke: 'pink',
32+
},
33+
},
34+
// @ts-ignore
35+
pin: false,
36+
},
37+
});
38+
39+
gauge.render();
40+
41+
// @ts-ignore
42+
expect(gauge.chart.views[0].geometries[0].elements[0].container.getChildren()[0].getChildren().length).toBe(1);
43+
// @ts-ignore
44+
expect(gauge.chart.views[0].geometries[0].elements[0].container.getChildren()[0].getChildren()[0].get('name')).toBe(
45+
'pointer'
46+
);
47+
48+
gauge.destroy();
49+
});
50+
51+
it('no pointer', async () => {
52+
const gauge = new Gauge(createDiv(), {
53+
width: 600,
54+
height: 300,
55+
autoFit: false,
56+
percent: 0.75,
57+
58+
indicator: {
59+
// @ts-ignore
60+
pointer: false,
61+
62+
pin: {
63+
style: {
64+
stroke: 'blue',
65+
},
66+
},
67+
},
68+
// @ts-ignore
69+
statistic: false,
70+
});
71+
72+
gauge.render();
73+
74+
// @ts-ignore
75+
expect(gauge.chart.views[0].geometries[0].elements[0].container.getChildren()[0].getChildren().length).toBe(1);
76+
// @ts-ignore
77+
expect(gauge.chart.views[0].geometries[0].elements[0].container.getChildren()[0].getChildren()[0].get('name')).toBe(
78+
'pin'
79+
);
80+
81+
expect(gauge.chart.getController('annotation').getComponents().length).toBe(0);
82+
83+
gauge.destroy();
84+
});
85+
});

src/plots/gauge/adaptor.ts

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { isString, clamp } from '@antv/util';
1+
import { isString, clamp, size } from '@antv/util';
22
import { interaction, animation, theme, scale } from '../../adaptor/common';
33
import { Params } from '../../core/adaptor';
44
import { Data } from '../../types';
@@ -15,10 +15,7 @@ function geometry(params: Params<GaugeOptions>): Params<GaugeOptions> {
1515
const { chart, options } = params;
1616
const { percent, range, radius, innerRadius, startAngle, endAngle, axis, indicator } = options;
1717
const { ticks, color } = range;
18-
let clampTicks = ticks;
19-
if (!clampTicks?.length) {
20-
clampTicks = [0, clamp(percent, 0, 1), 1];
21-
}
18+
const clampTicks = size(ticks) ? ticks : [0, clamp(percent, 0, 1), 1];
2219

2320
// 指标 & 指针
2421
// 如果开启在应用

src/plots/gauge/shapes/gauge.ts

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ registerShape('point', 'gauge-indicator', {
1616
if (pointer) {
1717
// pointer
1818
group.addShape('line', {
19+
name: 'pointer',
1920
attrs: {
2021
x1: center.x,
2122
y1: center.y,
@@ -30,6 +31,7 @@ registerShape('point', 'gauge-indicator', {
3031
// pin
3132
if (pin) {
3233
group.addShape('circle', {
34+
name: 'pin',
3335
attrs: {
3436
x: center.x,
3537
y: center.y,

0 commit comments

Comments
 (0)