import { CLASS_PAGINATION } from '../../../constants/classes'; import { init } from '../../../test'; describe( 'Pagination direction', () => { test( 'should follow the `direction` option unless the user provides `paginationDirection`.', () => { init( { direction: 'ttb', height: 1000 } ); const pagination = document.querySelector( `.${ CLASS_PAGINATION }` ); expect( pagination.classList.contains( `${ CLASS_PAGINATION }--ttb` ) ).toBe( true ); expect( pagination.getAttribute( 'aria-orientation' ) ).toBe( 'vertical' ); } ); test( 'should follow the `paginationDirection`.', () => { init( { direction: 'ttb', paginationDirection: 'rtl', height: 1000 } ); const pagination = document.querySelector( `.${ CLASS_PAGINATION }` ); expect( pagination.classList.contains( `${ CLASS_PAGINATION }--rtl` ) ).toBe( true ); expect( pagination.getAttribute( 'aria-orientation' ) ).toBeNull(); } ); test( 'should follow the `direction` option when it is updated.', () => { const splide = init(); let pagination = document.querySelector( `.${ CLASS_PAGINATION }` ); expect( pagination.classList.contains( `${ CLASS_PAGINATION }--ltr` ) ).toBe( true ); splide.options = { direction: 'rtl' }; pagination = document.querySelector( `.${ CLASS_PAGINATION }` ); expect( pagination.classList.contains( `${ CLASS_PAGINATION }--rtl` ) ).toBe( true ); } ); test( 'should follow the `paginationDirection` option when it is updated.', () => { const splide = init( { paginationDirection: 'ttb' } ); let pagination = document.querySelector( `.${ CLASS_PAGINATION }` ); expect( pagination.classList.contains( `${ CLASS_PAGINATION }--ttb` ) ).toBe( true ); splide.options = { paginationDirection: 'ltr' }; pagination = document.querySelector( `.${ CLASS_PAGINATION }` ); expect( pagination.classList.contains( `${ CLASS_PAGINATION }--ltr` ) ).toBe( true ); } ); } );