Add hasMessage to RecordingLogger

This commit is contained in:
Michael B. Gale
2026-02-24 20:45:41 +00:00
parent ddafddb826
commit de06821112
+16 -3
View File
@@ -184,8 +184,8 @@ export interface LoggedMessage {
export class RecordingLogger implements Logger {
messages: LoggedMessage[] = [];
groups: string[] = [];
unfinishedGroups: Set<string> = new Set();
readonly groups: string[] = [];
readonly unfinishedGroups: Set<string> = 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.`,
);
}