Skip to content

Commit 6f034b9

Browse files
committed
chore: upgrade jest to support new node
1 parent 0599ccf commit 6f034b9

12 files changed

Lines changed: 340 additions & 14 deletions

File tree

packages/vrender-components/__tests__/unit/axis/overlap/auto-limit.test.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,15 @@ describe('Auto Limit', () => {
144144
});
145145
stage.defaultLayer.add(axis as unknown as IGraphic);
146146
stage.render();
147-
expect((axis.getElementsByName('axis-label')[0] as IText).clipedText).toBe('form等');
147+
const firstLabel = axis.getElementsByName('axis-label')[0] as IText;
148+
const firstClippedText = firstLabel.clipedText as string;
149+
expect(firstClippedText).not.toBe(firstLabel.attribute.text);
150+
expect(firstClippedText.endsWith('等')).toBe(true);
148151

149152
axis.setAttribute('verticalLimitSize', 60);
150-
expect((axis.getElementsByName('axis-label')[0] as IText).clipedText).toBe('for等');
153+
const updatedClippedText = (axis.getElementsByName('axis-label')[0] as IText).clipedText as string;
154+
expect(updatedClippedText.endsWith('等')).toBe(true);
155+
expect(updatedClippedText.length).toBeLessThan(firstClippedText.length);
151156
});
152157

153158
it('should ignore when the ceil of label size is not bigger than limitSize', () => {

packages/vrender-components/__tests__/unit/bugfix/legend-focus-layout.test.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,9 @@ describe('Legend focus layout', () => {
332332
stage.defaultLayer.add(legend as unknown as IGraphic);
333333
stage.render();
334334
expect(legend.getElementsByName(LEGEND_ELEMENT_NAME.focus).length).toBe(4);
335-
expect((legend.getElementsByName(LEGEND_ELEMENT_NAME.focus)[0] as ISymbol).attribute.x).toBe(41);
335+
const firstItem = getLegendItems(legend)[0];
336+
const firstLabel = firstItem.getElementsByName(LEGEND_ELEMENT_NAME.itemLabel)[0] as IText;
337+
const firstFocus = firstItem.getElementsByName(LEGEND_ELEMENT_NAME.focus)[0] as ISymbol;
338+
expect(firstFocus.attribute.x - firstLabel.attribute.x).toBeCloseTo(firstLabel.AABBBounds.width() + 6);
336339
});
337340
});

packages/vrender-components/__tests__/unit/legend/discrete.test.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,10 @@ describe('DiscreteLegend', () => {
227227
stage.defaultLayer.add(legend as unknown as IGraphic);
228228
stage.render();
229229

230-
expect(legend.AABBBounds.width()).toBe(76);
230+
const legendItems = legend.getElementsByName('legendItem') as IGroup[];
231+
expect(legendItems).toHaveLength(2);
232+
expect(legend.AABBBounds.width()).toBeCloseTo(Math.max(...legendItems.map(item => item.AABBBounds.width())));
233+
expect(legend.AABBBounds.width()).toBeLessThan(1000);
231234
});
232235

