package.testing.index.d.ts Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of common Show documentation
Show all versions of common Show documentation
Angular - commonly needed directives and services
/**
* @license Angular v18.2.6
* (c) 2010-2024 Google LLC. https://angular.io/
* License: MIT
*/
import * as i0 from '@angular/core';
import { InjectionToken } from '@angular/core';
import { Location as Location_2 } from '@angular/common';
import { LocationChangeListener } from '@angular/common';
import { LocationStrategy } from '@angular/common';
import { PlatformLocation } from '@angular/common';
import { Provider } from '@angular/core';
import { SubscriptionLike } from 'rxjs';
/**
* Provider for mock platform location config
*
* @publicApi
*/
export declare const MOCK_PLATFORM_LOCATION_CONFIG: InjectionToken;
/**
* A mock implementation of {@link LocationStrategy} that allows tests to fire simulated
* location events.
*
* @publicApi
*/
export declare class MockLocationStrategy extends LocationStrategy {
internalBaseHref: string;
internalPath: string;
internalTitle: string;
urlChanges: string[];
private stateChanges;
constructor();
simulatePopState(url: string): void;
path(includeHash?: boolean): string;
prepareExternalUrl(internal: string): string;
pushState(ctx: any, title: string, path: string, query: string): void;
replaceState(ctx: any, title: string, path: string, query: string): void;
onPopState(fn: (value: any) => void): void;
getBaseHref(): string;
back(): void;
forward(): void;
getState(): unknown;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵprov: i0.ɵɵInjectableDeclaration;
}
/**
* Mock implementation of URL state.
*
* @publicApi
*/
export declare class MockPlatformLocation implements PlatformLocation {
private baseHref;
private hashUpdate;
private popStateSubject;
private urlChangeIndex;
private urlChanges;
constructor(config?: MockPlatformLocationConfig);
get hostname(): string;
get protocol(): string;
get port(): string;
get pathname(): string;
get search(): string;
get hash(): string;
get state(): unknown;
getBaseHrefFromDOM(): string;
onPopState(fn: LocationChangeListener): VoidFunction;
onHashChange(fn: LocationChangeListener): VoidFunction;
get href(): string;
get url(): string;
private parseChanges;
replaceState(state: any, title: string, newUrl: string): void;
pushState(state: any, title: string, newUrl: string): void;
forward(): void;
back(): void;
historyGo(relativePosition?: number): void;
getState(): unknown;
/**
* Browsers are inconsistent in when they fire events and perform the state updates
* The most easiest thing to do in our mock is synchronous and that happens to match
* Firefox and Chrome, at least somewhat closely
*
* https://github.com/WICG/navigation-api#watching-for-navigations
* https://docs.google.com/document/d/1Pdve-DJ1JCGilj9Yqf5HxRJyBKSel5owgOvUJqTauwU/edit#heading=h.3ye4v71wsz94
* popstate is always sent before hashchange:
* https://developer.mozilla.org/en-US/docs/Web/API/Window/popstate_event#when_popstate_is_sent
*/
private emitEvents;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵprov: i0.ɵɵInjectableDeclaration;
}
/**
* Mock platform location config
*
* @publicApi
*/
export declare interface MockPlatformLocationConfig {
startUrl?: string;
appBaseHref?: string;
}
/**
* Returns mock providers for the `Location` and `LocationStrategy` classes.
* The mocks are helpful in tests to fire simulated location events.
*
* @publicApi
*/
export declare function provideLocationMocks(): Provider[];
/**
* A spy for {@link Location} that allows tests to fire simulated location events.
*
* @publicApi
*/
export declare class SpyLocation implements Location_2 {
urlChanges: string[];
private _history;
private _historyIndex;
/** @nodoc */
ngOnDestroy(): void;
setInitialPath(url: string): void;
setBaseHref(url: string): void;
path(): string;
getState(): unknown;
isCurrentPathEqualTo(path: string, query?: string): boolean;
simulateUrlPop(pathname: string): void;
simulateHashChange(pathname: string): void;
prepareExternalUrl(url: string): string;
go(path: string, query?: string, state?: any): void;
replaceState(path: string, query?: string, state?: any): void;
forward(): void;
back(): void;
historyGo(relativePosition?: number): void;
onUrlChange(fn: (url: string, state: unknown) => void): VoidFunction;
subscribe(onNext: (value: any) => void, onThrow?: ((error: any) => void) | null, onReturn?: (() => void) | null): SubscriptionLike;
normalize(url: string): string;
private pushHistory;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵprov: i0.ɵɵInjectableDeclaration;
}
/**
* Return a provider for the `FakeNavigation` in place of the real Navigation API.
*/
export declare function ɵprovideFakePlatformNavigation(): Provider[];
export { }