radio.spec.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. import { createVue, destroyVM } from '../util';
  2. describe('Radio', () => {
  3. let vm;
  4. afterEach(() => {
  5. destroyVM(vm);
  6. });
  7. it('create', done => {
  8. vm = createVue({
  9. template: `
  10. <el-radio v-model="radio" label="a">
  11. </el-radio>
  12. `,
  13. data() {
  14. return {
  15. radio: ''
  16. };
  17. }
  18. }, true);
  19. let radioElm = vm.$el;
  20. expect(radioElm.classList.contains('el-radio')).to.be.true;
  21. radioElm.click();
  22. vm.$nextTick(_ => {
  23. expect(radioElm.querySelector('.is-checked')).to.be.ok;
  24. done();
  25. });
  26. });
  27. it('disabled', done => {
  28. vm = createVue({
  29. template: `
  30. <el-radio
  31. v-model="radio"
  32. label="3"
  33. disabled
  34. >
  35. </el-radio>
  36. `,
  37. data() {
  38. return {
  39. radio: ''
  40. };
  41. }
  42. }, true);
  43. let radioElm = vm.$el;
  44. radioElm.click();
  45. vm.$nextTick(_ => {
  46. expect(vm.radio === '').to.be.true;
  47. expect(radioElm.querySelector('.is-disabled')).to.be.ok;
  48. done();
  49. });
  50. });
  51. it('radio group', done => {
  52. vm = createVue({
  53. template: `
  54. <el-radio-group v-model="radio">
  55. <el-radio :label="3" ref="radio1">备选项</el-radio>
  56. <el-radio :label="6" ref="radio2">备选项</el-radio>
  57. <el-radio :label="9">备选项</el-radio>
  58. </el-radio-group>
  59. `,
  60. data() {
  61. return {
  62. radio: 3
  63. };
  64. }
  65. }, true);
  66. setTimeout(_ => {
  67. expect(vm.$refs.radio1.$el.querySelector('.is-checked')).to.be.ok;
  68. let radioElm = vm.$refs.radio2.$el;
  69. radioElm.click();
  70. vm.$nextTick(_ => {
  71. expect(radioElm.querySelector('.is-checked')).to.be.ok;
  72. expect(vm.radio === 6).to.be.true;
  73. done();
  74. });
  75. }, 50);
  76. });
  77. describe('Radio', () => {
  78. it('create', done => {
  79. vm = createVue({
  80. template: `
  81. <el-radio-group v-model="radio">
  82. <el-radio-button :label="3" ref="radio1">备选项</el-radio-button>
  83. <el-radio-button :label="6" ref="radio2">备选项</el-radio-button>
  84. <el-radio-button :label="9">备选项</el-radio-button>
  85. </el-radio-group>
  86. `,
  87. data() {
  88. return {
  89. radio: 3
  90. };
  91. }
  92. }, true);
  93. expect(vm.$refs.radio1.$el.classList.contains('is-active')).to.be.true;
  94. let radio = vm.$refs.radio2;
  95. radio.$el.click();
  96. vm.$nextTick(_ => {
  97. expect(radio.$el.classList.contains('is-active')).to.be.true;
  98. expect(vm.radio === 6).to.be.true;
  99. done();
  100. });
  101. });
  102. it('custom color', done => {
  103. vm = createVue({
  104. template: `
  105. <el-radio-group v-model="radio" fill="#000" text-color="#ff0">
  106. <el-radio-button :label="3" ref="radio1">备选项</el-radio-button>
  107. <el-radio-button :label="6" ref="radio2">备选项</el-radio-button>
  108. <el-radio-button :label="9">备选项</el-radio-button>
  109. </el-radio-group>
  110. `,
  111. data() {
  112. return {
  113. radio: 3
  114. };
  115. }
  116. }, true);
  117. vm.$nextTick(_ => {
  118. expect(vm.$refs.radio1.activeStyle.backgroundColor).to.equal('#000');
  119. expect(vm.$refs.radio1.activeStyle.borderColor).to.equal('#000');
  120. expect(vm.$refs.radio1.activeStyle.color).to.equal('#ff0');
  121. done();
  122. });
  123. });
  124. });
  125. });