link.spec.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import { createTest, createVue, destroyVM, wait } from '../util';
  2. import Link from 'packages/link';
  3. describe('Link', () => {
  4. let vm;
  5. afterEach(() => {
  6. destroyVM(vm);
  7. });
  8. it('create', () => {
  9. vm = createTest(Link, {
  10. type: 'primary'
  11. }, true);
  12. let linkElm = vm.$el;
  13. expect(linkElm.classList.contains('el-link--primary')).to.be.true;
  14. });
  15. it('icon', () => {
  16. vm = createTest(Link, {
  17. icon: 'el-icon-search'
  18. }, true);
  19. let linkElm = vm.$el;
  20. expect(linkElm.querySelector('.el-icon-search')).to.be.ok;
  21. });
  22. it('href', () => {
  23. vm = createTest(Link, {
  24. href: 'https://element.eleme.io/'
  25. }, true);
  26. let linkElm = vm.$el;
  27. expect(linkElm.getAttribute('href')).to.be.equal('https://element.eleme.io/');
  28. });
  29. it('target', () => {
  30. vm = createVue(`
  31. <el-link href="https://element.eleme.io" target="_blank">
  32. default
  33. </el-link>
  34. `);
  35. let linkElm = vm.$el;
  36. expect(linkElm.getAttribute('target')).to.be.equal('_blank');
  37. });
  38. it('disabled', () => {
  39. vm = createTest(Link, {
  40. disabled: true
  41. }, true);
  42. let linkElm = vm.$el;
  43. expect(linkElm.classList.contains('is-disabled')).to.be.true;
  44. });
  45. it('click', async() => {
  46. let result;
  47. vm = createVue({
  48. template: `
  49. <el-link @click="handleClick"></el-link>
  50. `,
  51. methods: {
  52. handleClick(evt) {
  53. result = evt;
  54. }
  55. }
  56. }, true);
  57. vm.$el.click();
  58. await wait();
  59. expect(result).to.exist;
  60. });
  61. });