import React from 'react'; import { mount } from 'enzyme'; import Wave from '../wave'; import ConfigProvider from '../../config-provider'; import mountTest from '../../../tests/shared/mountTest'; import { sleep } from '../../../tests/utils'; describe('Wave component', () => { mountTest(Wave); afterEach(() => { const styles = document.getElementsByTagName('style'); for (let i = 0; i < styles.length; i += 1) { styles[i].remove(); } }); it('isHidden works', () => { const TEST_NODE_ENV = process.env.NODE_ENV; process.env.NODE_ENV = 'development'; const wrapper = mount(); expect(wrapper.find('button').getDOMNode().className).toBe(''); wrapper.find('button').getDOMNode().click(); expect(wrapper.find('button').getDOMNode().hasAttribute('ant-click-animating-without-extra-node')).toBe(false); wrapper.unmount(); process.env.NODE_ENV = TEST_NODE_ENV; }); it('isHidden is mocked', () => { const wrapper = mount(); expect(wrapper.find('button').getDOMNode().className).toBe(''); wrapper.find('button').getDOMNode().click(); expect(wrapper.find('button').getDOMNode().getAttribute('ant-click-animating-without-extra-node')).toBe('false'); wrapper.unmount(); }); it('wave color is grey', async () => { const wrapper = mount(); wrapper.find('button').getDOMNode().click(); await sleep(0); const styles = document.getElementsByTagName('style'); expect(styles.length).toBe(0); wrapper.unmount(); }); it('wave color is not grey', async () => { const wrapper = mount(); wrapper.find('button').getDOMNode().click(); await sleep(200); const styles = document.getElementsByTagName('style'); expect(styles.length).toBe(1); expect(styles[0].innerHTML).toContain('--antd-wave-shadow-color: red;'); wrapper.unmount(); }); it('read wave color from border-top-color', async () => { const wrapper = mount(
button
); wrapper.find('div').getDOMNode().click(); await sleep(0); const styles = document.getElementsByTagName('style'); expect(styles.length).toBe(1); expect(styles[0].innerHTML).toContain('--antd-wave-shadow-color: blue;'); wrapper.unmount(); }); it('read wave color from background color', async () => { const wrapper = mount(
button
); wrapper.find('div').getDOMNode().click(); await sleep(0); const styles = document.getElementsByTagName('style'); expect(styles.length).toBe(1); expect(styles[0].innerHTML).toContain('--antd-wave-shadow-color: green;'); wrapper.unmount(); }); it('read wave color from border firstly', async () => { const wrapper = mount(
button
); wrapper.find('div').getDOMNode().click(); await sleep(0); const styles = document.getElementsByTagName('style'); expect(styles.length).toBe(1); expect(styles[0].innerHTML).toContain('--antd-wave-shadow-color: yellow;'); wrapper.unmount(); }); it('hidden element with -leave className', async () => { const wrapper = mount(); wrapper.find('button').getDOMNode().click(); await sleep(0); const styles = document.getElementsByTagName('style'); expect(styles.length).toBe(0); wrapper.unmount(); }); it('ConfigProvider csp', async () => { const wrapper = mount( , ); wrapper.find('button').getDOMNode().click(); await sleep(0); const styles = document.getElementsByTagName('style'); expect(styles[0].getAttribute('nonce')).toBe('YourNonceCode'); wrapper.unmount(); }); });