React 的事件测试代码
jest.mock('../events/isEventSupported'); describe('EventPluginHub', () => { let React; let ReactDOM; let container; beforeEach(() => { jest.resetModules(); React = require('react'); ReactDOM = require('react-dom'); container = document.createElement('div'); document.body.appendChild(container); }); afterEach(() => { document.body.removeChild(container); container = null; }); it('should prevent non-function listeners, at dispatch', () => { let node; expect(() => { node = ReactDOM.render(<div onClick="not a function" />, container); }).toWarnDev( 'Expected `onClick` listener to be a function, instead got a value of `string` type.', ); let uncaughtErrors = []; function handleWindowError(e) { uncaughtErrors.push(e.error); } window.addEventListener('error', handleWindowError); try { node.dispatchEvent( new MouseEvent('click', { bubbles: true, }), ); } finally { window.removeEventListener('error', handleWindowError); } expect(uncaughtErrors.length).toBe(1); expect(uncaughtErrors[0]).toEqual( expect.objectContaining({ message: 'Expected `onClick` listener to be a function, ' + 'instead got a value of `string` type.', }), ); }); it('should not prevent null listeners, at dispatch', () => { const node = ReactDOM.render(<div onClick={null} />, container); node.dispatchEvent( new MouseEvent('click', { bubbles: true, }), ); }); });
相关推荐
-
util.js javascript
2019-1-7
-
全选,全不选,反选(jquery终极版) javascript
2019-1-7
-
输入身份证号码,subString截取出生日,并判断性别 javascript
2019-1-8
-
html5本地缓存 javascript
2019-1-7
-
js移动设备判断方法大全 javascript
2019-1-8
-
发送验证码定时器 javascript
2019-1-8
-
js测试密码的强度 javascript
2019-1-8
-
JavaScript数组知识 javascript
2019-1-8
-
数组去重 javascript
2019-1-8
-
移动端、pc端通用点击复制 javascript
2019-1-7