flickity
Version:
Touch, responsive, flickable carousels
33 lines (26 loc) • 956 B
JavaScript
QUnit.test( 'lazyload', function( assert ) {
'use strict';
var done = assert.async();
var gallery = document.querySelector('#lazyload');
var flkty = new Flickity( gallery, {
lazyLoad: 1,
} );
var loadCount = 0;
flkty.on( 'lazyLoad', function( event, cellElem ) {
loadCount++;
assert.equal( event.type, 'load', 'event.type == load' );
assert.ok( event.target.complete, 'img ' + loadCount + ' is complete' );
assert.ok( cellElem, 'cellElement argument there' );
var lazyAttr = event.target.getAttribute('data-flickity-lazyload');
assert.ok( !lazyAttr, 'data-flickity-lazyload attribute removed' );
// after first 2 have loaded, select 7th cell
if ( loadCount == 2 ) {
flkty.select( 6 );
}
if ( loadCount == 5 ) {
var loadedImgs = gallery.querySelectorAll('.flickity-lazyloaded');
assert.equal( loadedImgs.length, '5', 'only 5 images loaded' );
done();
}
} );
} );