jquery.spec.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /* eslint-env jquery */
  2. import Alert from '../../src/alert.js'
  3. import Button from '../../src/button.js'
  4. import Carousel from '../../src/carousel.js'
  5. import Collapse from '../../src/collapse.js'
  6. import Dropdown from '../../src/dropdown.js'
  7. import Modal from '../../src/modal.js'
  8. import Offcanvas from '../../src/offcanvas.js'
  9. import Popover from '../../src/popover.js'
  10. import ScrollSpy from '../../src/scrollspy.js'
  11. import Tab from '../../src/tab.js'
  12. import Toast from '../../src/toast.js'
  13. import Tooltip from '../../src/tooltip.js'
  14. import { clearFixture, getFixture } from '../helpers/fixture.js'
  15. describe('jQuery', () => {
  16. let fixtureEl
  17. beforeAll(() => {
  18. fixtureEl = getFixture()
  19. })
  20. afterEach(() => {
  21. clearFixture()
  22. })
  23. it('should add all plugins in jQuery', () => {
  24. expect(Alert.jQueryInterface).toEqual(jQuery.fn.alert)
  25. expect(Button.jQueryInterface).toEqual(jQuery.fn.button)
  26. expect(Carousel.jQueryInterface).toEqual(jQuery.fn.carousel)
  27. expect(Collapse.jQueryInterface).toEqual(jQuery.fn.collapse)
  28. expect(Dropdown.jQueryInterface).toEqual(jQuery.fn.dropdown)
  29. expect(Modal.jQueryInterface).toEqual(jQuery.fn.modal)
  30. expect(Offcanvas.jQueryInterface).toEqual(jQuery.fn.offcanvas)
  31. expect(Popover.jQueryInterface).toEqual(jQuery.fn.popover)
  32. expect(ScrollSpy.jQueryInterface).toEqual(jQuery.fn.scrollspy)
  33. expect(Tab.jQueryInterface).toEqual(jQuery.fn.tab)
  34. expect(Toast.jQueryInterface).toEqual(jQuery.fn.toast)
  35. expect(Tooltip.jQueryInterface).toEqual(jQuery.fn.tooltip)
  36. })
  37. it('should use jQuery event system', () => {
  38. return new Promise(resolve => {
  39. fixtureEl.innerHTML = [
  40. '<div class="alert">',
  41. ' <button type="button" data-bs-dismiss="alert">x</button>',
  42. '</div>'
  43. ].join('')
  44. $(fixtureEl).find('.alert')
  45. .one('closed.bs.alert', () => {
  46. expect($(fixtureEl).find('.alert')).toHaveSize(0)
  47. resolve()
  48. })
  49. $(fixtureEl).find('button').trigger('click')
  50. })
  51. })
  52. })