ant-design/components/tabs/__tests__/index.test.js
陈帅 0d1b1c40a6
merge featrue into master (#30636)
* feat: add Table expandable fixed (#29959)

* fix: Use flex gap of space (#30023)

* fix: use flex gap when supported

* test: update snapshot

* refactor: Use single hooks

* feat: Allow breadcrumb component in PageHeader (#30019)

* Allow breadcrumb component in PageHeader

* Allow breadcrumb component in PageHeader

* Allow breadcrumb component in PageHeader

* Rename variable

rename var from _breadcrumbRender to breadcrumbRenderDomFromProps

* feat: add onChange for Statistic.Countdown (#30265)

* feat: add onChange for countdown

* update the demo

* feat(upload): add onDrop (#30319)

* feat(upload): Add onDrop

* Replace "if prop" logic with existential operator

* Remove redundant conditional

* feat(upload): itemRender add actions params (#30236)

* feat(upload): itemRender add actions params

* chore: optimize type definition

* chore: update doc

* chore: rename actions

* chore: trigger ci

* chore: rename method name of actions

* feat: Add missing dutch translations (#30389)

* feat: Add missing dutch translations

* fix: Translate remaining english values

* fix: Update snapshot for ui tests

* test: increase code coverage to 100% (#30415)

* test: fix Space code coverage

* test: should use nl_BE locale for DatePicker

* fix: Switch tabIndex type (#30416)

* feat: updated Romanian internationalization (#30419)

* feat: updated Romanian internationalization

* fixed lint error

* feat: Menu support accessibility & keyboard access (#30382)

* chore: Use focus style

* fix: prefixCls

* fix: prefixCls

* fix: inline tooltip

* fix: inlineCollapse logic

* fix: ts definition

* test: Update snapshot

* test: Update snapshot

* fix: dropdown logic

* test: Update snapshot

* test: Fix some test  case

* bump rc-menu

* test: More test case

* fix test finder

* test: fix test case

* test: Update snapshot

* test: Update snapshot

* chore: Update ssr effect

* test: Update ConfigProvider snapshot

* test: Fix Table Filter test case

* test: Fix table test case

* chore: Update style

* chore: beauti css

* bump rc-menu

* test: update snapshot

* test: update snapshot

* test: Fix menu test

* test: Fix test case

* test: Coverage

* chore: clean up

* bump rc-menu

* ehance accessibility style

* feat(radioGroup): support data-* and aria-* props (#30507)

close #30501

* feat: Typography add italic type (#30458)

* Typography增加斜体字支持

* update snapshot

* 文档添加版本号

Co-authored-by: lidahao <lidahao@sisyphe.com.cn>

* chore: alpha Menu fix merge (#30546)

* chore: Update script

* bump alpha version

* chore: Update script desc

* chore: bump rc-tabs & rc-mentions

* chore: Adjust style

* chore: 4.16.0-alpha.1

* test: Fix mention test case

* fix: sider of layout width style

* chore: bump 4.16.0-alpha.2

* fix: Tabs tabBarGutter should work as expected (#30545)

close #30526

* feat: Table summary support sticky mode (#30631)

* chore: Bump rc-table

* feat: Patch summary fixed color

* fix: style className

* test: Update snapshot

Co-authored-by: xrkffgg <xrkffgg@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: 二货机器人 <smith3816@gmail.com>
Co-authored-by: gepd <guillermoepd@hotmail.com>
Co-authored-by: appleshell <appleshell@outlook.com>
Co-authored-by: Eric Bonow <ebonow@hotmail.com>
Co-authored-by: xrkffgg <xrkffgg@vip.qq.com>
Co-authored-by: Kermit <kermitlx@outlook.com>
Co-authored-by: Lewis <lewisfidlers@gmail.com>
Co-authored-by: afc163 <afc163@gmail.com>
Co-authored-by: Ștefan Filip <stefy.filip@gmail.com>
Co-authored-by: vldh <alwaysloseall@sina.com>
Co-authored-by: lidahao <lidahao@sisyphe.com.cn>
2021-05-24 16:24:00 +08:00

96 lines
2.5 KiB
JavaScript

import React from 'react';
import { mount, render } from 'enzyme';
import Tabs from '..';
import mountTest from '../../../tests/shared/mountTest';
import rtlTest from '../../../tests/shared/rtlTest';
const { TabPane } = Tabs;
describe('Tabs', () => {
mountTest(() => (
<Tabs>
<TabPane tab="xx" key="xx" />
</Tabs>
));
rtlTest(() => (
<Tabs>
<TabPane tab="xx" key="xx" />
</Tabs>
));
describe('editable-card', () => {
let handleEdit;
let wrapper;
beforeEach(() => {
handleEdit = jest.fn();
wrapper = mount(
<Tabs type="editable-card" onEdit={handleEdit}>
<TabPane tab="foo" key="1">
foo
</TabPane>
{undefined}
{null}
{false}
</Tabs>,
);
});
it('add card', () => {
wrapper.find('.ant-tabs-nav-add').first().simulate('click');
expect(handleEdit.mock.calls[0][1]).toBe('add');
});
it('remove card', () => {
wrapper.find('.anticon-close').simulate('click');
expect(handleEdit).toHaveBeenCalledWith('1', 'remove');
});
it('validateElement', () => {
expect(wrapper.find('.ant-tabs-tab').length).toBe(1);
});
});
describe('tabPosition', () => {
it('remove card', () => {
const wrapper = render(
<Tabs tabPosition="left" tabBarExtraContent="xxx">
<TabPane tab="foo" key="1">
foo
</TabPane>
</Tabs>,
);
expect(wrapper).toMatchSnapshot();
});
});
describe('renderTabBar', () => {
it('custom-tab-bar', () => {
const wrapper = render(
<Tabs renderTabBar={() => <div>custom-tab-bar</div>}>
<TabPane tab="foo" key="1">
foo
</TabPane>
</Tabs>,
);
expect(wrapper).toMatchSnapshot();
});
});
it('warning for onNextClick', () => {
const errorSpy = jest.spyOn(console, 'error').mockImplementation(() => {});
mount(<Tabs onNextClick={() => {}} />);
expect(errorSpy).toHaveBeenCalledWith(
'Warning: [antd: Tabs] `onPrevClick` and `onNextClick` has been removed. Please use `onTabScroll` instead.',
);
errorSpy.mockRestore();
});
it('tabBarGutter should work', () => {
const wrapper = mount(<Tabs tabBarGutter={0}><TabPane /><TabPane /><TabPane /></Tabs>);
expect(wrapper).toMatchRenderedSnapshot();
const wrapper2 = mount(<Tabs tabBarGutter={0} tabPosition="left"><TabPane /><TabPane /><TabPane /></Tabs>);
expect(wrapper2).toMatchRenderedSnapshot();
});
});