You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by sh...@apache.org on 2021/07/11 03:04:53 UTC

[echarts] branch dataset-perf updated: refact: optimize createDimensions. update test

This is an automated email from the ASF dual-hosted git repository.

shenyi pushed a commit to branch dataset-perf
in repository https://gitbox.apache.org/repos/asf/echarts.git


The following commit(s) were added to refs/heads/dataset-perf by this push:
     new 1d4be90  refact: optimize createDimensions. update test
1d4be90 is described below

commit 1d4be90519ecaecb2d8ede87ab2c03582175afeb
Author: pissang <bm...@gmail.com>
AuthorDate: Sat Jul 10 22:06:49 2021 +0800

    refact: optimize createDimensions. update test
---
 src/chart/helper/createSeriesDataFromArray.ts      |   6 +-
 src/data/SeriesData.ts                             |  20 +-
 src/data/helper/completeDimensions.ts              |  34 ++--
 src/data/helper/createDimensions.ts                |  17 +-
 test/ut/spec/data/SeriesData.test.ts               |  26 +--
 ...Dimensions.test.ts => createDimensions.test.ts} | 226 +++++++++++----------
 6 files changed, 168 insertions(+), 161 deletions(-)

diff --git a/src/chart/helper/createSeriesDataFromArray.ts b/src/chart/helper/createSeriesDataFromArray.ts
index 6c2ed4a..73cb7b1 100644
--- a/src/chart/helper/createSeriesDataFromArray.ts
+++ b/src/chart/helper/createSeriesDataFromArray.ts
@@ -147,12 +147,12 @@ function isNeedCompleteOrdinalData(source: Source) {
     }
 }
 
