Add hasMessage to RecordingLogger

This commit is contained in:
Michael B. Gale
2026-02-24 20:45:41 +00:00
parent 33edb83959
commit f56d0ec51b
+16 -3
View File
@@ -157,8 +157,8 @@ export interface LoggedMessage {
export class RecordingLogger implements Logger { export class RecordingLogger implements Logger {
messages: LoggedMessage[] = []; messages: LoggedMessage[] = [];
groups: string[] = []; readonly groups: string[] = [];
unfinishedGroups: Set<string> = new Set(); readonly unfinishedGroups: Set<string> = new Set();
private currentGroup: string | undefined = undefined; private currentGroup: string | undefined = undefined;
constructor(private readonly logToConsole: boolean = true) {} constructor(private readonly logToConsole: boolean = true) {}
@@ -172,6 +172,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() { isDebug() {
return true; return true;
} }
@@ -275,7 +288,7 @@ export function assertNotLogged(
message: string | RegExp, message: string | RegExp,
) { ) {
t.false( t.false(
hasLoggedMessage(logger.messages, message), logger.hasMessage(message),
`'${message}' should not have been logged, but was.`, `'${message}' should not have been logged, but was.`,
); );
} }