W3cubDocs

/Angular

SpyLocation

A spy for Location that allows tests to fire simulated location events.

API

class SpyLocation implements Location {
  urlChanges: string[];
  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 | undefined, onReturn?: (() => void) | null | undefined): SubscriptionLike;
  normalize(url: string): string;
}

urlChanges

string[]

setInitialPath

void
@paramurlstring
@returnsvoid

setBaseHref

void
@paramurlstring
@returnsvoid

path

string
@returnsstring

getState

unknown
@returnsunknown

isCurrentPathEqualTo

boolean
@parampathstring
@paramquerystring
@returnsboolean

simulateUrlPop

void
@parampathnamestring
@returnsvoid

simulateHashChange

void
@parampathnamestring
@returnsvoid

prepareExternalUrl

string
@paramurlstring
@returnsstring

go

void
@parampathstring
@paramquerystring
@paramstateany
@returnsvoid

replaceState

void
@parampathstring
@paramquerystring
@paramstateany
@returnsvoid

forward

void
@returnsvoid

back

void
@returnsvoid

historyGo

void
@paramrelativePositionnumber
@returnsvoid

onUrlChange

VoidFunction
@paramfn(url: string, state: unknown) => void
@returnsVoidFunction

subscribe

SubscriptionLike
@paramonNext(value: any) => void
@paramonThrow((error: any) => void) | null | undefined
@paramonReturn(() => void) | null | undefined
@returnsSubscriptionLike

normalize

string
@paramurlstring
@returnsstring

Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/common/testing/SpyLocation