feat(ivy): implement TestBed (#25369)

PR Close #25369
This commit is contained in:
Victor Berchet
2018-08-06 14:09:38 -07:00
committed by Ben Lesh
parent 85106375ac
commit 14ac7ad6b4
37 changed files with 1543 additions and 363 deletions

View File

@ -1,3 +1,5 @@
export declare function _getTestBedRender3(): TestBedRender3;
export declare function async(fn: Function): (done: any) => any;
export declare class ComponentFixture<T> {
@ -37,7 +39,7 @@ export declare function flush(maxTurns?: number): number;
export declare function flushMicrotasks(): void;
/** @experimental */
export declare function getTestBed(): TestBed;
export declare const getTestBed: () => TestBedRender3 | TestBedViewEngine;
export declare function inject(tokens: any[], fn: Function): () => any;
@ -54,10 +56,83 @@ export declare type MetadataOverride<T> = {
set?: Partial<T>;
};
export declare class MetadataOverrider {
overrideMetadata<C extends T, T>(metadataClass: {
new (options: T): C;
}, oldMetadata: C, override: MetadataOverride<T>): C;
}
/** @experimental */
export declare function resetFakeAsyncZone(): void;
export declare class TestBed implements Injector {
export declare const TestBed: typeof TestBedRender3 | typeof TestBedViewEngine;
export declare class TestBedRender3 {
ngModule: Type<any> | Type<any>[];
platform: PlatformRef;
compileComponents(): Promise<any>;
configureCompiler(config: {
providers?: any[];
useJit?: boolean;
}): void;
configureTestingModule(moduleDef: TestModuleMetadata): void;
createComponent<T>(type: Type<T>): ComponentFixture<T>;
deprecatedOverrideProvider(token: any, provider: {
useValue: any;
}): void;
/** @deprecated */ deprecatedOverrideProvider(token: any, provider: {
useFactory: Function;
deps: any[];
}): void;
execute(tokens: any[], fn: Function, context?: any): any;
get(token: any, notFoundValue?: any): any;
/** @experimental */ initTestEnvironment(ngModule: Type<any> | Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): void;
overrideComponent(component: Type<any>, override: MetadataOverride<Component>): void;
overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>): void;
overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): void;
overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>): void;
overrideProvider(token: any, provider: {
useFactory?: Function;
useValue?: any;
deps?: any[];
}): void;
overrideTemplateUsingTestingModule(component: Type<any>, template: string): void;
/** @experimental */ resetTestEnvironment(): void;
resetTestingModule(): void;
static compileComponents(): Promise<any>;
static configureCompiler(config: {
providers?: any[];
useJit?: boolean;
}): typeof TestBedRender3;
static configureTestingModule(moduleDef: TestModuleMetadata): typeof TestBedRender3;
static createComponent<T>(component: Type<T>): ComponentFixture<T>;
static deprecatedOverrideProvider(token: any, provider: {
useValue: any;
}): void;
/** @deprecated */ static deprecatedOverrideProvider(token: any, provider: {
useFactory: Function;
deps: any[];
}): void;
static get(token: any, notFoundValue?: any): any;
/** @experimental */ static initTestEnvironment(ngModule: Type<any> | Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): TestBedRender3;
static overrideComponent(component: Type<any>, override: MetadataOverride<Component>): typeof TestBedRender3;
static overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>): typeof TestBedRender3;
static overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): typeof TestBedRender3;
static overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>): typeof TestBedRender3;
static overrideProvider(token: any, provider: {
useFactory: Function;
deps: any[];
}): typeof TestBedRender3;
static overrideProvider(token: any, provider: {
useValue: any;
}): typeof TestBedRender3;
static overrideTemplate(component: Type<any>, template: string): typeof TestBedRender3;
static overrideTemplateUsingTestingModule(component: Type<any>, template: string): typeof TestBedRender3;
/** @experimental */ static resetTestEnvironment(): void;
static resetTestingModule(): typeof TestBedRender3;
}
export declare class TestBedViewEngine implements Injector {
ngModule: Type<any> | Type<any>[];
platform: PlatformRef;
compileComponents(): Promise<any>;
@ -106,7 +181,7 @@ export declare class TestBed implements Injector {
deps: any[];
}): void;
static get(token: any, notFoundValue?: any): any;
/** @experimental */ static initTestEnvironment(ngModule: Type<any> | Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): TestBed;
/** @experimental */ static initTestEnvironment(ngModule: Type<any> | Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): TestBedViewEngine;
static overrideComponent(component: Type<any>, override: MetadataOverride<Component>): typeof TestBed;
static overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>): typeof TestBed;
static overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): typeof TestBed;