You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

588 lines
16 KiB

import moment from 'moment';
import React from 'react';
import ConfigProvider from '..';
import Alert from '../../alert';
import Anchor from '../../anchor';
import AutoComplete from '../../auto-complete';
import Avatar from '../../avatar';
import BackTop from '../../back-top';
import Badge from '../../badge';
import Breadcrumb from '../../breadcrumb';
import Button from '../../button';
import Calendar from '../../calendar';
import Card from '../../card';
import Carousel from '../../carousel';
import Cascader from '../../cascader';
import Checkbox from '../../checkbox';
import Collapse from '../../collapse';
import Comment from '../../comment';
import DatePicker from '../../date-picker';
import Divider from '../../divider';
import Drawer from '../../drawer';
import Dropdown from '../../dropdown';
import Empty from '../../empty';
import Form from '../../form';
import { Col, Row } from '../../grid';
import Input from '../../input';
import InputNumber from '../../input-number';
import Layout from '../../layout';
import List from '../../list';
import Menu from '../../menu';
import Modal from '../../modal';
import PageHeader from '../../page-header';
import Pagination from '../../pagination';
import Popconfirm from '../../popconfirm';
import Popover from '../../popover';
import Progress from '../../progress';
import Radio from '../../radio';
import Rate from '../../rate';
import Select from '../../select';
import Skeleton from '../../skeleton';
import Slider from '../../slider';
import Spin from '../../spin';
import Statistic from '../../statistic';
import Steps from '../../steps';
import Switch from '../../switch';
import type { ColumnsType } from '../../table';
import Table from '../../table';
import Tabs from '../../tabs';
import Tag from '../../tag';
import TimePicker from '../../time-picker';
import Timeline from '../../timeline';
import Tooltip from '../../tooltip';
import Transfer from '../../transfer';
import Tree from '../../tree';
import TreeSelect from '../../tree-select';
import Upload from '../../upload';
import { render } from '../../../tests/utils';
jest.mock('rc-util/lib/Portal');
describe('ConfigProvider', () => {
describe('components', () => {
function testPair(name: string, renderComponent: (props?: any) => React.ReactElement): void {
const isArray = ['Menu', 'TimePicker', 'Tooltip'].includes(name);
describe(`${name}`, () => {
// normal
it('normal', () => {
const { container } = render(renderComponent({}));
expect(isArray ? Array.from(container.children) : container.firstChild).toMatchSnapshot();
});
// prefixCls
it('prefixCls', () => {
const { container } = render(renderComponent({ prefixCls: `prefix-${name}` }));
expect(isArray ? Array.from(container.children) : container.firstChild).toMatchSnapshot();
});
// configProvider
it('configProvider', () => {
const { container } = render(
<ConfigProvider pageHeader={{ ghost: false }} prefixCls="config">
{renderComponent({})}
</ConfigProvider>,
);
expect(isArray ? Array.from(container.children) : container.firstChild).toMatchSnapshot();
});
it('configProvider componentSize large', () => {
const { container } = render(
<ConfigProvider componentSize="large" prefixCls="config">
{renderComponent({})}
</ConfigProvider>,
);
expect(isArray ? Array.from(container.children) : container.firstChild).toMatchSnapshot();
});
it('configProvider componentSize middle', () => {
const { container } = render(
<ConfigProvider componentSize="middle" prefixCls="config">
{renderComponent({})}
</ConfigProvider>,
);
expect(isArray ? Array.from(container.children) : container.firstChild).toMatchSnapshot();
});
it('configProvider componentDisabled', () => {
const { container } = render(
<ConfigProvider componentDisabled prefixCls="config">
{renderComponent({})}
</ConfigProvider>,
);
expect(isArray ? Array.from(container.children) : container.firstChild).toMatchSnapshot();
});
it('configProvider virtual and dropdownMatchSelectWidth', () => {