This reverts commit a31da48507
.
PR Close #41056
This commit is contained in:
parent
3370ade9a4
commit
96f15f0de9
|
@ -9,22 +9,18 @@
|
||||||
import {AnimationBuilder} from '@angular/animations';
|
import {AnimationBuilder} from '@angular/animations';
|
||||||
import {AnimationDriver, ɵAnimationEngine as AnimationEngine, ɵAnimationStyleNormalizer as AnimationStyleNormalizer, ɵCssKeyframesDriver as CssKeyframesDriver, ɵNoopAnimationDriver as NoopAnimationDriver, ɵsupportsWebAnimations as supportsWebAnimations, ɵWebAnimationsDriver as WebAnimationsDriver, ɵWebAnimationsStyleNormalizer as WebAnimationsStyleNormalizer} from '@angular/animations/browser';
|
import {AnimationDriver, ɵAnimationEngine as AnimationEngine, ɵAnimationStyleNormalizer as AnimationStyleNormalizer, ɵCssKeyframesDriver as CssKeyframesDriver, ɵNoopAnimationDriver as NoopAnimationDriver, ɵsupportsWebAnimations as supportsWebAnimations, ɵWebAnimationsDriver as WebAnimationsDriver, ɵWebAnimationsStyleNormalizer as WebAnimationsStyleNormalizer} from '@angular/animations/browser';
|
||||||
import {DOCUMENT} from '@angular/common';
|
import {DOCUMENT} from '@angular/common';
|
||||||
import {Inject, Injectable, InjectionToken, NgZone, OnDestroy, Provider, RendererFactory2} from '@angular/core';
|
import {Inject, Injectable, InjectionToken, NgZone, Provider, RendererFactory2} from '@angular/core';
|
||||||
import {ɵDomRendererFactory2 as DomRendererFactory2} from '@angular/platform-browser';
|
import {ɵDomRendererFactory2 as DomRendererFactory2} from '@angular/platform-browser';
|
||||||
|
|
||||||
import {BrowserAnimationBuilder} from './animation_builder';
|
import {BrowserAnimationBuilder} from './animation_builder';
|
||||||
import {AnimationRendererFactory} from './animation_renderer';
|
import {AnimationRendererFactory} from './animation_renderer';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class InjectableAnimationEngine extends AnimationEngine implements OnDestroy {
|
export class InjectableAnimationEngine extends AnimationEngine {
|
||||||
constructor(
|
constructor(
|
||||||
@Inject(DOCUMENT) doc: any, driver: AnimationDriver, normalizer: AnimationStyleNormalizer) {
|
@Inject(DOCUMENT) doc: any, driver: AnimationDriver, normalizer: AnimationStyleNormalizer) {
|
||||||
super(doc.body, driver, normalizer);
|
super(doc.body, driver, normalizer);
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnDestroy(): void {
|
|
||||||
this.flush();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function instantiateSupportedAnimationDriver() {
|
export function instantiateSupportedAnimationDriver() {
|
||||||
|
|
|
@ -7,12 +7,10 @@
|
||||||
*/
|
*/
|
||||||
import {animate, AnimationPlayer, AnimationTriggerMetadata, state, style, transition, trigger} from '@angular/animations';
|
import {animate, AnimationPlayer, AnimationTriggerMetadata, state, style, transition, trigger} from '@angular/animations';
|
||||||
import {ɵAnimationEngine as AnimationEngine} from '@angular/animations/browser';
|
import {ɵAnimationEngine as AnimationEngine} from '@angular/animations/browser';
|
||||||
import {Component, destroyPlatform, Injectable, NgModule, NgZone, RendererFactory2, RendererType2, ViewChild} from '@angular/core';
|
import {Component, Injectable, NgZone, RendererFactory2, RendererType2, ViewChild} from '@angular/core';
|
||||||
import {TestBed} from '@angular/core/testing';
|
import {TestBed} from '@angular/core/testing';
|
||||||
import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
|
|
||||||
import {BrowserAnimationsModule, ɵAnimationRendererFactory as AnimationRendererFactory, ɵInjectableAnimationEngine as InjectableAnimationEngine} from '@angular/platform-browser/animations';
|
import {BrowserAnimationsModule, ɵAnimationRendererFactory as AnimationRendererFactory, ɵInjectableAnimationEngine as InjectableAnimationEngine} from '@angular/platform-browser/animations';
|
||||||
import {DomRendererFactory2} from '@angular/platform-browser/src/dom/dom_renderer';
|
import {DomRendererFactory2} from '@angular/platform-browser/src/dom/dom_renderer';
|
||||||
import {onlyInIvy, withBody} from '@angular/private/testing';
|
|
||||||
|
|
||||||
import {el} from '../../testing/src/browser_util';
|
import {el} from '../../testing/src/browser_util';
|
||||||
|
|
||||||
|
@ -325,37 +323,6 @@ describe('AnimationRendererFactory', () => {
|
||||||
expect(renderer.log).toEqual(['begin', 'end']);
|
expect(renderer.log).toEqual(['begin', 'end']);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
onlyInIvy('View Engine uses another mechanism of removing DOM nodes').describe('destroy', () => {
|
|
||||||
beforeEach(destroyPlatform);
|
|
||||||
afterEach(destroyPlatform);
|
|
||||||
|
|
||||||
it('should clear bootstrapped component contents',
|
|
||||||
withBody('<div>before</div><app-root></app-root><div>after</div>', async () => {
|
|
||||||
@Component({selector: 'app-root', template: 'app-root content'})
|
|
||||||
class AppComponent {
|
|
||||||
}
|
|
||||||
|
|
||||||
@NgModule({
|
|
||||||
imports: [BrowserAnimationsModule],
|
|
||||||
declarations: [AppComponent],
|
|
||||||
bootstrap: [AppComponent]
|
|
||||||
})
|
|
||||||
class AppModule {
|
|
||||||
}
|
|
||||||
|
|
||||||
const ngModuleRef = await platformBrowserDynamic().bootstrapModule(AppModule);
|
|
||||||
|
|
||||||
const root = document.body.querySelector('app-root')!;
|
|
||||||
expect(root.textContent).toEqual('app-root content');
|
|
||||||
expect(document.body.childNodes.length).toEqual(3);
|
|
||||||
|
|
||||||
ngModuleRef.destroy();
|
|
||||||
|
|
||||||
expect(document.body.querySelector('app-root')).toBeFalsy(); // host element is removed
|
|
||||||
expect(document.body.childNodes.length).toEqual(2); // other elements are preserved
|
|
||||||
}));
|
|
||||||
});
|
|
||||||
})();
|
})();
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|
Loading…
Reference in New Issue