diff --git a/components/locale-provider/__tests__/__snapshots__/index.test.js.snap b/components/locale-provider/__tests__/__snapshots__/index.test.js.snap index 5e89792961..a2e01cc62e 100644 --- a/components/locale-provider/__tests__/__snapshots__/index.test.js.snap +++ b/components/locale-provider/__tests__/__snapshots__/index.test.js.snap @@ -5419,7 +5419,8 @@ exports[`Locale Provider should display the text as ar 1`] = ` - 0 عنصر + 0 + عنصر - 0 عنصر + 0 + عنصر - 0 item + 0 + item - 0 item + 0 + item - 0 избор + 0 + избор - 0 избор + 0 + избор - 0 আইটেম + 0 + আইটেম - 0 আইটেম + 0 + আইটেম - 0 элем. + 0 + элем. - 0 элем. + 0 + элем. - 0 ítem + 0 + ítem - 0 ítem + 0 + ítem - 0 položka + 0 + položka - 0 položka + 0 + položka - 0 element + 0 + element - 0 element + 0 + element - 0 Eintrag + 0 + Eintrag - 0 Eintrag + 0 + Eintrag - 0 αντικείμενο + 0 + αντικείμενο - 0 αντικείμενο + 0 + αντικείμενο - 0 item + 0 + item - 0 item + 0 + item - 0 item + 0 + item - 0 item + 0 + item - 0 elemento + 0 + elemento - 0 elemento + 0 + elemento - 0 kogus + 0 + kogus - 0 kogus + 0 + kogus - 0 عدد + 0 + عدد - 0 عدد + 0 + عدد - 0 kohde + 0 + kohde - 0 kohde + 0 + kohde - 0 élément + 0 + élément - 0 élément + 0 + élément - 0 élément + 0 + élément - 0 élément + 0 + élément - 0 élément + 0 + élément - 0 élément + 0 + élément - 0 item + 0 + item - 0 item + 0 + item - 0 elemento + 0 + elemento - 0 elemento + 0 + elemento - 0 פריט + 0 + פריט - 0 פריט + 0 + פריט - 0 तत्त्व + 0 + तत्त्व - 0 तत्त्व + 0 + तत्त्व - 0 stavka + 0 + stavka - 0 stavka + 0 + stavka - 0 elem + 0 + elem - 0 elem + 0 + elem - 0 պարագան + 0 + պարագան - 0 պարագան + 0 + պարագան - 0 item + 0 + item - 0 item + 0 + item - 0 færsla + 0 + færsla - 0 færsla + 0 + færsla - 0 elemento + 0 + elemento - 0 elemento + 0 + elemento - 0 アイテム + 0 + アイテム - 0 アイテム + 0 + アイテム - 0 ერთეული + 0 + ერთეული - 0 ერთეული + 0 + ერთეული - 0 элемент. + 0 + элемент. - 0 элемент. + 0 + элемент. - 0 + 0 - 0 + 0 - 0 ವಿಷಯ + 0 + ವಿಷಯ - 0 ವಿಷಯ + 0 + ವಿಷಯ - 0 개 + 0 + 개 - 0 개 + 0 + 개 - 0 tişt + 0 + tişt - 0 tişt + 0 + tişt - 0 tişt + 0 + tişt - 0 tişt + 0 + tişt - 0 vnt. + 0 + vnt. - 0 vnt. + 0 + vnt. - 0 vienumu + 0 + vienumu - 0 vienumu + 0 + vienumu - 0 предмет + 0 + предмет - 0 предмет + 0 + предмет - 0 ഇനം + 0 + ഇനം - 0 ഇനം + 0 + ഇനം - 0 Зүйл + 0 + Зүйл - 0 Зүйл + 0 + Зүйл - 0 item + 0 + item - 0 item + 0 + item - 0 element + 0 + element - 0 element + 0 + element - 0 वस्तु + 0 + वस्तु - 0 वस्तु + 0 + वस्तु - 0 item + 0 + item - 0 item + 0 + item - 0 item + 0 + item - 0 item + 0 + item - 0 obiekt + 0 + obiekt - 0 obiekt + 0 + obiekt - 0 item + 0 + item - 0 item + 0 + item - 0 item + 0 + item - 0 item + 0 + item - 0 element + 0 + element - 0 element + 0 + element - 0 элем. + 0 + элем. - 0 элем. + 0 + элем. - 0 අථකය + 0 + අථකය - 0 අථකය + 0 + අථකය - 0 položka + 0 + položka - 0 položka + 0 + položka - 0 Objekt + 0 + Objekt - 0 Objekt + 0 + Objekt - 0 stavka + 0 + stavka - 0 stavka + 0 + stavka - 0 objekt + 0 + objekt - 0 objekt + 0 + objekt - 0 தகவல் + 0 + தகவல் - 0 தகவல் + 0 + தகவல் - 0 ชิ้น + 0 + ชิ้น - 0 ชิ้น + 0 + ชิ้น - 0 elem. + 0 + elem. - 0 elem. + 0 + elem. - 0 Öğe + 0 + Öğe - 0 Öğe + 0 + Öğe - 0 елем. + 0 + елем. - 0 елем. + 0 + елем. - 0 شے + 0 + شے - 0 شے + 0 + شے - 0 mục + 0 + mục - 0 mục + 0 + mục - 0 项 + 0 + 项 - 0 项 + 0 + 项 - 0 項目 + 0 + 項目 - 0 項目 + 0 + 項目 - 0 項目 + 0 + 項目 - 0 項目 + 0 + 項目 { const countRef = useRef(0); @@ -19,7 +17,7 @@ const CacheInner = memo(() => { ); }); -const CacheOuter = () => { +const CacheOuter: React.FC = () => { // We use 'useState' here in order to trigger parent component rendering. const [count, setCount] = useState(1); const handleClick = () => { @@ -41,13 +39,13 @@ const CacheOuter = () => { }; it("Rendering on LocaleProvider won't trigger rendering on child component.", () => { - const wrapper = mount(); - wrapper.find('#parent_btn').at(0).simulate('click'); - expect(wrapper.find('#parent_count').text()).toBe('2'); + const { container } = render(); + fireEvent.click(container.querySelector('#parent_btn')!); + expect(container.querySelector('#parent_count')?.innerHTML).toBe('2'); // child component won't rerender - expect(wrapper.find('#child_count').text()).toBe('1'); - wrapper.find('#parent_btn').at(0).simulate('click'); - expect(wrapper.find('#parent_count').text()).toBe('3'); + expect(container.querySelector('#child_count')?.innerHTML).toBe('1'); + fireEvent.click(container.querySelector('#parent_btn')!); + expect(container.querySelector('#parent_count')?.innerHTML).toBe('3'); // child component won't rerender - expect(wrapper.find('#child_count').text()).toBe('1'); + expect(container.querySelector('#child_count')?.innerHTML).toBe('1'); }); diff --git a/components/locale-provider/__tests__/config.test.js b/components/locale-provider/__tests__/config.test.tsx similarity index 77% rename from components/locale-provider/__tests__/config.test.js rename to components/locale-provider/__tests__/config.test.tsx index 49c5d95f56..40accd70de 100644 --- a/components/locale-provider/__tests__/config.test.js +++ b/components/locale-provider/__tests__/config.test.tsx @@ -1,12 +1,11 @@ -import { mount } from 'enzyme'; import React from 'react'; import { act } from 'react-dom/test-utils'; import { Modal } from '../..'; -import { sleep } from '../../../tests/utils'; +import { sleep, render, fireEvent } from '../../../tests/utils'; import ConfigProvider from '../../config-provider'; import zhCN from '../zh_CN'; -class Demo extends React.Component { +class Demo extends React.Component<{ type: string }> { static defaultProps = {}; componentDidMount() { @@ -24,8 +23,8 @@ describe('Locale Provider demo', () => { it('change type', async () => { jest.useFakeTimers(); - const BasicExample = () => { - const [type, setType] = React.useState(''); + const BasicExample: React.FC = () => { + const [type, setType] = React.useState(''); return (
setType('about')}> @@ -49,21 +48,21 @@ describe('Locale Provider demo', () => {
); }; - const wrapper = mount(); + const { container } = render(); - wrapper.find('.about').at(0).simulate('click'); + fireEvent.click(container.querySelector('.about')!); await act(async () => { jest.runAllTimers(); await sleep(); }); - wrapper.find('.dashboard').at(0).simulate('click'); + fireEvent.click(container.querySelector('.dashboard')!); await act(async () => { jest.runAllTimers(); await sleep(); }); - expect(document.body.querySelectorAll('.ant-btn-primary span')[0].textContent).toBe('确 定'); + expect(document.body.querySelectorAll('.ant-btn-primary span')[0]?.textContent).toBe('确 定'); Modal.destroyAll(); jest.useRealTimers(); }); diff --git a/components/locale-provider/__tests__/index.test.js b/components/locale-provider/__tests__/index.test.js index 0114a0a4bd..4ff5e71291 100644 --- a/components/locale-provider/__tests__/index.test.js +++ b/components/locale-provider/__tests__/index.test.js @@ -1,8 +1,8 @@ /* eslint-disable react/no-multi-comp */ -import { mount } from 'enzyme'; import MockDate from 'mockdate'; import moment from 'moment'; import React from 'react'; +import { render } from '../../../tests/utils'; import LocaleProvider from '..'; import { Calendar, @@ -16,7 +16,6 @@ import { Transfer, } from '../..'; import mountTest from '../../../tests/shared/mountTest'; -import { act } from '../../../tests/utils'; import arEG from '../ar_EG'; import azAZ from '../az_AZ'; import bgBG from '../bg_BG'; @@ -162,17 +161,9 @@ const columns = [ { title: 'Name', dataIndex: 'name', - filters: [ - { - text: 'filter1', - value: 'filter1', - }, - ], - }, - { - title: 'Age', - dataIndex: 'age', + filters: [{ text: 'filter1', value: 'filter1' }], }, + { title: 'Age', dataIndex: 'age' }, ]; const App = () => ( @@ -214,52 +205,36 @@ describe('Locale Provider', () => { locales.forEach(locale => { it(`should display the text as ${locale.locale}`, () => { - const wrapper = mount( + const { container } = render( , ); - expect(wrapper.render()).toMatchSnapshot(); + expect(container.firstChild).toMatchSnapshot(); }); }); it('should change locale of Modal.xxx', () => { - class ModalDemo extends React.Component { - componentDidMount() { - jest.useFakeTimers(); - Modal.confirm({ - title: 'Hello World!', - }); - act(() => { - jest.runAllTimers(); - }); - jest.useRealTimers(); - } - - render() { - return null; - } - } locales.forEach(locale => { - mount( + const { container } = render( - + + Modal + , ); - const currentConfirmNode = - document.querySelectorAll('.ant-modal-confirm')[ - document.querySelectorAll('.ant-modal-confirm').length - 1 - ]; - let cancelButtonText = currentConfirmNode.querySelectorAll( - '.ant-btn:not(.ant-btn-primary) span', - )[0].innerHTML; - let okButtonText = currentConfirmNode.querySelectorAll('.ant-btn-primary span')[0].innerHTML; - if (locale.locale.indexOf('zh-') === 0) { + let cancelButtonText = container.firstChild.querySelector( + 'button.ant-btn-default span', + )?.innerHTML; + let okButtonText = container.firstChild.querySelector( + 'button.ant-btn-primary span', + )?.innerHTML; + if (locale.locale.includes('zh-')) { cancelButtonText = cancelButtonText.replace(' ', ''); okButtonText = okButtonText.replace(' ', ''); } - expect(cancelButtonText).toBe(locale.Modal.cancelText); - expect(okButtonText).toBe(locale.Modal.okText); + expect(cancelButtonText).toBe(locale.Modal?.cancelText); + expect(okButtonText).toBe(locale.Modal?.okText); }); }); @@ -272,11 +247,13 @@ describe('Locale Provider', () => { ); - const wrapper = mount(); - expect(wrapper.render()).toMatchSnapshot(); - wrapper.setProps({ locale: frFR }); - expect(wrapper.render()).toMatchSnapshot(); - wrapper.setProps({ locale: null }); - expect(wrapper.render()).toMatchSnapshot(); + const { container, rerender } = render(); + expect(container.firstChild).toMatchSnapshot(); + + rerender(); + expect(container.firstChild).toMatchSnapshot(); + + rerender(); + expect(container.firstChild).toMatchSnapshot(); }); });