Files
Andrew Kushnir 796840209c fix(core): align TestBed interfaces and implementation (#46635)
This commit performs various refactoring of the TestBed code to better align interfaces and implementation. The implementation class is also renamed from `TestBedRender3` -> `TestBedImpl`, but the public API name has not changed.

Note: as a part of this change, the TestBed interface became more consistent and typings for multiple methods were updated to account for the fact that the TestBed reference is returned. This was always a runtime behavior of TestBed, which was not reflected in few places in type.

PR Close #46635
2022-07-13 20:09:59 +00:00

6.2 KiB

API Report File for "@angular/core_testing"

Do not edit this file. It is a report generated by API Extractor.


import { ChangeDetectorRef } from '@angular/core';
import { Component } from '@angular/core';
import { ComponentRef } from '@angular/core';
import { DebugElement } from '@angular/core';
import { Directive } from '@angular/core';
import { ElementRef } from '@angular/core';
import { InjectFlags } from '@angular/core';
import { InjectionToken } from '@angular/core';
import { NgModule } from '@angular/core';
import { NgZone } from '@angular/core';
import { Pipe } from '@angular/core';
import { PlatformRef } from '@angular/core';
import { ProviderToken } from '@angular/core';
import { SchemaMetadata } from '@angular/core';
import { Type } from '@angular/core';

// @public
export const __core_private_testing_placeholder__ = "";

// @public @deprecated (undocumented)
export function async(fn: Function): (done: any) => any;

// @public
export class ComponentFixture<T> {
    constructor(componentRef: ComponentRef<T>, ngZone: NgZone | null, _autoDetect: boolean);
    autoDetectChanges(autoDetect?: boolean): void;
    changeDetectorRef: ChangeDetectorRef;
    checkNoChanges(): void;
    componentInstance: T;
    // (undocumented)
    componentRef: ComponentRef<T>;
    debugElement: DebugElement;
    destroy(): void;
    detectChanges(checkNoChanges?: boolean): void;
    elementRef: ElementRef;
    isStable(): boolean;
    nativeElement: any;
    // (undocumented)
    ngZone: NgZone | null;
    whenRenderingDone(): Promise<any>;
    whenStable(): Promise<any>;
}

// @public (undocumented)
export const ComponentFixtureAutoDetect: InjectionToken<boolean[]>;

// @public (undocumented)
export const ComponentFixtureNoNgZone: InjectionToken<boolean[]>;

// @public
export function discardPeriodicTasks(): void;

// @public
export function fakeAsync(fn: Function): (...args: any[]) => any;

// @public
export function flush(maxTurns?: number): number;

// @public
export function flushMicrotasks(): void;

// @public
export function getTestBed(): TestBed;

// @public
export function inject(tokens: any[], fn: Function): () => any;

// @public (undocumented)
export class InjectSetupWrapper {
    constructor(_moduleDef: () => TestModuleMetadata);
    // (undocumented)
    inject(tokens: any[], fn: Function): () => any;
}

// @public
export type MetadataOverride<T> = {
    add?: Partial<T>;
    remove?: Partial<T>;
    set?: Partial<T>;
};

// @public
export interface ModuleTeardownOptions {
    destroyAfterEach: boolean;
    rethrowErrors?: boolean;
}

// @public
export function resetFakeAsyncZone(): void;

// @public (undocumented)
export interface TestBed {
    // (undocumented)
    compileComponents(): Promise<any>;
    // (undocumented)
    configureCompiler(config: {
        providers?: any[];
        useJit?: boolean;
    }): void;
    // (undocumented)
    configureTestingModule(moduleDef: TestModuleMetadata): TestBed;
    // (undocumented)
    createComponent<T>(component: Type<T>): ComponentFixture<T>;
    // (undocumented)
    execute(tokens: any[], fn: Function, context?: any): any;
    // @deprecated (undocumented)
    get<T>(token: ProviderToken<T>, notFoundValue?: T, flags?: InjectFlags): any;
    // @deprecated (undocumented)
    get(token: any, notFoundValue?: any): any;
    initTestEnvironment(ngModule: Type<any> | Type<any>[], platform: PlatformRef, options?: TestEnvironmentOptions): void;
    // (undocumented)
    inject<T>(token: ProviderToken<T>, notFoundValue?: T, flags?: InjectFlags): T;
    // (undocumented)
    inject<T>(token: ProviderToken<T>, notFoundValue: null, flags?: InjectFlags): T | null;
    // (undocumented)
    get ngModule(): Type<any> | Type<any>[];
    // (undocumented)
    overrideComponent(component: Type<any>, override: MetadataOverride<Component>): TestBed;
    // (undocumented)
    overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>): TestBed;
    // (undocumented)
    overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): TestBed;
    // (undocumented)
    overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>): TestBed;
    overrideProvider(token: any, provider: {
        useFactory: Function;
        deps: any[];
    }): TestBed;
    // (undocumented)
    overrideProvider(token: any, provider: {
        useValue: any;
    }): TestBed;
    // (undocumented)
    overrideProvider(token: any, provider: {
        useFactory?: Function;
        useValue?: any;
        deps?: any[];
    }): TestBed;
    // (undocumented)
    overrideTemplate(component: Type<any>, template: string): TestBed;
    // (undocumented)
    overrideTemplateUsingTestingModule(component: Type<any>, template: string): TestBed;
    // (undocumented)
    get platform(): PlatformRef;
    resetTestEnvironment(): void;
    // (undocumented)
    resetTestingModule(): TestBed;
}

// @public
export const TestBed: TestBedStatic;

// @public
export interface TestBedStatic extends TestBed {
    // (undocumented)
    new (...args: any[]): TestBed;
}

// @public
export class TestComponentRenderer {
    // (undocumented)
    insertRootElement(rootElementId: string): void;
    // (undocumented)
    removeAllRootElements?(): void;
}

// @public (undocumented)
export interface TestEnvironmentOptions {
    errorOnUnknownElements?: boolean;
    errorOnUnknownProperties?: boolean;
    teardown?: ModuleTeardownOptions;
}

// @public (undocumented)
export interface TestModuleMetadata {
    // (undocumented)
    declarations?: any[];
    errorOnUnknownElements?: boolean;
    errorOnUnknownProperties?: boolean;
    // (undocumented)
    imports?: any[];
    // (undocumented)
    providers?: any[];
    // (undocumented)
    schemas?: Array<SchemaMetadata | any[]>;
    // (undocumented)
    teardown?: ModuleTeardownOptions;
}

// @public
export function tick(millis?: number, tickOptions?: {
    processNewMacroTasksSynchronously: boolean;
}): void;

// @public
export function waitForAsync(fn: Function): (done: any) => any;

// @public (undocumented)
export function withModule(moduleDef: TestModuleMetadata): InjectSetupWrapper;

// @public (undocumented)
export function withModule(moduleDef: TestModuleMetadata, fn: Function): () => any;

// (No @packageDocumentation comment for this package)