shop/echarts-master/test/ut/spec/api/getVisual.test.ts
2025-05-03 23:48:15 +08:00

214 lines
6.5 KiB
TypeScript
Generated

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { createChart } from '../../core/utHelper';
import { EChartsType } from '../../../../src/echarts';
describe('api/getVisual', function () {
// TODO
// test each chart type, which may set visual on view which can not get from List.
// each of which should test visual map.
// symbol and symbolSize should be tested.
let chart: EChartsType;
beforeEach(function () {
chart = createChart();
});
afterEach(function () {
chart.dispose();
});
it('scatter', function () {
chart.setOption({
xAxis: {},
yAxis: {},
color: ['#000', '#111', '#222'],
visualMap: {
seriesIndex: 3,
dimension: 1,
min: 0,
max: 10000,
inRange: {
color: 'red'
}
},
series: [
{
id: 'k0',
type: 'scatter',
data: [[1000, 700], [333, 222]]
},
{
id: 'k1',
type: 'scatter',
data: [[10, 7]],
itemStyle: {
color: '#fff'
}
},
{
id: 'k2',
type: 'scatter',
data: [
[10, 7],
{
value: [333, 222],
itemStyle: {
color: '#ff0'
}
}
],
itemStyle: {
color: '#eee'
}
},
{
id: 'k3',
type: 'scatter',
data: [
[10, 7],
{
value: [333, 9999],
itemStyle: {
color: 'red'
}
}
],
itemStyle: {
color: '#eee'
}
}
]
});
expect(chart.getVisual({dataIndex: 1}, 'color')).toEqual('#000');
expect(chart.getVisual({dataIndex: 0, seriesIndex: 1}, 'color')).toEqual('#fff');
expect(chart.getVisual({seriesIndex: 1}, 'color')).toEqual('#fff');
expect(chart.getVisual({dataIndex: 1, seriesId: 'k2'}, 'color')).toEqual('#ff0');
expect(chart.getVisual({seriesId: 'k2'}, 'color')).toEqual('#eee');
expect(chart.getVisual({dataIndex: 1, seriesId: 'k3'}, 'color')).toEqual('red');
expect(chart.getVisual({seriesId: 'k3'}, 'color')).toEqual('#eee');
});
it('dataZoom', function () {
chart.setOption({
xAxis: {},
yAxis: {},
color: ['#000', '#111', '#222'],
dataZoom: {
xAxisIndex: 0,
startValue: 45
},
series: [
{
id: 'k2',
type: 'scatter',
data: [
[10, 7],
[20, 7],
[30, 7],
[40, 7],
{
value: [50, 222],
itemStyle: {
color: '#ff0'
}
}
],
itemStyle: {
color: '#eee'
}
}
]
});
expect(chart.getVisual({dataIndex: 4, seriesId: 'k2'}, 'color')).toEqual('#ff0');
expect(chart.getVisual({dataIndexInside: 0, seriesId: 'k2'}, 'color')).toEqual('#ff0');
expect(chart.getVisual({dataIndex: 1, seriesId: 'k2'}, 'color')).toEqual('#eee');
});
// it('pie', function () {
// const chart = this.chart;
// chart.setOption({
// series: [
// {
// id: 'k1',
// type: 'pie',
// center: [40, '50%'],
// radius: [10, '50%'],
// data: [
// {x: 1000, y: 2000},
// {x: 1000, y: 5000},
// {x: 3000, y: 5000},
// {x: 3000, y: 2000}
// ],
// links: []
// }
// ]
// });
// const height = chart.getHeight();
// expect(chart.containPixel('series', [40, height / 2])).toEqual(false);
// expect(chart.containPixel('series', [40, height / 2 + 10])).toEqual(true);
// expect(chart.containPixel('series', [9.5, 1])).toEqual(false);
// });
// it('graph', function () {
// const chart = this.chart;
// chart.setOption({
// series: [
// {
// id: 'k1',
// type: 'graph',
// left: 10,
// right: '50%',
// top: 30,
// bottom: 40,
// data: [
// {x: 1000, y: 2000},
// {x: 1000, y: 5000},
// {x: 3000, y: 5000},
// {x: 3000, y: 2000}
// ],
// links: []
// }
// ]
// });
// expect(chart.containPixel('series', [15, 35])).toEqual(true);
// expect(chart.containPixel('series', [3, 4])).toEqual(false);
// });
});