diff --git a/src/testing-utils.ts b/src/testing-utils.ts index 8ed2e3155..d6fe86cb0 100644 --- a/src/testing-utils.ts +++ b/src/testing-utils.ts @@ -184,8 +184,8 @@ export interface LoggedMessage { export class RecordingLogger implements Logger { messages: LoggedMessage[] = []; - groups: string[] = []; - unfinishedGroups: Set = new Set(); + readonly groups: string[] = []; + readonly unfinishedGroups: Set = new Set(); private currentGroup: string | undefined = undefined; constructor(private readonly logToConsole: boolean = true) {} @@ -199,6 +199,19 @@ export class RecordingLogger implements Logger { } } + /** + * Checks whether the logged messages contain `messageOrRegExp`. + * + * If `messageOrRegExp` is a string, this function returns true as long as + * `messageOrRegExp` appears as part of one of the `messages`. + * + * If `messageOrRegExp` is a regular expression, this function returns true as long as + * one of the `messages` matches `messageOrRegExp`. + */ + hasMessage(messageOrRegExp: string | RegExp): boolean { + return hasLoggedMessage(this.messages, messageOrRegExp); + } + isDebug() { return true; } @@ -302,7 +315,7 @@ export function assertNotLogged( message: string | RegExp, ) { t.false( - hasLoggedMessage(logger.messages, message), + logger.hasMessage(message), `'${message}' should not have been logged, but was.`, ); }