diff --git a/test/unit/specs/radio.spec.js b/test/unit/specs/radio.spec.js new file mode 100644 index 00000000..daab6e9b --- /dev/null +++ b/test/unit/specs/radio.spec.js @@ -0,0 +1,96 @@ +import { createVue } from '../util'; + +describe('Radio', () => { + it('create', done => { + const vm = createVue({ + template: ` + + + `, + data() { + return { + radio: '' + }; + } + }, true); + let radioElm = vm.$el; + expect(radioElm.classList.contains('el-radio')).to.be.true; + radioElm.click(); + vm.$nextTick(_ => { + expect(radioElm.querySelector('.is-checked')).to.be.ok; + done(); + }); + }); + it('disabled', done => { + const vm = createVue({ + template: ` + + + `, + data() { + return { + radio: '' + }; + } + }, true); + let radioElm = vm.$el; + radioElm.click(); + vm.$nextTick(_ => { + expect(vm.radio === '').to.be.true; + expect(radioElm.querySelector('.is-disabled')).to.be.ok; + done(); + }); + }); + it('radio group', done => { + const vm = createVue({ + template: ` + + 备选项 + 备选项 + 备选项 + + `, + data() { + return { + radio: 3 + }; + } + }, true); + expect(vm.$refs.radio1.$el.querySelector('.is-checked')).to.be.ok; + let radioElm = vm.$refs.radio2.$el; + radioElm.click(); + vm.$nextTick(_ => { + expect(radioElm.querySelector('.is-checked')).to.be.ok; + expect(vm.radio === 6).to.be.true; + done(); + }); + }); + it('radio button', done => { + const vm = createVue({ + template: ` + + 备选项 + 备选项 + 备选项 + + `, + data() { + return { + radio: 3 + }; + } + }, true); + expect(vm.$refs.radio1.$el.classList.contains('is-active')).to.be.true; + let radio = vm.$refs.radio2; + radio.$el.click(); + vm.$nextTick(_ => { + expect(radio.$el.classList.contains('is-active')).to.be.true; + expect(vm.radio === 6).to.be.true; + done(); + }); + }); +});