Skip to content

Commit

Permalink
feat(testcases): 增加label单测
Browse files Browse the repository at this point in the history
  • Loading branch information
xinming committed Nov 7, 2020
1 parent d1e754f commit 86e4c02
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 2 deletions.
57 changes: 57 additions & 0 deletions tests/unit/geometry/label/defaultCfg-spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import { flatten } from 'lodash';
import { getTheme } from '../../../../src/theme/';
import { Chart } from '../../../../src';
import { createDiv } from '../../../util/dom';

const Theme = getTheme('default');

describe('GeometryLabel default ThemeCfg', () => {
const div = createDiv();
const data = [
{ type: 'item1', value: 5 },
{ type: 'item2', value: 5 },
{ type: 'item3', value: 5 },
{ type: 'item4', value: 5 },
];
const chart = new Chart({
container: div,
autoFit: true,
height: 400,
});
chart.coordinate('theta', { radius: 0.8 });
chart.data(data);
const pie = chart.interval().position('value');
const geometry = pie.color('type').adjust('stack').label('type');
chart.render();

// @ts-ignore
const geometryLabel = geometry.geometryLabel;

it('default use `theme.labels`, when offset >= 0', () => {
let labelItems = geometryLabel.getLabelItems(flatten(geometry.dataArray));
expect(labelItems[0].style).toMatchObject(Theme.labels.style);

geometry.label('type', { offset: 0 });
labelItems = geometryLabel.getLabelItems(flatten(geometry.dataArray));
expect(labelItems[0].style).toMatchObject(Theme.labels.style);
});

it('default use `theme.innerLabels`, when offset < 0', () => {
geometry.label('type', { offset: '-10%' });
let labelItems = geometryLabel.getLabelItems(flatten(geometry.dataArray));
expect(labelItems[0].labelLine).toBeNull();
expect(labelItems[0].style).toMatchObject(Theme.innerLabels.style);

geometry.label('type', { offset: '10%' });
labelItems = geometryLabel.getLabelItems(flatten(geometry.dataArray));
expect(labelItems[0].style).toMatchObject(Theme.labels.style);

geometry.label('type', { offset: -40 });
labelItems = geometryLabel.getLabelItems(flatten(geometry.dataArray));
expect(labelItems[0].style).toMatchObject(Theme.innerLabels.style);
});

afterAll(() => {
chart.destroy();
});
});
15 changes: 13 additions & 2 deletions tests/unit/geometry/label/label-offset-spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,21 @@ describe('Pie GeometryLabel offset', () => {
const coordinate = chart.getCoordinate();

let labelItems = geometryLabel.getLabelItems(flatten(geometry.dataArray));
labelItems = geometryLabel.getLabelItems(flatten(geometry.dataArray));
expect(labelItems[0].offset).not.toEqual(coordinate.getRadius() * -0.5);
expect(labelItems[0].offset).toBeCloseTo((coordinate.getRadius() / 0.8) * 0.2 * -0.3);

geometry.label('type', { offset: -10 });
labelItems = geometryLabel.getLabelItems(flatten(geometry.dataArray));
expect(labelItems[0].offset).toEqual(-10);

geometry.label('type', { offset: 10 });
labelItems = geometryLabel.getLabelItems(flatten(geometry.dataArray));
expect(labelItems[0].offset).toEqual(10);

geometry.label('type', { offset: '10%' });
labelItems = geometryLabel.getLabelItems(flatten(geometry.dataArray));
expect(labelItems[0].offset).not.toEqual(coordinate.getRadius() * 0.1);
expect(labelItems[0].offset).toBeCloseTo((coordinate.getRadius() / 0.8) * 0.2 * 0.1);
});

afterAll(() => {
Expand Down Expand Up @@ -123,5 +135,4 @@ describe('Interval GeometryLabel offset', () => {
const labelItems = geometryLabel.getLabelItems(flatten(geometry.dataArray));
expect(labelItems[0].offset).toBe(0);
});

});

0 comments on commit 86e4c02

Please sign in to comment.