-function firstDataNotNull(data: ArrayLike<any>) {
+function firstDataNotNull(arr: ArrayLike<any>) {
     let i = 0;
-    while (i < data.length && data[i] == null) {
+    while (i < arr.length && arr[i] == null) {
         i++;
     }
-    return data[i];
+    return arr[i];
 }
 
 export default createListFromArray;
diff --git a/src/data/SeriesData.ts b/src/data/SeriesData.ts
index 51d34fb..3a28396 100644
--- a/src/data/SeriesData.ts
+++ b/src/data/SeriesData.ts
@@ -27,7 +27,7 @@ import * as zrUtil from 'zrender/src/core/util';
 import {PathStyleProps} from 'zrender/src/graphic/Path';
 import Model from '../model/Model';
 import DataDiffer from './DataDiffer';
-import {DefaultDataProvider} from './helper/dataProvider';
+import {DataProvider, DefaultDataProvider} from './helper/dataProvider';
 import {summarizeDimensions, DimensionSummary} from './helper/dimensionHelper';
 import DataDimensionInfo from './DataDimensionInfo';
 import {ArrayLike, Dictionary, FunctionPropertyNames} from 'zrender/src/core/types';
@@ -389,20 +389,22 @@ class SeriesData<
      *        or provided in nameList from outside.
      */
     initData(
-        data: Source | OptionSourceData | DataStorage,
+        data: Source | OptionSourceData | DataStorage | DataProvider,
         nameList?: string[],
         dimValueGetter?: DimValueGetter
     ): void {
-        const isRaw = isSourceInstance(data) || zrUtil.isArrayLike(data);
         let store: DataStorage;
-        if (isRaw) {
-            const provider = new DefaultDataProvider(data as Source | OptionSourceData, this.dimensions.length);
-            const dimensionInfos = map(this.dimensions, dimName => this._dimensionInfos[dimName]);
-            store = new DataStorage();
-            store.initData(provider, dimensionInfos, dimValueGetter);
+        if (data instanceof DataStorage) {
+            store = data;
         }
         else {
-            store = data as DataStorage;
+            const dimensions = this.dimensions;
+            const provider = (isSourceInstance(data) || zrUtil.isArrayLike(data))
+                ? new DefaultDataProvider(data as Source | OptionSourceData, dimensions.length)
+                : data as DataProvider;
+            const dimensionInfos = map(dimensions, dimName => this._dimensionInfos[dimName]);
+            store = new DataStorage();
+            store.initData(provider, dimensionInfos, dimValueGetter);
         }
 
         this._store = store;
diff --git a/src/data/helper/completeDimensions.ts b/src/data/helper/completeDimensions.ts
index af72139..99072e8 100644
--- a/src/data/helper/completeDimensions.ts
+++ b/src/data/helper/completeDimensions.ts
@@ -22,18 +22,21 @@
  * Use `echarts/data/helper/createDimensions` instead.
  */
 
-import {createHashMap, each, isString, defaults, extend, isObject, clone, HashMap} from 'zrender/src/core/util';
+import {createHashMap, each, isString, defaults, isObject, clone, HashMap, extend} from 'zrender/src/core/util';
 import {normalizeToArray} from '../../util/model';
-import {guessOrdinal, BE_ORDINAL} from './sourceHelper';
-import { createSourceFromSeriesDataOption, isSourceInstance, Source } from '../Source';
+import { Source } from '../Source';
 import {
-    VISUAL_DIMENSIONS, DimensionDefinitionLoose, OptionSourceData,
-    EncodeDefaulter, OptionEncodeValue, OptionEncode, DimensionName, DimensionIndex, DataVisualDimensions
+    VISUAL_DIMENSIONS, DimensionDefinitionLoose,
+    EncodeDefaulter,
+    OptionEncodeValue,
+    OptionEncode,
+    DimensionName,
+    DimensionIndex,
+    DataVisualDimensions
 } from '../../util/types';
 import DataDimensionInfo from '../DataDimensionInfo';
-import SeriesData from '../SeriesData';
 import { CoordDimensionDefinition, CoordDimensionDefinitionLoose } from './createDimensions';
-import DataStorage from '../DataStorage';
+import { BE_ORDINAL, guessOrdinal } from './sourceHelper';
 
 
 /**
@@ -77,7 +80,7 @@ import DataStorage from '../DataStorage';
  */
 function completeDimensions(
     sysDims: CoordDimensionDefinitionLoose[],
-    source: Source | SeriesData | OptionSourceData | DataStorage,
+    source: Source,
     opt: {
         dimsDef?: DimensionDefinitionLoose[];
         encodeDef?: HashMap<OptionEncodeValue, DimensionName> | OptionEncode;
@@ -87,20 +90,10 @@ function completeDimensions(
         generateCoordCount?: number;
     }
 ): DataDimensionInfo[] {
-    if (source instanceof DataStorage) {
-        source = source.getSource();
-    }
-    else if (source instanceof SeriesData) {
-        source = source.getStore().getSource();
-    }
-
-    if (!isSourceInstance(source)) {
-        source = createSourceFromSeriesDataOption(source as OptionSourceData);
-    }
 
     opt = opt || {};
     sysDims = (sysDims || []).slice();
-    const dimsDef = (opt.dimsDef || []).slice();
+    const dimsDef = (opt.dimsDef || source.dimensionsDefine || []).slice();
     const dataDimNameMap = createHashMap<DimensionIndex, DimensionName>();
     const coordDimNameMap = createHashMap<true, DimensionName>();
     // let valueCandidate;
@@ -114,6 +107,7 @@ function completeDimensions(
         const dimDefItem = dimsDef[i] = extend(
             {}, isObject(dimDefItemRaw) ? dimDefItemRaw : { name: dimDefItemRaw }
         );
+
         const userDimName = dimDefItem.name;
         const resultItem = result[i] = new DataDimensionInfo();
         // Name will be applied later for avoiding duplication.
@@ -128,7 +122,7 @@ function completeDimensions(
         dimDefItem.displayName != null && (resultItem.displayName = dimDefItem.displayName);
     }
 
-    let encodeDef = opt.encodeDef;
+    let encodeDef = opt.encodeDef || source.encodeDefine;
     if (!encodeDef && opt.encodeDefaulter) {
         encodeDef = opt.encodeDefaulter(source, dimCount);
     }
diff --git a/src/data/helper/createDimensions.ts b/src/data/helper/createDimensions.ts
index 22cfee6..d3f65b3 100644
--- a/src/data/helper/createDimensions.ts
+++ b/src/data/helper/createDimensions.ts
@@ -30,7 +30,7 @@ import SeriesData from '../SeriesData';
 import DataDimensionInfo from '../DataDimensionInfo';
 import { HashMap } from 'zrender/src/core/util';
 import OrdinalMeta from '../OrdinalMeta';
-import { Source } from '../Source';
+import { createSourceFromSeriesDataOption, isSourceInstance, Source } from '../Source';
 import DataStorage from '../DataStorage';
 
 
@@ -55,6 +55,7 @@ export type CreateDimensionsParams = {
 
 /**
  * @param opt.coordDimensions
+ * @param opt.dimensionsCount
  * @param opt.dimensionsDefine By default `source.dimensionsDefine` Overwrite source define.
  * @param opt.encodeDefine By default `source.encodeDefine` Overwrite source define.
  * @param opt.encodeDefaulter Make default encode if user not specified.
@@ -64,11 +65,21 @@ export default function createDimensions(
     source: Source | SeriesData | OptionSourceData | DataStorage,
     opt?: CreateDimensionsParams
 ): DataDimensionInfo[] {
+    if (source instanceof DataStorage) {
+        source = source.getSource();
+    }
+    else if (source instanceof SeriesData) {
+        source = source.getStore().getSource();
+    }
+    else if (!isSourceInstance(source)) {
+        source = createSourceFromSeriesDataOption(source as OptionSourceData);
+    }
+
     opt = opt || {};
     return completeDimensions(opt.coordDimensions || [], source, {
         // FIXME:TS detect whether source then call `.dimensionsDefine` and `.encodeDefine`?
-        dimsDef: opt.dimensionsDefine || (source as Source).dimensionsDefine,
-        encodeDef: opt.encodeDefine || (source as Source).encodeDefine,
+        dimsDef: opt.dimensionsDefine,
+        encodeDef: opt.encodeDefine,
         dimCount: opt.dimensionsCount,
         encodeDefaulter: opt.encodeDefaulter,
         generateCoord: opt.generateCoord,
diff --git a/test/ut/spec/data/SeriesData.test.ts b/test/ut/spec/data/SeriesData.test.ts
index 6442cf3..faef46d 100644
--- a/test/ut/spec/data/SeriesData.test.ts
+++ b/test/ut/spec/data/SeriesData.test.ts
@@ -381,16 +381,11 @@ describe('List', function () {
                 oneByOne.nameEqualsTo('b');
                 oneByOne.nameEqualsTo('');
 
-                list.appendValues(
+                list.appendData(
                     [
-                        [300],
-                        [310],
-                        [320]
-                    ],
-                    [
-                        'b',
-                        'c',
-                        null
+                        { name: 'b', value: 300 },
+                        { name: 'c', value: 310 },
+                        { name: null, value: 320}
                     ]
                 );
 
@@ -535,16 +530,11 @@ describe('List', function () {
 
                 checker.checkAfterAppendData();
 
-                list.appendValues(
-                    [
-                        [300],
-                        [310],
-                        [320]
-                    ],
+                list.appendData(
                     [
-                        'b',
-                        'c',
-                        null
+                        { name: 'b', value: 300 },
+                        { name: 'c', value: 310 },
+                        { name: null, value: 320}
                     ]
                 );
 
diff --git a/test/ut/spec/data/completeDimensions.test.ts b/test/ut/spec/data/createDimensions.test.ts
similarity index 79%
rename from test/ut/spec/data/completeDimensions.test.ts
rename to test/ut/spec/data/createDimensions.test.ts
index 24efc4b..6ae72dc 100644
--- a/test/ut/spec/data/completeDimensions.test.ts
+++ b/test/ut/spec/data/createDimensions.test.ts
@@ -18,20 +18,20 @@
 */
 
 
-import completeDimensions from '../../../../src/data/helper/completeDimensions';
+import DataDimensionInfo from '../../../../src/data/DataDimensionInfo';
+import createDimensions from '../../../../src/data/helper/createDimensions';
 import { createSource } from '../../../../src/data/Source';
 import { SOURCE_FORMAT_ARRAY_ROWS, SERIES_LAYOUT_BY_COLUMN } from '../../../../src/util/types';
 
-type ParametersOfCompleteDimensions = Parameters<typeof completeDimensions>;
+type ParametersOfCreateDimensions = Parameters<typeof createDimensions>;
 
-describe('completeDimensions', function () {
+describe('createDimensions', function () {
 
-    function doCompleteDimensions(
-        sysDims: ParametersOfCompleteDimensions[0],
-        data: ParametersOfCompleteDimensions[1],
-        opt: ParametersOfCompleteDimensions[2]
+    function doCreateDimensions(
+        source: ParametersOfCreateDimensions[0],
+        opt: ParametersOfCreateDimensions[1]
     ) {
-        const result = completeDimensions(sysDims, data, opt);
+        const result = createDimensions(source, opt);
         if (result) {
             for (let i = 0; i < result.length; i++) {
                 const item = result[i];
@@ -82,7 +82,8 @@ describe('completeDimensions', function () {
         );
 
         const opt = {
-            'dimsDef': [
+            'coordDimensions': sysDims,
+            'dimensionsDefine': [
                 {
                     'name': 'date',
                     'displayName': 'date'
@@ -128,7 +129,7 @@ describe('completeDimensions', function () {
                     'displayName': 'sma9'
                 }
             ],
-            'encodeDef': {
+            'encodeDefine': {
                 'x': 'date',
                 'y': [
                     'haOpen',
@@ -143,10 +144,10 @@ describe('completeDimensions', function () {
                     'close'
                 ]
             },
-            'dimCount': 5
+            'dimensionsCount': 5
         };
 
-        const result: unknown = [
+        const result: DataDimensionInfo[] = [
             {
                 'otherDims': {
                     'tooltip': false,
@@ -156,8 +157,7 @@ describe('completeDimensions', function () {
                 'name': 'date',
                 'coordDim': 'x',
                 'coordDimIndex': 0,
-                'type': 'ordinal',
-                'ordinalMeta': undefined
+                'type': 'ordinal'
             },
             {
                 'otherDims': {
@@ -213,8 +213,7 @@ describe('completeDimensions', function () {
                 'name': 'haOpen',
                 'coordDim': 'y',
                 'coordDimIndex': 0,
-                'type': 'float',
-                'ordinalMeta': undefined
+                'type': 'float'
             },
             {
                 'otherDims': {},
@@ -222,8 +221,7 @@ describe('completeDimensions', function () {
                 'name': 'haHigh',
                 'coordDim': 'y',
                 'coordDimIndex': 3,
-                'type': 'float',
-                'ordinalMeta': undefined
+                'type': 'float'
             },
             {
                 'otherDims': {},
@@ -231,8 +229,7 @@ describe('completeDimensions', function () {
                 'name': 'haLow',
                 'coordDim': 'y',
                 'coordDimIndex': 2,
-                'type': 'float',
-                'ordinalMeta': undefined
+                'type': 'float'
             },
             {
                 'otherDims': {},
@@ -240,8 +237,7 @@ describe('completeDimensions', function () {
                 'name': 'haClose',
                 'coordDim': 'y',
                 'coordDimIndex': 1,
-                'type': 'float',
-                'ordinalMeta': undefined
+                'type': 'float'
             },
             {
                 'otherDims': {},
@@ -253,22 +249,21 @@ describe('completeDimensions', function () {
             }
         ];
 
-        expect(doCompleteDimensions(sysDims, source, opt)).toEqual(result);
+        expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new DataDimensionInfo(a)));
     });
 
 
     it('differentData', function () {
         function doTest(
-            sysDims: ParametersOfCompleteDimensions[0],
-            data: ParametersOfCompleteDimensions[1],
-            opt: ParametersOfCompleteDimensions[2],
-            result: unknown
+            source: ParametersOfCreateDimensions[0],
+            opt: ParametersOfCreateDimensions[1],
+            result: DataDimensionInfo[]
         ) {
-            expect(doCompleteDimensions(sysDims, data, opt)).toEqual(result);
+            expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new DataDimensionInfo(a)));
         }
 
         // test dimcount
-        doTest(['x', 'y'], [], null, [
+        doTest([], { coordDimensions: ['x', 'y']}, [
             {
                 'otherDims': {},
                 'coordDim': 'x',
@@ -283,7 +278,7 @@ describe('completeDimensions', function () {
             }
         ]);
 
-        doTest(['x', 'y'], [12], null, [
+        doTest([12], { coordDimensions: ['x', 'y']}, [
             {
                 'otherDims': {},
                 'coordDim': 'x',
@@ -298,7 +293,7 @@ describe('completeDimensions', function () {
             }
         ]);
 
-        doTest(['x', 'y'], [12, 4], null, [
+        doTest([12, 4], { coordDimensions: ['x', 'y']}, [
             {
                 'otherDims': {},
                 'coordDim': 'x',
@@ -313,7 +308,7 @@ describe('completeDimensions', function () {
             }
         ]);
 
-        doTest(['x'], [[32, 55]], null, [
+        doTest([[32, 55]], { coordDimensions: ['x']}, [
             {
                 'otherDims': {},
                 'coordDim': 'x',
@@ -322,7 +317,7 @@ describe('completeDimensions', function () {
             }
         ]);
 
-        doTest(['x', 'y', 'z'], [[32, 55]], null, [
+        doTest([[32, 55]], { coordDimensions: ['x', 'y', 'z']}, [
             {
                 'otherDims': {},
                 'coordDim': 'x',
@@ -343,7 +338,7 @@ describe('completeDimensions', function () {
             }
         ]);
 
-        doTest(['x'], [[32, 55], [99, 11]], null, [
+        doTest([[32, 55], [99, 11]], { coordDimensions: ['x']}, [
             {
                 'otherDims': {},
                 'coordDim': 'x',
@@ -352,7 +347,10 @@ describe('completeDimensions', function () {
             }
         ]);
 
-        doTest(['x', 'y'], [[32, 55], [99, 11]], {dimCount: 4}, [
+        doTest([[32, 55], [99, 11]], {
+            dimensionsCount: 4,
+            coordDimensions: ['x', 'y']
+        }, [
             {
                 'otherDims': {},
                 'coordDim': 'x',
@@ -391,12 +389,11 @@ describe('completeDimensions', function () {
 
     it('differentSysDims', function () {
         function doTest(
-            sysDims: ParametersOfCompleteDimensions[0],
-            data: ParametersOfCompleteDimensions[1],
-            opt: ParametersOfCompleteDimensions[2],
-            result: unknown
+            source: ParametersOfCreateDimensions[0],
+            opt: ParametersOfCreateDimensions[1],
+            result: DataDimensionInfo[]
         ) {
-            expect(doCompleteDimensions(sysDims, data, opt)).toEqual(result);
+            expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new DataDimensionInfo(a)));
         }
 
         const data = [
@@ -405,7 +402,7 @@ describe('completeDimensions', function () {
         ];
 
         doTest(
-            ['x', 'y'], data, null,
+            data, { coordDimensions: ['x', 'y'] },
             [
                 {
                     'otherDims': {},
@@ -424,7 +421,7 @@ describe('completeDimensions', function () {
         );
 
         doTest(
-            ['value'], data, null,
+            data, { coordDimensions: ['value'] },
             [
                 {
                     'otherDims': {},
@@ -437,9 +434,8 @@ describe('completeDimensions', function () {
         );
 
         doTest(
-            [{name: 'time', type: 'time' as const}, 'value'],
             data,
-            null,
+            { coordDimensions: [{name: 'time', type: 'time' as const}, 'value'] },
             [
                 {
                     'otherDims': {},
@@ -459,16 +455,18 @@ describe('completeDimensions', function () {
         );
 
         doTest(
-            [{
-                name: 'y',
-                otherDims: {
-                    tooltip: false
-                },
-                dimsDef: ['base']
-            }, {
-                name: 'x',
-                dimsDef: ['open', 'close']
-            }], data, {},
+            data, {
+                coordDimensions: [{
+                    name: 'y',
+                    otherDims: {
+                        tooltip: false
+                    },
+                    dimsDef: ['base']
+                }, {
+                    name: 'x',
+                    dimsDef: ['open', 'close']
+                }]
+            },
             [
                 {
                     'otherDims': {
@@ -495,18 +493,19 @@ describe('completeDimensions', function () {
         );
 
         doTest(
-            [{
-                name: 'y',
-                otherDims: {
-                    tooltip: false
-                },
-                dimsDef: ['base']
-            }, {
-                name: 'x',
-                dimsDef: ['open', 'close']
-            }], data, {
-                dimsDef: ['基础', '打开', '关闭'],
-                encodeDef: {
+            data, {
+                dimensionsDefine: ['基础', '打开', '关闭'],
+                coordDimensions: [{
+                    name: 'y',
+                    otherDims: {
+                        tooltip: false
+                    },
+                    dimsDef: ['base']
+                }, {
+                    name: 'x',
+                    dimsDef: ['open', 'close']
+                }],
+                encodeDefine: {
                     tooltip: [1, 2, 0]
                 }
             },
@@ -546,18 +545,19 @@ describe('completeDimensions', function () {
         );
 
         doTest(
-            [{
-                name: 'y',
-                otherDims: {
-                    tooltip: false
-                },
-                dimsDef: ['base']
-            }, {
-                name: 'x',
-                dimsDef: ['open', 'close']
-            }], data, {
-                dimsDef: ['基础', null, '关闭'],
-                encodeDef: {
+            data, {
+                coordDimensions: [{
+                    name: 'y',
+                    otherDims: {
+                        tooltip: false
+                    },
+                    dimsDef: ['base']
+                }, {
+                    name: 'x',
+                    dimsDef: ['open', 'close']
+                }],
+                dimensionsDefine: ['基础', null, '关闭'],
+                encodeDefine: {
                     x: [0, 4]
                 }
             },
@@ -605,18 +605,20 @@ describe('completeDimensions', function () {
 
     it('dimsDef', function () {
         function doTest(
-            sysDims: ParametersOfCompleteDimensions[0],
-            data: ParametersOfCompleteDimensions[1],
-            opt: ParametersOfCompleteDimensions[2],
-            result: unknown
+            source: ParametersOfCreateDimensions[0],
+            opt: ParametersOfCreateDimensions[1],
+            result: DataDimensionInfo[]
         ) {
-            expect(doCompleteDimensions(sysDims, data, opt)).toEqual(result);
+            expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new DataDimensionInfo(a)));
         }
 
         const data = [['iw', 332, 4434, 323, 59], ['vrr', 44, 11, 144, 55]];
         doTest(
-            ['x', 'y', 'value'], data,
-            {dimsDef: ['挨克思', null, '歪溜']},
+            data,
+            {
+                dimensionsDefine: ['挨克思', null, '歪溜'],
+                coordDimensions: ['x', 'y', 'value']
+            },
             [
                 {
                     'otherDims': {},
@@ -643,8 +645,11 @@ describe('completeDimensions', function () {
         );
 
         doTest(
-            ['x', 'y', 'value'], data,
-            {dimsDef: ['挨克思', null, {type: 'ordinal' as const}]}, // no name but only type
+            data,
+            {
+                dimensionsDefine: ['挨克思', null, {type: 'ordinal' as const}],
+                coordDimensions: ['x', 'y', 'value']
+            }, // no name but only type
             [
                 {
                     'otherDims': {},
@@ -671,8 +676,11 @@ describe('completeDimensions', function () {
         );
 
         doTest(
-            [{name: 'time', type: 'time' as const}, 'value'], data,
-            {dimsDef: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}]},
+            data,
+            {
+                dimensionsDefine: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}],
+                coordDimensions: [{name: 'time', type: 'time' as const}, 'value']
+            },
             [
                 {
                     'otherDims': {},
@@ -705,20 +713,19 @@ describe('completeDimensions', function () {
 
     it('encodeDef', function () {
         function doTest(
-            sysDims: ParametersOfCompleteDimensions[0],
-            data: ParametersOfCompleteDimensions[1],
-            opt: ParametersOfCompleteDimensions[2],
-            result: unknown
+            source: ParametersOfCreateDimensions[0],
+            opt: ParametersOfCreateDimensions[1],
+            result: DataDimensionInfo[]
         ) {
-            expect(doCompleteDimensions(sysDims, data, opt)).toEqual(result);
+            expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new DataDimensionInfo(a)));
         }
 
         const data = [['iw', 332, 4434, 323, 'd8', 59], ['vrr', 44, 11, 144, '-', 55]];
 
         doTest(
-            null, data,
+            data,
             {
-                encodeDef: {
+                encodeDefine: {
                     x: 2,
                     y: [1, 4],
                     tooltip: 2,
@@ -738,10 +745,10 @@ describe('completeDimensions', function () {
         );
 
         doTest(
-            null, data,
+            data,
             {
-                dimsDef: ['挨克思', null, '歪溜'],
-                encodeDef: {
+                dimensionsDefine: ['挨克思', null, '歪溜'],
+                encodeDefine: {
                     x: 2,
                     y: [1, 4],
                     tooltip: 2,
@@ -777,10 +784,11 @@ describe('completeDimensions', function () {
         );
 
         doTest(
-            ['x', {name: 'y', type: 'time' as const}, 'z'], data,
+            data,
             {
-                dimsDef: ['挨克思', null, '歪溜'],
-                encodeDef: {
+                dimensionsDefine: ['挨克思', null, '歪溜'],
+                coordDimensions: ['x', {name: 'y', type: 'time' as const}, 'z'],
+                encodeDefine: {
                     x: 2,
                     y: [1, 4],
                     tooltip: 2,
@@ -817,11 +825,12 @@ describe('completeDimensions', function () {
         );
 
         doTest(
-            [{name: 'time', type: 'time' as const}, 'value'], data,
+            data,
             {
                 // dimsDef type 'ordinal' has higher priority then sysDims type 'time'.
-                dimsDef: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}],
-                encodeDef: {
+                dimensionsDefine: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}],
+                coordDimensions: [{name: 'time', type: 'time' as const}, 'value'],
+                encodeDefine: {
                     tooltip: 2
                 }
             },
@@ -847,11 +856,12 @@ describe('completeDimensions', function () {
         );
 
         doTest(
-            [{name: 'time', type: 'time' as const}, 'value'], data,
+            data,
             {
                 // dimsDef type 'ordinal' has higher priority then sysDims type 'time'.
-                dimsDef: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}],
-                encodeDef: {
+                dimensionsDefine: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}],
+                coordDimensions: [{name: 'time', type: 'time' as const}, 'value'],
+                encodeDefine: {
                     tooltip: 2
                 }
             },

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org