You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.6 KiB
86 lines
2.6 KiB
module('Autoplay tests'); |
|
|
|
function FakeClock() { |
|
// Instantiate a new controllable clock which overrides the built in Date |
|
// class on construction. |
|
var value = 1; |
|
|
|
this.tick = function(duration) { |
|
value += duration; |
|
}; |
|
// TODO: This is broken and has to be fixed in the near future |
|
this.Date = function() { |
|
this.getTime = function() { |
|
return value; |
|
} |
|
} |
|
} |
|
|
|
function change_timeout(autoplay, first, second, wait) { |
|
var clock = new FakeClock(); |
|
|
|
// This is a helper function to test multiple consecutive play calls with |
|
// different timeout values. Four steps will be completed by this function: |
|
|
|
// 1. The autoplay will be played in a stopped state with the first timeout. |
|
autoplay.stop(); |
|
autoplay.play(first); |
|
|
|
// 2. Time will be forwarded a given wait time. |
|
clock.tick(wait); |
|
|
|
// 3. The autoplay will be paused. |
|
autoplay.pause(); |
|
|
|
// 4. The autoplay will be played with the second timeout. |
|
autoplay.play(second); |
|
} |
|
|
|
// test('stopping the autoplay timer', function() { |
|
// expect(2); |
|
// |
|
// var clock = new FakeClock(); |
|
// |
|
// var carousel = $('#simple').owlCarousel().data('owl.carousel'); |
|
// var autoplay = carousel._plugins.autoplay; |
|
// |
|
// clock.tick(1); |
|
// |
|
// autoplay.stop(); |
|
// autoplay.play(); |
|
// |
|
// equal(autoplay.read(), 0); |
|
// |
|
// autoplay.pause(); |
|
// autoplay.play(); |
|
// |
|
// equal(autoplay.read(), 0); |
|
// }); |
|
// TODO: See todo above, seems to be broken since a while as we are trying to assign the global const Date to a new function |
|
// test('changing autoplay timeout values', function() { |
|
// expect(4); |
|
// |
|
// var carousel = $('#simple').owlCarousel().data('owl.carousel'); |
|
// var autoplay = carousel._plugins.autoplay; |
|
// |
|
// // Changing the timeout from 2000 to 3000 after 3000 ticks should maintain |
|
// // the elapsed time (1000) since the last transition. |
|
// change_timeout(autoplay, 2000, 3000, 3000); |
|
// equal(autoplay.read() % 3000, 1000); |
|
// |
|
// // Changing the timeout from 4000 to 5000 after 12000 ticks should maintain |
|
// // the elapsed time (0) since the last transition. |
|
// change_timeout(autoplay, 4000, 5000, 12000); |
|
// equal(autoplay.read() % 5000, 0); |
|
// |
|
// // Changing the timeout from 5000 to 4000 after 12000 ticks should maintain |
|
// // the elapsed time (2000) since the last transition. |
|
// change_timeout(autoplay, 5000, 4000, 12000); |
|
// equal(autoplay.read() % 4000, 2000); |
|
// |
|
// // Changing the timeout from 11000 to 6000 after 19000 ticks should reset |
|
// // the elapsed timer value (7000) since the last transition to 0, because |
|
// // it is larger than the timeout value. |
|
// change_timeout(autoplay, 11000, 6000, 19000); |
|
// equal(autoplay.read() % 6000, 0); |
|
// });
|
|
|