diff --git a/packages/components/auto-complete/__tests__/vitest-auto-complete.test.jsx b/packages/components/auto-complete/__tests__/vitest-auto-complete.test.jsx
index 59b4af2314..35b4935114 100644
--- a/packages/components/auto-complete/__tests__/vitest-auto-complete.test.jsx
+++ b/packages/components/auto-complete/__tests__/vitest-auto-complete.test.jsx
@@ -5,7 +5,8 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
-import { fireEvent, vi, render, mockDelay, simulateKeydownEvent } from '@test/utils';
+import { fireEvent, mockDelay, render, simulateKeydownEvent, vi } from '@test/utils';
+
import { AutoComplete } from '..';
import { getNormalAutoCompleteMount, getOptionSlotAutoCompleteMount } from './mount';
diff --git a/packages/components/avatar/__tests__/mount.jsx b/packages/components/avatar/__tests__/mount.jsx
index c67879db71..55f1c7a9dd 100644
--- a/packages/components/avatar/__tests__/mount.jsx
+++ b/packages/components/avatar/__tests__/mount.jsx
@@ -1,5 +1,6 @@
import React from 'react';
import { render } from '@test/utils';
+
import { Avatar } from '..';
// Avatar 数量变化会影响测试用例结果
@@ -8,10 +9,10 @@ export function getAvatarGroupDefaultMount(AvatarGroup, props, events) {
W
- } />
+ } />
TD
ME
-
+ ,
);
}
diff --git a/packages/components/avatar/__tests__/vitest-avatar.test.jsx b/packages/components/avatar/__tests__/vitest-avatar.test.jsx
index 206935472c..9652d46c76 100644
--- a/packages/components/avatar/__tests__/vitest-avatar.test.jsx
+++ b/packages/components/avatar/__tests__/vitest-avatar.test.jsx
@@ -5,7 +5,8 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
-import { fireEvent, vi, render, mockDelay, simulateImageEvent } from '@test/utils';
+import { fireEvent, mockDelay, render, simulateImageEvent, vi } from '@test/utils';
+
import { Avatar, AvatarGroup } from '..';
import { getAvatarGroupDefaultMount } from './mount';
diff --git a/packages/components/back-top/__tests__/vitest-back-top.test.jsx b/packages/components/back-top/__tests__/vitest-back-top.test.jsx
index b967865792..71fd3b1e8b 100644
--- a/packages/components/back-top/__tests__/vitest-back-top.test.jsx
+++ b/packages/components/back-top/__tests__/vitest-back-top.test.jsx
@@ -5,7 +5,8 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
-import { fireEvent, vi, render } from '@test/utils';
+import { fireEvent, render, vi } from '@test/utils';
+
import { BackTop } from '..';
describe('BackTop Component', () => {
diff --git a/packages/components/button/__tests__/vitest-button.test.jsx b/packages/components/button/__tests__/vitest-button.test.jsx
index d4e7bba212..2560f39e0d 100644
--- a/packages/components/button/__tests__/vitest-button.test.jsx
+++ b/packages/components/button/__tests__/vitest-button.test.jsx
@@ -5,7 +5,8 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
-import { fireEvent, vi, render } from '@test/utils';
+import { fireEvent, render, vi } from '@test/utils';
+
import { Button } from '..';
describe('Button Component', () => {
diff --git a/packages/components/divider/__tests__/vitest-divider.test.jsx b/packages/components/divider/__tests__/vitest-divider.test.jsx
index 18b0080107..ac52383856 100644
--- a/packages/components/divider/__tests__/vitest-divider.test.jsx
+++ b/packages/components/divider/__tests__/vitest-divider.test.jsx
@@ -5,6 +5,7 @@
*/
import React from 'react';
import { render } from '@test/utils';
+
import { Divider } from '..';
describe('Divider Component', () => {
diff --git a/packages/components/guide/__tests__/mount.jsx b/packages/components/guide/__tests__/mount.jsx
index 40d6fc0bb9..1a3b36d9c5 100644
--- a/packages/components/guide/__tests__/mount.jsx
+++ b/packages/components/guide/__tests__/mount.jsx
@@ -1,8 +1,9 @@
import React from 'react';
import { render } from '@test/utils';
-import Input from '../../input';
+
import Button from '../../button';
import { Row } from '../../grid';
+import Input from '../../input';
function GuideContent() {
return (
@@ -56,7 +57,7 @@ export function getGuideDefaultMount(Guide, props, events) {
-
+ ,
);
}
@@ -66,32 +67,32 @@ export function getGuideMultipleStepsMount(Guide, props, events) {
-
+ ,
);
}
// custom step props
export function getCustomGuideStepMount(Guide, props) {
- const steps = [{ ...STEPS[0], ...props}]
+ const steps = [{ ...STEPS[0], ...props }];
return render(
-
+ ,
);
}
// custom multiple step props
export function getCustomMultipleGuideStepMount(Guide, props) {
const { current = 0, ...guideStepProps } = props;
- let steps = [...STEPS];
+ const steps = [...STEPS];
steps[current] = { ...STEPS[current], ...guideStepProps };
return render(
-
+ ,
);
}
-export default {}
+export default {};
diff --git a/packages/components/guide/__tests__/vitest-guide.test.jsx b/packages/components/guide/__tests__/vitest-guide.test.jsx
index 7db3285870..0eaa6915bc 100644
--- a/packages/components/guide/__tests__/vitest-guide.test.jsx
+++ b/packages/components/guide/__tests__/vitest-guide.test.jsx
@@ -5,13 +5,14 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
-import { fireEvent, vi, render, mockDelay } from '@test/utils';
+import { fireEvent, mockDelay, render, vi } from '@test/utils';
+
import { Guide } from '..';
import {
- getGuideDefaultMount,
- getGuideMultipleStepsMount,
getCustomGuideStepMount,
getCustomMultipleGuideStepMount,
+ getGuideDefaultMount,
+ getGuideMultipleStepsMount,
} from './mount';
describe('Guide Component', () => {
diff --git a/packages/components/image/__tests__/lazy.test.jsx b/packages/components/image/__tests__/lazy.test.jsx
index f095c77f0f..c3400b858d 100644
--- a/packages/components/image/__tests__/lazy.test.jsx
+++ b/packages/components/image/__tests__/lazy.test.jsx
@@ -1,7 +1,8 @@
import React from 'react';
-import { fireEvent, render, mockIntersectionObserver } from '@test/utils';
-import { Image } from '..';
+import { fireEvent, mockIntersectionObserver, render } from '@test/utils';
+
import Space from '../../space';
+import { Image } from '..';
describe('Image Component', () => {
beforeAll(() => {
@@ -17,7 +18,7 @@ describe('Image Component', () => {
callback([{ isIntersecting: true }]);
}
});
- }
+ };
mockIntersectionObserver({}, { observe });
});
@@ -26,24 +27,21 @@ describe('Image Component', () => {
const { container } = render(
- {
- Array.from({ length: 16 }).map((_, index) => (
-
- ))
- }
-
+ {Array.from({ length: 16 }).map((_, index) => (
+
+ ))}
+ ,
);
const spaceElement = container.querySelector('.t-space');
fireEvent.scroll(spaceElement, { target: { scrollY: 400 } });
// 滚动后,第一张图片会加载,但后面的图片不会加载
- expect(spaceElement.firstChild.querySelector('img')).not.toBeNull()
- expect(spaceElement.lastChild.querySelector('img')).toBeNull()
-
+ expect(spaceElement.firstChild.querySelector('img')).not.toBeNull();
+ expect(spaceElement.lastChild.querySelector('img')).toBeNull();
});
});
diff --git a/packages/components/image/__tests__/mount.jsx b/packages/components/image/__tests__/mount.jsx
index 5aa239efb4..748821dd0b 100644
--- a/packages/components/image/__tests__/mount.jsx
+++ b/packages/components/image/__tests__/mount.jsx
@@ -2,16 +2,16 @@ import React from 'react';
import { render } from '@test/utils';
function ImageOverlay() {
- return 预览
+ return 预览
;
}
export function getOverlayImageMount(Image, props, events) {
return render(
}
{...props}
{...events}
- >
+ >,
);
}
diff --git a/packages/components/image/__tests__/vitest-image.test.jsx b/packages/components/image/__tests__/vitest-image.test.jsx
index 8607aca52e..b1c3090c13 100644
--- a/packages/components/image/__tests__/vitest-image.test.jsx
+++ b/packages/components/image/__tests__/vitest-image.test.jsx
@@ -5,7 +5,8 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
-import { fireEvent, vi, render, mockDelay, simulateImageEvent } from '@test/utils';
+import { fireEvent, mockDelay, render, simulateImageEvent, vi } from '@test/utils';
+
import { Image } from '..';
import { getOverlayImageMount } from './mount';
diff --git a/packages/components/input/__tests__/mount.jsx b/packages/components/input/__tests__/mount.jsx
index 99d2567571..68bb9aa314 100644
--- a/packages/components/input/__tests__/mount.jsx
+++ b/packages/components/input/__tests__/mount.jsx
@@ -1,5 +1,6 @@
import React from 'react';
import { render } from '@test/utils';
+
import { Input } from '..';
export function getInputGroupDefaultMount(InputGroup, props) {
diff --git a/packages/components/input/__tests__/vitest-input.test.jsx b/packages/components/input/__tests__/vitest-input.test.jsx
index d8962729a7..cd56b32324 100644
--- a/packages/components/input/__tests__/vitest-input.test.jsx
+++ b/packages/components/input/__tests__/vitest-input.test.jsx
@@ -5,7 +5,8 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
-import { fireEvent, vi, render, mockDelay, simulateInputChange } from '@test/utils';
+import { fireEvent, mockDelay, render, simulateInputChange, vi } from '@test/utils';
+
import { Input, InputGroup } from '..';
import { getInputGroupDefaultMount } from './mount';
diff --git a/packages/components/link/__tests__/vitest-link.test.jsx b/packages/components/link/__tests__/vitest-link.test.jsx
index 49bc1d3fde..6f02bab9aa 100644
--- a/packages/components/link/__tests__/vitest-link.test.jsx
+++ b/packages/components/link/__tests__/vitest-link.test.jsx
@@ -5,7 +5,8 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
-import { fireEvent, vi, render } from '@test/utils';
+import { fireEvent, render, vi } from '@test/utils';
+
import { Link } from '..';
describe('Link Component', () => {
diff --git a/packages/components/message/__tests__/message.test.jsx b/packages/components/message/__tests__/message.test.jsx
index de705013eb..06e56c0df9 100644
--- a/packages/components/message/__tests__/message.test.jsx
+++ b/packages/components/message/__tests__/message.test.jsx
@@ -1,5 +1,4 @@
import React from 'react';
-import { fireEvent, mockTimeout, render, vi, waitFor } from '@test/utils';
import {
CheckCircleFilledIcon,
ErrorCircleFilledIcon,
@@ -8,6 +7,8 @@ import {
InfoCircleFilledIcon,
LoadingIcon,
} from 'tdesign-icons-react';
+import { fireEvent, mockTimeout, render, vi, waitFor } from '@test/utils';
+
import Message, { MessagePlugin } from '../index';
const defaultMessage = '默认的message';
diff --git a/packages/components/radio/__tests__/mount.jsx b/packages/components/radio/__tests__/mount.jsx
index 4190bce676..62ae9340a6 100644
--- a/packages/components/radio/__tests__/mount.jsx
+++ b/packages/components/radio/__tests__/mount.jsx
@@ -1,5 +1,6 @@
import React from 'react';
import { render } from '@test/utils';
+
import { Radio } from '..';
// options 写法
diff --git a/packages/components/radio/__tests__/vitest-radio.test.jsx b/packages/components/radio/__tests__/vitest-radio.test.jsx
index 6fe2edf469..ffaa0e3be4 100644
--- a/packages/components/radio/__tests__/vitest-radio.test.jsx
+++ b/packages/components/radio/__tests__/vitest-radio.test.jsx
@@ -5,9 +5,10 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
-import { fireEvent, vi, render } from '@test/utils';
+import { fireEvent, render, vi } from '@test/utils';
+
import { Radio, RadioGroup } from '..';
-import { getRadioGroupKidsMount, getRadioGroupDefaultMount } from './mount';
+import { getRadioGroupDefaultMount, getRadioGroupKidsMount } from './mount';
describe('Radio Component', () => {
it('props.allowUncheck works fine', () => {
diff --git a/packages/components/select-input/__tests__/mount.jsx b/packages/components/select-input/__tests__/mount.jsx
index e26b14b3ed..02cab580df 100644
--- a/packages/components/select-input/__tests__/mount.jsx
+++ b/packages/components/select-input/__tests__/mount.jsx
@@ -13,7 +13,7 @@ const OPTIONS = [
function Panel() {
return (
- {OPTIONS.map(item => (
+ {OPTIONS.map((item) => (
-
{item.label}
@@ -33,15 +33,5 @@ const value = [
// single select
export function getSelectInputMultipleMount(SelectInput, props, events) {
- return render(
-
- )}
- {...props}
- {...events}
- >
- );
+ return render(} {...props} {...events}>);
}
diff --git a/packages/components/select-input/__tests__/vitest-select-input.test.jsx b/packages/components/select-input/__tests__/vitest-select-input.test.jsx
index f6b3408f4b..f05a0c73b4 100644
--- a/packages/components/select-input/__tests__/vitest-select-input.test.jsx
+++ b/packages/components/select-input/__tests__/vitest-select-input.test.jsx
@@ -5,7 +5,8 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
-import { fireEvent, vi, render, mockDelay } from '@test/utils';
+import { fireEvent, mockDelay, render, vi } from '@test/utils';
+
import { SelectInput } from '..';
import { getSelectInputMultipleMount } from './mount';
diff --git a/packages/components/space/__tests__/mount.jsx b/packages/components/space/__tests__/mount.jsx
index 6298a09a41..c4e6fd1d92 100644
--- a/packages/components/space/__tests__/mount.jsx
+++ b/packages/components/space/__tests__/mount.jsx
@@ -1,5 +1,6 @@
import React from 'react';
import { render } from '@test/utils';
+
import { Button } from '../../button';
export function getSpaceDefaultMount(Space, props, events) {
@@ -8,7 +9,7 @@ export function getSpaceDefaultMount(Space, props, events) {
-
+ ,
);
}
diff --git a/packages/components/space/__tests__/vitest-space.test.jsx b/packages/components/space/__tests__/vitest-space.test.jsx
index eed437f43c..094ac1922b 100644
--- a/packages/components/space/__tests__/vitest-space.test.jsx
+++ b/packages/components/space/__tests__/vitest-space.test.jsx
@@ -5,6 +5,7 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
+
import { Space } from '..';
import { getSpaceDefaultMount } from './mount';
diff --git a/packages/components/table/__tests__/expand.test.jsx b/packages/components/table/__tests__/expand.test.jsx
index bb2559ffba..0c04e55811 100644
--- a/packages/components/table/__tests__/expand.test.jsx
+++ b/packages/components/table/__tests__/expand.test.jsx
@@ -1,6 +1,7 @@
import React from 'react';
import { fireEvent, render, vi } from '@test/utils';
-import { Table, PrimaryTable, EnhancedTable } from '..';
+
+import { EnhancedTable, PrimaryTable, Table } from '..';
const data = new Array(5).fill(null).map((item, index) => ({
id: index + 100,
@@ -36,7 +37,7 @@ TABLES.forEach((TTable) => {
expandedRow={() => expanded row
}
>,
);
- expect(container.querySelector('.t-table__expandable-icon-cell')).toBeTruthy();
+ expect(container.querySelector(EXPAND_CELL)).toBeTruthy();
expect(container.querySelector('.t-table__expanded-row')).toBeFalsy();
});
diff --git a/packages/components/table/__tests__/mount.jsx b/packages/components/table/__tests__/mount.jsx
index 6539d41b71..e780008a6e 100644
--- a/packages/components/table/__tests__/mount.jsx
+++ b/packages/components/table/__tests__/mount.jsx
@@ -36,31 +36,19 @@ export function getNormalTableMount(TTable, props) {
footData={getTableData(2)}
columns={SIMPLE_COLUMNS}
{...props}
- >
+ >,
);
}
export function getEmptyDataTableMount(TTable, props) {
- return render(
-
- );
+ return render();
}
/** 获取用于本地数据分页的表格数据(受控和非受控测试) */
export function getDataLengthLargerThanPageSizeTableMount(TTable, props, rerender) {
const renderFun = rerender || render;
return renderFun(
-
+ ,
);
}
@@ -70,11 +58,6 @@ export function getDataLengthLargerThanPageSizeTableMount(TTable, props, rerende
export function getNormalCountDataTableMount(TTable, props, rerender) {
const renderFun = rerender || render;
return renderFun(
-
+ ,
);
}
diff --git a/packages/components/table/__tests__/vitest-table.test.jsx b/packages/components/table/__tests__/vitest-table.test.jsx
index d9378759b2..349c695249 100644
--- a/packages/components/table/__tests__/vitest-table.test.jsx
+++ b/packages/components/table/__tests__/vitest-table.test.jsx
@@ -4,8 +4,9 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
+
import { BaseTable } from '..';
-import { getNormalTableMount, getEmptyDataTableMount } from './mount';
+import { getEmptyDataTableMount, getNormalTableMount } from './mount';
describe('BaseTable Component', () => {
it('props.bordered works fine', () => {
diff --git a/packages/components/tag-input/__tests__/mount.jsx b/packages/components/tag-input/__tests__/mount.jsx
index 440c362ecc..9a83c63938 100644
--- a/packages/components/tag-input/__tests__/mount.jsx
+++ b/packages/components/tag-input/__tests__/mount.jsx
@@ -3,15 +3,11 @@ import { render } from '@test/utils';
// empty value
export function getTagInputDefaultMount(TagInput, props, events) {
- return render(
-
- );
+ return render();
}
// with default value
export function getTagInputValueMount(TagInput, props, events) {
const value = ['tdesign-vue', 'tdesign-react', 'tdesign-miniprogram', 'tdesign-mobile-vue', 'tdesign-mobile-react'];
- return render(
-
- );
+ return render();
}
diff --git a/packages/components/tag-input/__tests__/vitest-tag-input.test.jsx b/packages/components/tag-input/__tests__/vitest-tag-input.test.jsx
index 33dd7ea419..c5ad747925 100644
--- a/packages/components/tag-input/__tests__/vitest-tag-input.test.jsx
+++ b/packages/components/tag-input/__tests__/vitest-tag-input.test.jsx
@@ -5,9 +5,10 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
-import { fireEvent, vi, render, mockDelay, simulateInputChange, simulateInputEnter } from '@test/utils';
+import { fireEvent, mockDelay, render, simulateInputChange, simulateInputEnter, vi } from '@test/utils';
+
import { TagInput } from '..';
-import { getTagInputValueMount, getTagInputDefaultMount } from './mount';
+import { getTagInputDefaultMount, getTagInputValueMount } from './mount';
describe('TagInput Component', () => {
it('props.clearable: empty TagInput does not need clearIcon', async () => {
diff --git a/packages/components/tag/__tests__/vitest-tag.test.jsx b/packages/components/tag/__tests__/vitest-tag.test.jsx
index 9067a542b3..e3a90eb87c 100644
--- a/packages/components/tag/__tests__/vitest-tag.test.jsx
+++ b/packages/components/tag/__tests__/vitest-tag.test.jsx
@@ -5,8 +5,9 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
-import { fireEvent, vi, render } from '@test/utils';
-import { Tag, CheckTag } from '..';
+import { fireEvent, render, vi } from '@test/utils';
+
+import { CheckTag, Tag } from '..';
describe('Tag Component', () => {
it('props.children works fine', () => {
diff --git a/packages/components/timeline/__tests__/mount.jsx b/packages/components/timeline/__tests__/mount.jsx
index 6cef60b14b..4cd616d31a 100644
--- a/packages/components/timeline/__tests__/mount.jsx
+++ b/packages/components/timeline/__tests__/mount.jsx
@@ -1,5 +1,6 @@
import React from 'react';
import { render } from '@test/utils';
+
import { Timeline } from '../../timeline';
export function getTimelineDefaultMount(Timeline, props, events) {
@@ -8,21 +9,25 @@ export function getTimelineDefaultMount(Timeline, props, events) {
Event1
Event2
Event3
- Event4
-
+
+ Event4
+
+ ,
);
}
// labelAlign 优先级比较
export function getTimelineItemMount(TimelineItem, props) {
return render(
-
- Event1
+
+
+ Event1
+
Event2
Event3
Event4
-
+ ,
);
}
-export default getTimelineDefaultMount
+export default getTimelineDefaultMount;
diff --git a/packages/components/timeline/__tests__/vitest-timeline.test.jsx b/packages/components/timeline/__tests__/vitest-timeline.test.jsx
index ce4983323c..40fb8a6194 100644
--- a/packages/components/timeline/__tests__/vitest-timeline.test.jsx
+++ b/packages/components/timeline/__tests__/vitest-timeline.test.jsx
@@ -5,7 +5,8 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
-import { fireEvent, vi, render } from '@test/utils';
+import { fireEvent, render, vi } from '@test/utils';
+
import { Timeline, TimelineItem } from '..';
import { getTimelineDefaultMount, getTimelineItemMount } from './mount';
diff --git a/packages/components/tree-select/__tests__/mount.jsx b/packages/components/tree-select/__tests__/mount.jsx
index 28e1d0c199..919ab5f650 100644
--- a/packages/components/tree-select/__tests__/mount.jsx
+++ b/packages/components/tree-select/__tests__/mount.jsx
@@ -18,25 +18,11 @@ const OPTIONS = [
];
export function getTreeSelectDefaultMount(TreeSelect, props, events) {
- return render(
-
- );
+ return render();
}
// single select
export function getTreeSelectMultipleMount(TreeSelect, props, events) {
const value = [1, 2, 3, '4', '5'];
- return render(
-
- );
+ return render();
}
diff --git a/packages/components/tree-select/__tests__/vitest-tree-select.test.jsx b/packages/components/tree-select/__tests__/vitest-tree-select.test.jsx
index ae5d317782..2eafddd269 100644
--- a/packages/components/tree-select/__tests__/vitest-tree-select.test.jsx
+++ b/packages/components/tree-select/__tests__/vitest-tree-select.test.jsx
@@ -7,13 +7,14 @@
import React from 'react';
import {
fireEvent,
- vi,
- render,
mockDelay,
- simulateInputChange,
+ render,
simulateDocumentMouseEvent,
+ simulateInputChange,
simulateInputEnter,
+ vi,
} from '@test/utils';
+
import { TreeSelect } from '..';
import { getTreeSelectDefaultMount, getTreeSelectMultipleMount } from './mount';
diff --git a/packages/components/tree/__tests__/vitest-tree.test.jsx b/packages/components/tree/__tests__/vitest-tree.test.jsx
index cf7ebfb2ac..10a6686b03 100644
--- a/packages/components/tree/__tests__/vitest-tree.test.jsx
+++ b/packages/components/tree/__tests__/vitest-tree.test.jsx
@@ -5,7 +5,8 @@
* If you need to modify this file, contact PMC first please.
*/
import React from 'react';
-import { fireEvent, vi, mockDelay } from '@test/utils';
+import { fireEvent, mockDelay, vi } from '@test/utils';
+
import { Tree } from '..';
import { getTreeDefaultMount } from './mount';
diff --git a/packages/components/upload/__tests__/request/index.js b/packages/components/upload/__tests__/request/index.js
index 5f1e87c016..d1ad7774fe 100644
--- a/packages/components/upload/__tests__/request/index.js
+++ b/packages/components/upload/__tests__/request/index.js
@@ -1,37 +1,48 @@
-import { setupServer } from 'msw/node';
import { rest } from 'msw';
+import { setupServer } from 'msw/node';
export function getUploadServer() {
- return setupServer(...[
- // mock file upload success
- rest.post('https://tdesign.test.com/upload/file_success', (req, res, ctx) => {
- return res(ctx.status(200), ctx.json({
- ret: 0,
- data: {
- name: 'tdesign.min.js',
- url: 'https://tdesign.gtimg.com/site/spline/script/tdesign.min.js'
- }
- }))
- }),
- // mock image upload success
- rest.post('https://tdesign.test.com/upload/image_success', (req, res, ctx) => {
- return res(ctx.status(200), ctx.json({
- code: 200,
- name: 'demo-image-1.png',
- url: 'https://tdesign.gtimg.com/demo/demo-image-1.png'
- }))
- }),
- // mock upload failed on status
- rest.post('https://tdesign.test.com/upload/fail/status_error', (req, res, ctx) => {
- return res(ctx.status(500), ctx.json({}))
- }),
- // mock upload failed in response
- rest.post('https://tdesign.test.com/upload/fail/response_error', (req, res, ctx) => {
- return res(ctx.status(200), ctx.json({
- code: 1001,
- name: 'file-name.txt',
- error: 'upload failed'
- }))
- }),
- ])
+ return setupServer(
+ ...[
+ // mock file upload success
+ rest.post('https://tdesign.test.com/upload/file_success', (req, res, ctx) => {
+ return res(
+ ctx.status(200),
+ ctx.json({
+ ret: 0,
+ data: {
+ name: 'tdesign.min.js',
+ url: 'https://tdesign.gtimg.com/site/spline/script/tdesign.min.js',
+ },
+ }),
+ );
+ }),
+ // mock image upload success
+ rest.post('https://tdesign.test.com/upload/image_success', (req, res, ctx) => {
+ return res(
+ ctx.status(200),
+ ctx.json({
+ code: 200,
+ name: 'demo-image-1.png',
+ url: 'https://tdesign.gtimg.com/demo/demo-image-1.png',
+ }),
+ );
+ }),
+ // mock upload failed on status
+ rest.post('https://tdesign.test.com/upload/fail/status_error', (req, res, ctx) => {
+ return res(ctx.status(500), ctx.json({}));
+ }),
+ // mock upload failed in response
+ rest.post('https://tdesign.test.com/upload/fail/response_error', (req, res, ctx) => {
+ return res(
+ ctx.status(200),
+ ctx.json({
+ code: 1001,
+ name: 'file-name.txt',
+ error: 'upload failed',
+ }),
+ );
+ }),
+ ],
+ );
}
diff --git a/packages/components/upload/__tests__/vitest-upload.test.jsx b/packages/components/upload/__tests__/vitest-upload.test.jsx
index c1ab14f9cf..49a3a432f4 100644
--- a/packages/components/upload/__tests__/vitest-upload.test.jsx
+++ b/packages/components/upload/__tests__/vitest-upload.test.jsx
@@ -7,13 +7,14 @@
import React from 'react';
import {
fireEvent,
- vi,
- render,
- mockDelay,
- simulateFileChange,
getFakeFileList,
+ mockDelay,
+ render,
simulateDragFileChange,
+ simulateFileChange,
+ vi,
} from '@test/utils';
+
import { Upload } from '..';
import { getUploadServer } from './request';
@@ -363,6 +364,7 @@ describe('Upload Component', () => {
const fn = vi.fn();
render(
fs.existsSync(path.join(analysisDir, file)));
+const existingFiles = analysisFiles.filter((file) => fs.existsSync(path.join(analysisDir, file)));
if (existingFiles.length === 0) {
- console.log('❌ 未找到分析报告,请运行: ANALYZE=true npm run build:aigc');
+ console.info('❌ 未找到分析报告,请运行: ANALYZE=true npm run build:aigc');
process.exit(1);
}
-console.log('📊 可用的分析报告:');
+console.info('📊 可用的分析报告:');
existingFiles.forEach((file, index) => {
const filePath = path.join(analysisDir, file);
const size = (fs.statSync(filePath).size / 1024).toFixed(2);
- console.log(`${index + 1}. ${file} (${size} KB)`);
+ console.info(`${index + 1}. ${file} (${size} KB)`);
});
-console.log('\n🚀 快速操作:');
-console.log('open packages/tdesign-react-aigc/bundle-analysis/stats-es.html');
-console.log('\n🔄 重新分析:');
-console.log('ANALYZE=true npm run build:aigc && node script/analyze-aigc-bundle.js');
\ No newline at end of file
+console.info('\n🚀 快速操作:');
+console.info('open packages/tdesign-react-aigc/bundle-analysis/stats-es.html');
+console.info('\n🔄 重新分析:');
+console.info('ANALYZE=true npm run build:aigc && node script/analyze-aigc-bundle.js');
diff --git a/script/generate-coverage.js b/script/generate-coverage.js
index a8266fe98a..3775ea3c7e 100644
--- a/script/generate-coverage.js
+++ b/script/generate-coverage.js
@@ -14,7 +14,7 @@ function resolveCwd(...args) {
fs.readFile(resolveCwd('test/coverage/index.html'), 'utf8', (err, html) => {
if (err) {
- console.log('please execute npm run test:unit-coverage first!', err);
+ console.error('please execute npm run test:unit-coverage first!', err);
return;
}
if (!err) {
@@ -52,6 +52,6 @@ fs.readFile(resolveCwd('test/coverage/index.html'), 'utf8', (err, html) => {
const finalRes = `module.exports = ${JSON.stringify(resultCoverage, null, 2)};\n`;
fs.writeFileSync(resolveCwd('packages/tdesign-react/site/test-coverage.js'), finalRes);
- console.log('successful re-generate coverage');
+ console.info('successful re-generate coverage');
}
});
diff --git a/script/generate-usage/index.js b/script/generate-usage/index.js
index eca4a0e6de..c4115a91d9 100644
--- a/script/generate-usage/index.js
+++ b/script/generate-usage/index.js
@@ -45,10 +45,8 @@ export default function Usage() {
// 自动化生成 live demo 脚本
function genUsage() {
for (const name of Object.keys(config)) {
- try {
- const fileFolderPath = path.resolve(__dirname, `../../packages/components/${name}/_usage`);
- fs.mkdirSync(fileFolderPath);
- } catch {}
+ const fileFolderPath = path.resolve(__dirname, `../../packages/components/${name}/_usage`);
+ fs.mkdirSync(fileFolderPath, { recursive: true });
try {
const data = renderUsageStr(config[name]);
@@ -57,7 +55,7 @@ function genUsage() {
} catch (err) {
console.error(`${name} usage 组件生成失败...`, err);
}
- console.log(`${name} usage 组件生成成功...`);
+ console.info(`${name} usage 组件生成成功...`);
}
}
diff --git a/script/init-component/index.js b/script/init-component/index.js
index 68b60e4c2c..4c66735cfd 100644
--- a/script/init-component/index.js
+++ b/script/init-component/index.js
@@ -21,9 +21,9 @@ const cwdPath = process.cwd();
function createFile(path, data = '', desc) {
fs.writeFile(path, data, (err) => {
if (err) {
- console.log(err, 'error');
+ console.error(err);
} else {
- console.log(`> ${desc}\n${path} file has been created successfully!`, 'success');
+ console.info(`> ${desc}\n${path} file has been created successfully!`);
}
});
}
@@ -49,10 +49,10 @@ function addComponent(toBeCreatedFiles, component) {
const d = path.resolve(cwdPath, dir);
fs.mkdir(d, { recursive: true }, (err) => {
if (err) {
- console.log(err, 'error');
+ console.error(err);
return;
}
- console.log(`${d} directory has been created successfully!`);
+ console.info(`${d} directory has been created successfully!`);
// Then, we create files for components.
const contents = toBeCreatedFiles[dir];
contents.files.forEach((item) => {
@@ -83,16 +83,16 @@ function insertComponentToIndex(component, indexPath) {
const desc = '> insert component into index.ts';
let data = fs.readFileSync(indexPath).toString();
if (data.match(new RegExp(importPath))) {
- console.log(`there is already ${component} in /src/index.ts`, 'notice');
+ console.info(`there is already ${component} in /src/index.ts`);
return;
}
// insert component at last import and component lines.
data = data.replace(importPattern, (a) => `${a}\n${importPath}`).replace(cmpPattern, (a) => `${a} ${upper},\n`);
fs.writeFile(indexPath, data, (err) => {
if (err) {
- console.log(err, 'error');
+ console.error(err);
} else {
- console.log(`${desc}\n${component} has been inserted into /src/index.ts`, 'success');
+ console.info(`${desc}\n${component} has been inserted into /src/index.ts`);
}
});
}
diff --git a/script/pnpm-dev-preinstall.js b/script/pnpm-dev-preinstall.js
index b56c000b32..2927626b67 100644
--- a/script/pnpm-dev-preinstall.js
+++ b/script/pnpm-dev-preinstall.js
@@ -1,12 +1,12 @@
-const child_process = require('child_process');
+const { execSync } = require('child_process');
function initSubmodule() {
if (process.env.CI) {
return;
}
try {
- child_process.execSync('git submodule update --init', { stdio: 'inherit' });
- console.log('子模块初始化成功');
+ execSync('git submodule update --init', { stdio: 'inherit' });
+ console.info('子模块初始化成功');
} catch (error) {
console.error(`子模块初始化失败: ${error.message}`);
}
diff --git a/script/rollup.aigc.config.js b/script/rollup.aigc.config.js
index 609144cdae..15e25254ca 100644
--- a/script/rollup.aigc.config.js
+++ b/script/rollup.aigc.config.js
@@ -1,16 +1,17 @@
-import url from '@rollup/plugin-url';
-import json from '@rollup/plugin-json';
-import babel from '@rollup/plugin-babel';
-import styles from 'rollup-plugin-styles';
+import { resolve } from 'path';
+
+import analyzer from 'rollup-plugin-analyzer';
import esbuild from 'rollup-plugin-esbuild';
-import replace from '@rollup/plugin-replace';
+import multiInput from 'rollup-plugin-multi-input';
+import styles from 'rollup-plugin-styles';
import { terser } from 'rollup-plugin-terser';
-import commonjs from '@rollup/plugin-commonjs';
import { DEFAULT_EXTENSIONS } from '@babel/core';
-import multiInput from 'rollup-plugin-multi-input';
+import babel from '@rollup/plugin-babel';
+import commonjs from '@rollup/plugin-commonjs';
+import json from '@rollup/plugin-json';
import nodeResolve from '@rollup/plugin-node-resolve';
-import analyzer from 'rollup-plugin-analyzer';
-import { resolve } from 'path';
+import replace from '@rollup/plugin-replace';
+import url from '@rollup/plugin-url';
import pkg from '../packages/tdesign-react-aigc/package.json';
diff --git a/script/rollup.config.js b/script/rollup.config.js
index c27c102be1..6f524e8d9d 100644
--- a/script/rollup.config.js
+++ b/script/rollup.config.js
@@ -1,21 +1,22 @@
-import url from '@rollup/plugin-url';
-import json from '@rollup/plugin-json';
-import babel from '@rollup/plugin-babel';
-import styles from 'rollup-plugin-styles';
+import { join, resolve } from 'path';
+
+import { copy as fileCopy } from 'fs-extra';
+import analyzer from 'rollup-plugin-analyzer';
import copy from 'rollup-plugin-copy';
import esbuild from 'rollup-plugin-esbuild';
+import ignoreImport from 'rollup-plugin-ignore-import';
+import multiInput from 'rollup-plugin-multi-input';
import postcss from 'rollup-plugin-postcss';
-import replace from '@rollup/plugin-replace';
-import analyzer from 'rollup-plugin-analyzer';
+import staticImport from 'rollup-plugin-static-import';
+import styles from 'rollup-plugin-styles';
import { terser } from 'rollup-plugin-terser';
-import commonjs from '@rollup/plugin-commonjs';
import { DEFAULT_EXTENSIONS } from '@babel/core';
-import multiInput from 'rollup-plugin-multi-input';
+import babel from '@rollup/plugin-babel';
+import commonjs from '@rollup/plugin-commonjs';
+import json from '@rollup/plugin-json';
import nodeResolve from '@rollup/plugin-node-resolve';
-import staticImport from 'rollup-plugin-static-import';
-import ignoreImport from 'rollup-plugin-ignore-import';
-import { resolve, join } from 'path';
-import { copy as fileCopy } from 'fs-extra';
+import replace from '@rollup/plugin-replace';
+import url from '@rollup/plugin-url';
import pkg from '../packages/tdesign-react/package.json';
@@ -292,7 +293,7 @@ function postWritePlugin() {
try {
// 并行复制到所有目标路径
await Promise.all(destArray.map((dest) => fileCopy(src, dest)));
- console.log('adapter has been coped.');
+ console.info('adapter has been coped.');
} catch (err) {
console.error('copy failed:', err);
}
diff --git a/test/scripts/setup-framework.js b/test/scripts/setup-framework.js
index dff2bd4669..474f3d02a9 100644
--- a/test/scripts/setup-framework.js
+++ b/test/scripts/setup-framework.js
@@ -1,6 +1,7 @@
// setup file
import 'babel-polyfill';
import '@testing-library/jest-dom/extend-expect';
+
import ResizeObserver from 'resize-observer-polyfill';
global.ResizeObserver = ResizeObserver;
diff --git a/test/snap/csr.test.jsx b/test/snap/csr.test.jsx
index c14dc8a0de..eb5db49b90 100644
--- a/test/snap/csr.test.jsx
+++ b/test/snap/csr.test.jsx
@@ -1,8 +1,9 @@
import React from 'react';
-import { render } from '@test/utils';
import glob from 'glob';
import MockDate from 'mockdate';
import { vi } from 'vitest';
+import { render } from '@test/utils';
+
import { IGNORE_ASYNC_EXAMPLE_LIST } from './ssr.test';
// 固定时间,当使用 new Date() 时,返回固定时间,防止“当前时间”的副作用影响,导致 snapshot 变更,mockDate 插件见 https://github.com/boblauer/MockDate
diff --git a/test/snap/ssr.test.jsx b/test/snap/ssr.test.jsx
index 9fb4f47782..bf6e479fb0 100644
--- a/test/snap/ssr.test.jsx
+++ b/test/snap/ssr.test.jsx
@@ -1,8 +1,8 @@
+import React from 'react';
+import { renderToString } from 'react-dom/server';
import glob from 'glob';
import MockDate from 'mockdate';
import { vi } from 'vitest';
-import React from 'react';
-import { renderToString } from 'react-dom/server';
// 固定时间,当使用 new Date() 时,返回固定时间,防止“当前时间”的副作用影响,导致 snapshot 变更,mockdate 插件见 https://github.com/boblauer/MockDate
MockDate.set('2020-12-28 00:00:00');
diff --git a/test/utils/events.js b/test/utils/events.js
index 1dd436fdf6..885f39132b 100644
--- a/test/utils/events.js
+++ b/test/utils/events.js
@@ -1,21 +1,21 @@
export const EVENTS_MAP = {
- 'mousedown': 'mouseDown',
- 'mouseenter': 'mouseEnter',
- 'mouseleave': 'mouseLeave',
- 'mousemove': 'mouseMove',
- 'mouseout': 'mouseOut',
- 'mouseover': 'mouseOver',
- 'mouseup': 'mouseUp',
- 'keydown': 'keyDown',
- 'keypress': 'keyPress',
- 'keyup': 'keyUp',
- 'dragend': 'dragEnd',
- 'dragenter': 'dragEnter',
- 'dragexit': 'dragExit',
- 'dragleave': 'dragLeave',
- 'dragover': 'dragOver',
- 'dragstart': 'dragStart',
- 'compositionend': 'compositionEnd',
- 'compositionstart': 'compositionStart',
- 'compositionupdate': 'compositionUpdate',
+ mousedown: 'mouseDown',
+ mouseenter: 'mouseEnter',
+ mouseleave: 'mouseLeave',
+ mousemove: 'mouseMove',
+ mouseout: 'mouseOut',
+ mouseover: 'mouseOver',
+ mouseup: 'mouseUp',
+ keydown: 'keyDown',
+ keypress: 'keyPress',
+ keyup: 'keyUp',
+ dragend: 'dragEnd',
+ dragenter: 'dragEnter',
+ dragexit: 'dragExit',
+ dragleave: 'dragLeave',
+ dragover: 'dragOver',
+ dragstart: 'dragStart',
+ compositionend: 'compositionEnd',
+ compositionstart: 'compositionStart',
+ compositionupdate: 'compositionUpdate',
};
diff --git a/test/utils/index.jsx b/test/utils/index.jsx
index 9bd47c3b7e..f9c9a9b24c 100644
--- a/test/utils/index.jsx
+++ b/test/utils/index.jsx
@@ -1,7 +1,8 @@
import '@testing-library/jest-dom';
+
+import { vi } from 'vitest';
import { act, createEvent, fireEvent } from '@testing-library/react';
import _userEvent from '@testing-library/user-event';
-import { vi } from 'vitest';
import { EVENTS_MAP } from './events';