gitea源码

dropdown.test.ts 2.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import {createElementFromHTML} from '../../utils/dom.ts';
  2. import {hideScopedEmptyDividers} from './dropdown.ts';
  3. test('hideScopedEmptyDividers-simple', () => {
  4. const container = createElementFromHTML(`<div>
  5. <div class="divider"></div>
  6. <div class="item">a</div>
  7. <div class="divider"></div>
  8. <div class="divider"></div>
  9. <div class="divider"></div>
  10. <div class="item">b</div>
  11. <div class="divider"></div>
  12. </div>`);
  13. hideScopedEmptyDividers(container);
  14. expect(container.innerHTML).toEqual(`
  15. <div class="divider hidden transition"></div>
  16. <div class="item">a</div>
  17. <div class="divider hidden transition"></div>
  18. <div class="divider hidden transition"></div>
  19. <div class="divider"></div>
  20. <div class="item">b</div>
  21. <div class="divider hidden transition"></div>
  22. `);
  23. });
  24. test('hideScopedEmptyDividers-items-all-filtered', () => {
  25. const container = createElementFromHTML(`<div>
  26. <div class="any"></div>
  27. <div class="divider"></div>
  28. <div class="item filtered">a</div>
  29. <div class="item filtered">b</div>
  30. <div class="divider"></div>
  31. <div class="any"></div>
  32. </div>`);
  33. hideScopedEmptyDividers(container);
  34. expect(container.innerHTML).toEqual(`
  35. <div class="any"></div>
  36. <div class="divider hidden transition"></div>
  37. <div class="item filtered">a</div>
  38. <div class="item filtered">b</div>
  39. <div class="divider"></div>
  40. <div class="any"></div>
  41. `);
  42. });
  43. test('hideScopedEmptyDividers-hide-last', () => {
  44. const container = createElementFromHTML(`<div>
  45. <div class="item">a</div>
  46. <div class="divider" data-scope="b"></div>
  47. <div class="item tw-hidden" data-scope="b">b</div>
  48. </div>`);
  49. hideScopedEmptyDividers(container);
  50. expect(container.innerHTML).toEqual(`
  51. <div class="item">a</div>
  52. <div class="divider hidden transition" data-scope="b"></div>
  53. <div class="item tw-hidden" data-scope="b">b</div>
  54. `);
  55. });
  56. test('hideScopedEmptyDividers-scoped-items', () => {
  57. const container = createElementFromHTML(`<div>
  58. <div class="item" data-scope="">a</div>
  59. <div class="divider" data-scope="b"></div>
  60. <div class="item tw-hidden" data-scope="b">b</div>
  61. <div class="divider" data-scope=""></div>
  62. <div class="item" data-scope="">c</div>
  63. </div>`);
  64. hideScopedEmptyDividers(container);
  65. expect(container.innerHTML).toEqual(`
  66. <div class="item" data-scope="">a</div>
  67. <div class="divider hidden transition" data-scope="b"></div>
  68. <div class="item tw-hidden" data-scope="b">b</div>
  69. <div class="divider hidden transition" data-scope=""></div>
  70. <div class="item" data-scope="">c</div>
  71. `);
  72. });