代码拉取完成,页面将自动刷新
同步操作将从 antv/G2Plot 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import { Pie } from '../../src/plots/pie';
import { delay } from '../utils/delay';
import { createDiv } from '../utils/dom';
describe('pie tooltip', () => {
const div = createDiv();
const data = [
{ type: 'x', value: 0, city: 'HZ' },
{ type: 'y', value: 0, city: 'SZ' },
];
const pie = new Pie(div, {
data,
angleField: 'value',
colorField: 'type',
});
pie.render();
it('#2220, tooltip display not same as normal when data ara all zero', async () => {
const box = pie.chart.geometries[0].elements[0].shape.getBBox();
const point = { x: box.x + box.width / 2, y: box.y + box.height / 2 };
await delay(80);
pie.chart.showTooltip(point);
await delay(100);
const tooltipName = div.querySelector('.g2-tooltip .g2-tooltip-name');
expect((tooltipName as HTMLElement).innerText).toBe('x');
});
it('formatter works. before: when fields is empty, formatter not works', async () => {
pie.update({ tooltip: { fields: [], formatter: () => ({ name: 'xxx', value: 'yyy' }) } });
const tooltipController = pie.chart.getController('tooltip');
const box = pie.chart.geometries[0].elements[0].shape.getBBox();
const point = { x: box.x + box.width / 2, y: box.y + box.height / 2 };
await delay(80);
pie.chart.showTooltip(point);
await delay(300);
// @ts-ignore
let items = tooltipController.getTooltipItems(point);
if (items[0]) {
expect(items[0].name).toBe('xxx');
expect(items[0].value).toBe('yyy');
}
pie.update({ tooltip: { fields: null, formatter: () => ({ name: 'xxx', value: 'yyy' }) } });
pie.chart.showTooltip(point);
await delay(100);
// @ts-ignore
items = tooltipController.getTooltipItems(point);
if (items[0]) {
expect(items[0].name).toBe('xxx');
expect(items[0].value).toBe('yyy');
}
});
it('tooltip fields is empty, no formatter, using default formatter', async () => {
pie.update({ tooltip: { fields: [], formatter: undefined } });
const tooltipController = pie.chart.getController('tooltip');
const box = pie.chart.geometries[0].elements[0].shape.getBBox();
const point = { x: box.x + box.width / 2, y: box.y + box.height / 2 };
await delay(80);
pie.chart.showTooltip(point);
await delay(100);
// @ts-ignore
const items = tooltipController.getTooltipItems(point);
if (items[0]) {
expect(items[0].name).toBe(data[0].type);
expect(items[0].value).toBe(`${data[0].value}`);
}
});
afterEach(() => {
pie.chart.clear();
});
afterAll(() => {
pie.destroy();
});
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。