blob: 6ec2194980849d5b383ffd37d473f121e69074c5 [file] [log] [blame]
/**
* @license Angular v8.1.1
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
import { NoopAnimationPlayer, AUTO_STYLE } from '@angular/animations';
import { ɵvalidateStyleProperty, ɵmatchesElement, ɵcontainsElement, ɵinvokeQuery, ɵallowPreviousPlayerStylesMerge } from '@angular/animations/browser';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* \@publicApi
*/
class MockAnimationDriver {
/**
* @param {?} prop
* @return {?}
*/
validateStyleProperty(prop) { return ɵvalidateStyleProperty(prop); }
/**
* @param {?} element
* @param {?} selector
* @return {?}
*/
matchesElement(element, selector) {
return ɵmatchesElement(element, selector);
}
/**
* @param {?} elm1
* @param {?} elm2
* @return {?}
*/
containsElement(elm1, elm2) { return ɵcontainsElement(elm1, elm2); }
/**
* @param {?} element
* @param {?} selector
* @param {?} multi
* @return {?}
*/
query(element, selector, multi) {
return ɵinvokeQuery(element, selector, multi);
}
/**
* @param {?} element
* @param {?} prop
* @param {?=} defaultValue
* @return {?}
*/
computeStyle(element, prop, defaultValue) {
return defaultValue || '';
}
/**
* @param {?} element
* @param {?} keyframes
* @param {?} duration
* @param {?} delay
* @param {?} easing
* @param {?=} previousPlayers
* @return {?}
*/
animate(element, keyframes, duration, delay, easing, previousPlayers = []) {
/** @type {?} */
const player = new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers);
MockAnimationDriver.log.push((/** @type {?} */ (player)));
return player;
}
}
MockAnimationDriver.log = [];
/**
* \@publicApi
*/
class MockAnimationPlayer extends NoopAnimationPlayer {
/**
* @param {?} element
* @param {?} keyframes
* @param {?} duration
* @param {?} delay
* @param {?} easing
* @param {?} previousPlayers
*/
constructor(element, keyframes, duration, delay, easing, previousPlayers) {
super(duration, delay);
this.element = element;
this.keyframes = keyframes;
this.duration = duration;
this.delay = delay;
this.easing = easing;
this.previousPlayers = previousPlayers;
this.__finished = false;
this.__started = false;
this.previousStyles = {};
this._onInitFns = [];
this.currentSnapshot = {};
if allowPreviousPlayerStylesMerge(duration, delay)) {
previousPlayers.forEach((/**
* @param {?} player
* @return {?}
*/
player => {
if (player instanceof MockAnimationPlayer) {
/** @type {?} */
const styles = player.currentSnapshot;
Object.keys(styles).forEach((/**
* @param {?} prop
* @return {?}
*/
prop => this.previousStyles[prop] = styles[prop]));
}
}));
}
}
/* @internal */
/**
* @param {?} fn
* @return {?}
*/
onInit(fn) { this._onInitFns.push(fn); }
/* @internal */
/**
* @return {?}
*/
init() {
super.init();
this._onInitFns.forEach((/**
* @param {?} fn
* @return {?}
*/
fn => fn()));
this._onInitFns = [];
}
/**
* @return {?}
*/
finish() {
super.finish();
this.__finished = true;
}
/**
* @return {?}
*/
destroy() {
super.destroy();
this.__finished = true;
}
/* @internal */
/**
* @return {?}
*/
triggerMicrotask() { }
/**
* @return {?}
*/
play() {
super.play();
this.__started = true;
}
/**
* @return {?}
*/
hasStarted() { return this.__started; }
/**
* @return {?}
*/
beforeDestroy() {
/** @type {?} */
const captures = {};
Object.keys(this.previousStyles).forEach((/**
* @param {?} prop
* @return {?}
*/
prop => {
captures[prop] = this.previousStyles[prop];
}));
if (this.hasStarted()) {
// when assembling the captured styles, it's important that
// we build the keyframe styles in the following order:
// {other styles within keyframes, ... previousStyles }
this.keyframes.forEach((/**
* @param {?} kf
* @return {?}
*/
kf => {
Object.keys(kf).forEach((/**
* @param {?} prop
* @return {?}
*/
prop => {
if (prop != 'offset') {
captures[prop] = this.__finished ? kf[prop] : AUTO_STYLE;
}
}));
}));
}
this.currentSnapshot = captures;
}
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* Generated bundle index. Do not edit.
*/
export { MockAnimationDriver, MockAnimationPlayer };
//# sourceMappingURL=testing.js.map