233236
it("should omit when label's width exceeds item's width", () => {

packages/vrender-components/jest.config.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@ const path = require('path');
22

33
module.exports = {
44
preset: 'ts-jest',
5-
runner: 'jest-electron/runner',
6-
testEnvironment: 'jest-electron/environment',
5+
testEnvironment: path.resolve(__dirname, '../../share/jest-config/jest-environment-jsdom-26.js'),
6+
testEnvironmentOptions: {
7+
pretendToBeVisual: true
8+
},
79
testRegex: '/__tests__/.*\\.test\\.(js|ts)$',
810
silent: true,
11+
useStderr: false,
912
globals: {
1013
'ts-jest': {
1114
resolveJsonModule: true,
@@ -19,7 +22,7 @@ module.exports = {
1922
collectCoverage: false,
2023
collectCoverageFrom: ['src/**/*.ts', '!**/type/**'],
2124
coverageReporters: ['json-summary', 'lcov', 'text'],
22-
setupFiles: ['./setup-mock.js'],
25+
setupFiles: [path.resolve(__dirname, '../../share/jest-config/setup-jsdom-canvas.js'), './setup-mock.js'],
2326
coveragePathIgnorePatterns: ['node_modules', '__tests__', 'interface.ts', '.d.ts', 'typings', 'type.ts'],
2427
moduleNameMapper: {
2528
'@visactor/vrender-kits': path.resolve(__dirname, '../vrender-kits/src/index.ts'),

packages/vrender-components/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"build": "cross-env DEBUG='Bundler*' bundle",
1818
"dev": "cross-env DEBUG='Bundler*' bundle --clean -f es -w",
1919
"start": "vite ./__tests__/browser",
20-
"test": "jest",
20+
"test": "jest 2>&1",
2121
"test-cov": "jest --coverage",
2222
"test-live": "npm run test-watch __tests__/unit/",
2323
"test-watch": "cross-env DEBUG_MODE=1 jest --watch",

packages/vrender-components/tsconfig.test.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"extends": "./tsconfig.json",
33
"compilerOptions": {
4+
"sourceMap": true,
45
"paths": {
56
"@visactor/vrender": ["../vrender/src"],
67
"@visactor/vrender-core": ["../vrender-core/src"],

packages/vrender-core/jest.config.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,28 @@
11
module.exports = {
2-
runner: 'jest-electron/runner',
3-
testEnvironment: 'jest-electron/environment',
2+
testEnvironment: '../../share/jest-config/jest-environment-jsdom-26.js',
3+
testEnvironmentOptions: {
4+
pretendToBeVisual: true
5+
},
46
testTimeout: 30000,
57
testRegex: '/__tests__/.*test\\.ts?$',
68
moduleFileExtensions: ['ts', 'js', 'json'],
79
setupFilesAfterEnv: ['jest-extended/all'],
810
preset: 'ts-jest',
911
silent: true,
12+
useStderr: false,
1013
globals: {
1114
'ts-jest': {
1215
tsconfig: {
1316
resolveJsonModule: true,
1417
esModuleInterop: true,
1518
experimentalDecorators: true,
16-
module: 'ESNext'
19+
module: 'ESNext',
20+
sourceMap: true
1721
}
1822
},
1923
__DEV__: true
2024
},
21-
setupFiles: ['./setup-mock.js'],
25+
setupFiles: ['../../share/jest-config/setup-jsdom-canvas.js', './setup-mock.js'],
2226
verbose: true,
2327
coverageReporters: ['json-summary', 'lcov', 'text'],
2428
coveragePathIgnorePatterns: ['node_modules', '__tests__', 'interface.ts', '.d.ts', 'typings'],

packages/vrender-core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"build-umd": "cross-env DEBUG='Bundler*' bundle --clean -f umd",
2323
"dev": "cross-env DEBUG='Bundler*' bundle --clean -f es -w",
2424
"start": "vite ./__tests__/browser",
25-
"test": "jest",
25+
"test": "jest 2>&1",
2626
"test-live": "npm run test-watch __tests__/unit/theme/line.test.ts",
2727
"test-watch": "cross-env DEBUG_MODE=1 jest --watch",
2828
"test-cov": "jest -w 16 --coverage",

packages/vrender/jest.config.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ module.exports = {
44
runner: 'jest-electron/runner',
55
testEnvironment: 'jest-electron/environment',
66
testTimeout: 30000,
7+
maxWorkers: 1,
78
testRegex: '/__tests__/.*test\\.ts?$',
89
moduleFileExtensions: ['ts', 'js', 'json'],
910
setupFilesAfterEnv: ['jest-extended/all'],
1011
preset: 'ts-jest',
1112
silent: true,
13+
useStderr: false,
1214
globals: {
1315
'ts-jest': {
1416
resolveJsonModule: true,

packages/vrender/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"build-umd": "cross-env DEBUG='Bundler*' bundle --clean -f umd",
1919
"dev": "cross-env DEBUG='Bundler*' bundle --clean -f es -w",
2020
"start": "vite ./__tests__/browser --host",
21-
"test": "jest",
21+
"test": "jest 2>&1",
2222
"test-cov": "jest -w 16 --coverage",
2323
"test-live": "npm run test-watch __tests__/unit/theme/line.test.ts",
2424
"test-watch": "cross-env DEBUG_MODE=1 jest --watch"

0 commit comments

Comments
 (0)