| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | 
							- /* eslint-disable max-len */
 
- import React from 'react';
 
- import { mount } from 'enzyme';
 
- import Radio from '../index';
 
- import RadioInner from '../radioInner';
 
- import { BASE_CLASS_PREFIX } from '../../../semi-foundation/base/constants';
 
- describe('radio', () => {
 
-     it('radio should work basically', () => {
 
-         const radio = mount(
 
-             <Radio />
 
-         );
 
-         const radioDOM = radio.find('input');
 
-         expect(radioDOM.exists()).toEqual(true);
 
-         expect(Boolean(radioDOM.checked)).toEqual(false);
 
-         expect(Boolean(radioDOM.disabled)).toEqual(false);
 
-     });
 
-     it('radio default checked', () => {
 
-         const radio = mount(
 
-             <Radio checked />
 
-         );
 
-         const radioDOM = radio.find('input').getDOMNode();
 
-         expect(Boolean(radioDOM.checked)).toEqual(true);
 
-     });
 
-     it('radio default disabled', () => {
 
-         const radio = mount(
 
-             <Radio disabled />
 
-         );
 
-         const radioDOM = radio.find('input').getDOMNode();
 
-         expect(Boolean(radioDOM.disabled)).toEqual(true);
 
-     });
 
-     it('radio onChange', () => {
 
-         const onChange = sinon.spy(value => {});
 
-         const onChange2 = sinon.spy(value => {});
 
-         const radio = mount(<Radio onChange={onChange} />);
 
-         const advancedRadio = mount(<Radio mode="advanced" onChange={onChange2} />);
 
-         // 普通 Radio
 
-         const elem = radio.find('input');
 
-         elem.simulate('change', { target: { checked: true } });
 
-         expect(onChange.calledOnce).toBe(true);
 
-         expect(onChange.getCall(0).args[0].target.checked).toBe(true);
 
-         // mode=advanced Radio
 
-         const elem2 = advancedRadio.find('input');
 
-         elem2.simulate('change', { target: { checked: true } });
 
-         expect(onChange2.calledOnce).toBe(true);
 
-         // 验证是否能正确获取参数
 
-         expect(onChange2.getCall(0).args[0].target.checked).toBe(true);
 
-     });
 
-     it('radio advanced mode', () => {
 
-         // Radio即使不是mode=advanced测试时也可以通过调用onChange修改选中状态
 
-         // 而用户点击时,由于input的type为radio,用户点击这时不会触发onChange
 
-         // 这个用例用于验证onChange是否能跑通
 
-         const onChange = sinon.spy(value => {});
 
-         const wrapper = mount(<Radio mode="advanced" onChange={onChange}>允许取消选择</Radio>);
 
-         const radioInner = wrapper.find(RadioInner);
 
-         wrapper
 
-             .find('input')
 
-             .first()
 
-             .simulate('change', { target: { checked: true, stopPropagation: () => {}, preventDefault: () => {} } });
 
-         expect(radioInner.state().checked).toBe(true);
 
-         wrapper
 
-             .find('input')
 
-             .first()
 
-             .simulate('change', { target: { checked: false, stopPropagation: () => {}, preventDefault: () => {} } });
 
-         expect(radioInner.state().checked).toBe(false);
 
-     });
 
-     it('radio button style', () => {
 
-         const radio = mount(
 
-             <Radio type="button" />
 
-         );
 
-         expect(radio.exists(`.${BASE_CLASS_PREFIX}-radio-buttonRadioComponent`)).toEqual(true);
 
-     });
 
- });
 
 
  |