seimin 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
..
data 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
lib 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
ut 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
-primary-cases.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
README.md 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
allZero.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
area.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
area2.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
areaLineUpdate.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
axes.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
axis-extrema.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
axis.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
bar-large.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
bar.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
bar2.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
bar3.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
bmap.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
boxplot-multi.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
boxplot.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
brush.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
brush2.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
candlestick.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
candlestickConnect.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
chord.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
color-mix-aqi.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
config.js 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
connect-manually.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
connect.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
connect2.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
css-transform.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataView.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-axes.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-axis-type.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-cartesian-h.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-cartesian-v.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-dataShadow.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-dataShadow0.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-dataShadow1.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-dataShadow2.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-dynamic.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-geo.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-rainfall-connect.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-rainfall-inside.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-rainfall.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-scatter-category.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-scatter-hv-polar.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-scatter-hv.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoom-scatter-toolbox.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dataZoomHighPrecision.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
diff.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dynamicData.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dynamicData2.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
dynamicData3.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
effectScatter.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
esl.js 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
force.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
force2.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
force3.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
funnel.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
gauge.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
geo-map.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
geoLine.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
geoScatter.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
getOption.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
graph-grid.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
graph-simple.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
graph.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
graphicOption.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
heatmap-large.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
heatmap-map.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
heatmap.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
ie8.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
largeLine.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
lazyUpdate.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
line-visual.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
line.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
lines-bus.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
lines-symbol.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
lines-track.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
loading.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
logScale.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
map-contour.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
map-parallel.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
map.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
mapWorld.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
markArea.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
markLine.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
markPoint.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
masterPainterColorChoice.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
media-dataZoom.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
media-finance.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
media-pie.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
mix.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
mobileBench.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
multipleGrid.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
parallel-aqi.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
parallel-nutrients.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
pictorial-repeat.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
pictorial-single.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
pie-calculable.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
pie.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
pie2.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
pie3.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
pieDynamic.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
polarLine.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
polarLine2.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
polarScatter.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
punchCard.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
radar.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
radar2.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
radar3.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
radar4.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
reset.css 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
roseType.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
sankey.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
scale-integer.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
scatter-single-axis.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
scatter.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
scatterMatrix.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
selectedMode.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
showTip.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
singleAxisScales.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
symbol.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
theme.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
themeRiver.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
themeRiver2.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
timeScale.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
timeline-finance.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
timeline-layout.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
tooltip.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
touch-slide.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
touch-test.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
touch-tooltip.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
treemap-disk.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
treemap-obama.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
treemap-option.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
treemap-option2.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
treemap-simple.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
treemap-visual.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
visualMap-categories.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
visualMap-continuous.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
visualMap-layout.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
visualMap-opacity.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
visualMap-pieces.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
visualMap-scatter-colorAndSymbol.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
visualMap-scatter-symbolSize.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
webkit-dep.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos
worldPopulationBubble.html 0e3bf6bf50 初始化 %!s(int64=3) %!d(string=hai) anos

README.md

Test Guide

Functional Test

Open ./*.html files in Web Browsers.

Unit Test

Rendering-relevant

Our test strategy is to compare the rendered canvas of current version with last release version. The comparison can either based on the content of rendered canvas, or the stack of canvas operations.

When a test case fails, it doesn't necessary to be a bug since the rendering method may be changed intentionally in a commit. So in this case, we output the rendering result of both versions and the diff result.

Make sure ../dist/echarts.js is the built based on current source files by:

cd ../build
npm install
bash build.sh

By default, we compare current version with last release version. To run the test, you should first download last release using:

cd ../test/ut
./configure

which will download echart.js of last release into ./ut/tmp/oldEcharts.js.

Then, open ./ut/ui.html in Web Browsers.

Compare current with a specific release

If one argument is passed, we take it as the hash code of a release and compare current version with /dist/echarts.js of the that version.

# this compares current `/dist/echarts.js` with that of v3.1.6
./configure 3724a16

Compare arbitrary two commits

Since /dist/echarts.js is only the build result of release versions, to compare arbitrary versions, you need to checkout specific commits and build the source files. Put the build results as ./tmp/oldEcharts.js and ./tmp/newEcharts.js will work.

Rendering-irrelevant

Open ./ut.html files in Web Browsers.