| Index: polymer_0.5.0/bower_components/web-animations-js/test/js/player-finish-event.js
|
| diff --git a/polymer_0.5.0/bower_components/web-animations-js/test/js/player-finish-event.js b/polymer_0.5.0/bower_components/web-animations-js/test/js/player-finish-event.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6365d913e3bd8b115a305fd45c6780019bd4218a
|
| --- /dev/null
|
| +++ b/polymer_0.5.0/bower_components/web-animations-js/test/js/player-finish-event.js
|
| @@ -0,0 +1,79 @@
|
| +suite('player-finish-event', function() {
|
| + setup(function() {
|
| + this.element = document.createElement('div');
|
| + document.documentElement.appendChild(this.element);
|
| + this.player = this.element.animate([], 1000);
|
| + });
|
| + teardown(function() {
|
| + if (this.element.parent)
|
| + this.element.removeChild(this.target);
|
| + });
|
| +
|
| + test('fire when player completes', function(done) {
|
| + var ready = false;
|
| + var fired = false;
|
| + var player = this.player;
|
| + player.onfinish = function(event) {
|
| + assert(ready, 'must not be called synchronously');
|
| + assert.equal(this, player);
|
| + assert.equal(event.target, player);
|
| + assert.equal(event.currentTime, 1000);
|
| + assert.equal(event.timelineTime, 1100);
|
| + if (fired)
|
| + assert(false, 'must not get fired twice');
|
| + fired = true;
|
| + done();
|
| + };
|
| + tick(100);
|
| + tick(1100);
|
| + tick(2100);
|
| + ready = true;
|
| + });
|
| +
|
| + test('fire when reversed player completes', function(done) {
|
| + this.player.onfinish = function(event) {
|
| + assert.equal(event.currentTime, 0);
|
| + assert.equal(event.timelineTime, 1001);
|
| + done();
|
| + };
|
| + tick(0);
|
| + tick(500);
|
| + this.player.reverse();
|
| + tick(501);
|
| + tick(1001);
|
| + });
|
| +
|
| + test('fire after player is cancelled', function(done) {
|
| + this.player.onfinish = function(event) {
|
| + assert.equal(event.currentTime, 0);
|
| + assert.equal(event.timelineTime, 1, 'event must be fired on next sample');
|
| + done();
|
| + };
|
| + tick(0);
|
| + this.player.cancel();
|
| + tick(1);
|
| + });
|
| +
|
| + test('multiple event listeners', function(done) {
|
| + var count = 0;
|
| + function createHandler(expectedCount) {
|
| + return function() {
|
| + count++;
|
| + assert.equal(count, expectedCount);
|
| + };
|
| + }
|
| + var toRemove = createHandler(0);
|
| + this.player.addEventListener('finish', createHandler(1));
|
| + this.player.addEventListener('finish', createHandler(2));
|
| + this.player.addEventListener('finish', toRemove);
|
| + this.player.addEventListener('finish', createHandler(3));
|
| + this.player.removeEventListener('finish', toRemove);
|
| + this.player.onfinish = function() {
|
| + assert.equal(count, 3);
|
| + done();
|
| + };
|
| + tick(0);
|
| + this.player.cancel();
|
| + tick(1000);
|
| + });
|
| +});
|
|
|