34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
QUnit.test( 'pageDots', function( assert ) {
|
|
'use strict';
|
|
|
|
var elem = document.querySelector('#page-dots');
|
|
var flkty = new Flickity( elem );
|
|
|
|
var dotsHolder = elem.querySelector('.flickity-page-dots');
|
|
var dotsElems = dotsHolder.querySelectorAll('.dot');
|
|
|
|
assert.ok( dotsHolder, 'dots holder in DOM' );
|
|
assert.equal( flkty.pageDots.holder, dotsHolder, 'dots holder element matches flkty.pageDots.holder' );
|
|
assert.equal( dotsElems.length, flkty.cells.length, 'number of dots matches number of cells' );
|
|
|
|
function getSelectedDotIndex() {
|
|
var selectedDot = dotsHolder.querySelector('.is-selected');
|
|
for ( var i=0, len = dotsElems.length; i < len; i++ ) {
|
|
var dotElem = dotsElems[i];
|
|
if ( dotElem == selectedDot ) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
assert.equal( getSelectedDotIndex(), 0, 'first dot is selected' );
|
|
flkty.select( 2 );
|
|
assert.equal( getSelectedDotIndex(), 2, '3rd dot is selected' );
|
|
|
|
// fake tap
|
|
flkty.pageDots.onTap( { target: dotsElems[4] } );
|
|
assert.equal( flkty.selectedIndex, 4, 'tap dot selects cell' );
|
|
|
|
});
|