12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import { minimum } from '../data/html';
- import Splide from '../../src/js/splide';
- import { COMPLETE } from '../../src/js/components';
- describe( 'Event', () => {
- let splide;
- beforeEach( () => {
- document.body.innerHTML = minimum;
- splide = new Splide( '#splide', {}, COMPLETE );
- } );
- test( '"mounted" should be emitted after components are mounted.', () => {
- const callback = jest.fn();
- splide.on( 'mounted', callback );
- splide.mount();
- expect( callback ).toHaveBeenCalledTimes( 1 );
- } );
- test( '"updated" should be emitted after options are updated.', () => {
- const callback = jest.fn();
- splide.on( 'updated', callback );
- splide.mount();
- expect( callback ).not.toHaveBeenCalled();
- splide.options = { perView: 2 };
- expect( callback ).toHaveBeenCalledTimes( 1 );
- } );
- test( '"move"/"moved" should be emitted before/after a slider moves and should provide some indexes.', () => {
- const moveCallback = jest.fn();
- const movedCallback = jest.fn();
- splide.mount();
- splide.on( 'move', moveCallback );
- splide.on( 'moved', movedCallback );
- splide.go( '+1' );
- expect( moveCallback ).toHaveBeenCalledWith( 1, 0, 1 );
- expect( movedCallback ).toHaveBeenCalledWith( 1, 0, 1 );
- } );
- test( '"updated" should be emitted after options are updated.', () => {
- const callback = jest.fn();
- splide.on( 'updated', callback );
- splide.mount();
- expect( callback ).not.toHaveBeenCalled();
- splide.options = { perView: 2 };
- expect( callback ).toHaveBeenCalledTimes( 1 );
- } );
- } );
|