diff --git a/components/_util/wave.tsx b/components/_util/wave.tsx index 9869cb9d83..7a00f4598f 100644 --- a/components/_util/wave.tsx +++ b/components/_util/wave.tsx @@ -50,7 +50,9 @@ export default class Wave extends React.Component<{insertExtraNode?: boolean}> { } bindAnimationEvent = (node: HTMLElement) => { - if (node.getAttribute('disabled') || + if (!node || + !node.getAttribute || + node.getAttribute('disabled') || node.className.indexOf('disabled') >= 0) { return; } diff --git a/components/button/__tests__/index.test.js b/components/button/__tests__/index.test.js index d6e2542294..73fb645047 100644 --- a/components/button/__tests__/index.test.js +++ b/components/button/__tests__/index.test.js @@ -1,5 +1,6 @@ import React, { Component } from 'react'; import { render, mount } from 'enzyme'; +import renderer from 'react-test-renderer'; import Button from '..'; import Icon from '../../icon'; @@ -11,6 +12,13 @@ describe('Button', () => { expect(wrapper).toMatchSnapshot(); }); + it('mount correctly', () => { + const wrapper = mount( + + ); + expect(() => renderer.create(wrapper).toJSON()).not.toThrow(); + }); + it('renders Chinese characters correctly', () => { const wrapper = render(