36 lines
1.0 KiB
TypeScript
36 lines
1.0 KiB
TypeScript
import {DomAnimatePlayer} from '../src/dom/dom_animate_player';
|
|
import {isPresent} from '../src/facade/lang';
|
|
|
|
export class MockDomAnimatePlayer implements DomAnimatePlayer {
|
|
public captures: {[key: string]: any[]} = {};
|
|
private _position: number = 0;
|
|
private _onfinish: Function = () => {};
|
|
public currentTime: number;
|
|
|
|
/** @internal */
|
|
_capture(method: string, data: any): void {
|
|
if (!isPresent(this.captures[method])) {
|
|
this.captures[method] = [];
|
|
}
|
|
this.captures[method].push(data);
|
|
}
|
|
|
|
cancel(): void { this._capture('cancel', null); }
|
|
play(): void { this._capture('play', null); }
|
|
pause(): void { this._capture('pause', null); }
|
|
finish(): void {
|
|
this._capture('finish', null);
|
|
this._onfinish();
|
|
}
|
|
set onfinish(fn: Function) {
|
|
this._capture('onfinish', fn);
|
|
this._onfinish = fn;
|
|
}
|
|
get onfinish(): Function { return this._onfinish; }
|
|
set position(val: number) {
|
|
this._capture('position', val);
|
|
this._position = val;
|
|
}
|
|
get position(): number { return this._position; }
|
|
}
|