@splidejs/splide
Version:
Splide is a lightweight, flexible and accessible slider/carousel. No dependencies, no Lighthouse errors.
38 lines (29 loc) • 1.24 kB
text/typescript
import { init } from '../../../test';
describe( 'Controller#toPage()', () => {
test( 'can convert the slide index to the page index.', () => {
const splide = init( { perPage: 3 } );
const { toPage } = splide.Components.Controller;
expect( toPage( 0 ) ).toBe( 0 );
expect( toPage( 1 ) ).toBe( 0 );
expect( toPage( 2 ) ).toBe( 0 );
expect( toPage( 3 ) ).toBe( 1 );
expect( toPage( 4 ) ).toBe( 1 );
expect( toPage( 5 ) ).toBe( 1 );
} );
test( 'can convert the slide index to the page index with respecting the end index.', () => {
const splide = init( { perPage: 3 }, { length: 4 } );
const { toPage } = splide.Components.Controller;
expect( toPage( 0 ) ).toBe( 0 );
expect( toPage( 1 ) ).toBe( 1 );
expect( toPage( 2 ) ).toBe( 1 );
expect( toPage( 3 ) ).toBe( 1 );
} );
test( 'should return the slide index as is if the focus option is available.', () => {
const splide = init( { focus: 'center', perPage: 3 } );
const { toPage } = splide.Components.Controller;
expect( toPage( 0 ) ).toBe( 0 );
expect( toPage( 1 ) ).toBe( 1 );
expect( toPage( 2 ) ).toBe( 2 );
expect( toPage( 3 ) ).toBe( 3 );
} );
} );