sr.test.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import { CLASS_SR } from '../../../constants/classes';
  2. import { init } from '../../../test';
  3. describe( 'The SR field', () => {
  4. test( 'should be prepended to each slide when `live` option is `true`.', () => {
  5. const splide = init();
  6. const Slides = splide.Components.Slides;
  7. const callback = jest.fn();
  8. Slides.forEach( Slide => {
  9. expect( Slide.slide.firstElementChild.classList.contains( CLASS_SR ) ).toBe( true );
  10. callback();
  11. } );
  12. expect( callback ).toHaveBeenCalled();
  13. } );
  14. test( 'should not be prepended when `live` option is `false`.', () => {
  15. const splide = init( { live: false } );
  16. const Slides = splide.Components.Slides;
  17. const callback = jest.fn();
  18. Slides.forEach( Slide => {
  19. expect( Slide.slide.firstElementChild.classList.contains( CLASS_SR ) ).toBe( false );
  20. callback();
  21. } );
  22. expect( callback ).toHaveBeenCalled();
  23. } );
  24. test( 'should describe the current slide position.', () => {
  25. const splide = init( { speed: 0 } );
  26. const Slides = splide.Components.Slides;
  27. const Slide0 = Slides.getAt( 0 );
  28. const Slide1 = Slides.getAt( 1 );
  29. const Slide2 = Slides.getAt( 2 );
  30. expect( Slide0.slide.firstElementChild.textContent ).toBe( `1 of ${ splide.length }` );
  31. expect( Slide1.slide.firstElementChild.textContent ).toBe( '' );
  32. expect( Slide2.slide.firstElementChild.textContent ).toBe( '' );
  33. splide.go( 1 );
  34. expect( Slide0.slide.firstElementChild.textContent ).toBe( '' );
  35. expect( Slide1.slide.firstElementChild.textContent ).toBe( `2 of ${ splide.length }` );
  36. expect( Slide2.slide.firstElementChild.textContent ).toBe( '' );
  37. splide.go( 2 );
  38. expect( Slide0.slide.firstElementChild.textContent ).toBe( '' );
  39. expect( Slide1.slide.firstElementChild.textContent ).toBe( '' );
  40. expect( Slide2.slide.firstElementChild.textContent ).toBe( `3 of ${ splide.length }` );
  41. } );
  42. } );