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(