| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | import { Toast, Icon, Button } from '../../index';import { advanceBy, advanceTo, clear } from 'jest-date-mock';import sleep from '@douyinfe/semi-ui/_test_/utils/function/sleep';import { BASE_CLASS_PREFIX } from '../../../semi-foundation/base/constants';import { JSDOM } from 'jsdom';import { mount } from 'enzyme';describe('Toast - 2', () => {    beforeEach(() => {        // semi-animation会使用Date.now(),所以这里需要clear掉全局的advanceTo对Date的修改        clear();        const tw = document.querySelector(`.${BASE_CLASS_PREFIX}-toast-wrapper`);        if (tw) {            tw.innerHTML = '';        }    });    afterEach(() => {});    it('close via command call & duration = 0', async () => {        let opts = {            content: 'close by manual',            duration: 0,            motion:false        };        let id = Toast.info(opts);        let toast = document.getElementsByClassName(`${BASE_CLASS_PREFIX}-toast-info`);        expect(toast.length).toEqual(1);        Toast.close(id);        // wait, make sure react had update render content        await sleep(400);        expect(toast.length).toEqual(0);    });    it('different type toast', () => {        Toast.info({ content: 'info' });        Toast.success({ content: 'success' });        Toast.warning({ content: 'warning' });        Toast.error({ content: 'error' });        expect(document.querySelector(`.${BASE_CLASS_PREFIX}-toast-info .${BASE_CLASS_PREFIX}-toast-content-text`).innerHTML).toEqual('info');        expect(document.querySelector(`.${BASE_CLASS_PREFIX}-toast-success .${BASE_CLASS_PREFIX}-toast-content-text`).innerHTML).toEqual('success');        expect(document.querySelector(`.${BASE_CLASS_PREFIX}-toast-warning .${BASE_CLASS_PREFIX}-toast-content-text`).innerHTML).toEqual('warning');        expect(document.querySelector(`.${BASE_CLASS_PREFIX}-toast-error .${BASE_CLASS_PREFIX}-toast-content-text`).innerHTML).toEqual('error');    });    it('top/bottom/right/left', () => {        let opts = {            content: 'Hi, Bytedance dance dance',            duration: 0,            top: 500,            left: 20,            bottom: 30,            right: 40,        };        Toast.info(opts);        let toastWrapper = document.getElementsByClassName(`${BASE_CLASS_PREFIX}-toast-wrapper`)[0];        let style = toastWrapper.style;        expect(style.top).toEqual('500px');        expect(style.left).toEqual('20px');        expect(style.bottom).toEqual('30px');        expect(style.right).toEqual('40px');    });});
 |