test: helper to expect deprecation warnings (#39405)

This commit is contained in:
David Sanders 2023-08-09 02:01:52 -07:00 committed by GitHub
parent d24d8f1f78
commit 0425454687
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -0,0 +1,26 @@
import { expect } from 'chai';
export async function expectDeprecationMessages (func: () => any, ...expected: string[]) {
const messages: string[] = [];
const originalWarn = console.warn;
console.warn = (message) => {
messages.push(message);
};
const warningListener = (error: Error) => {
messages.push(error.message);
};
process.on('warning', warningListener);
try {
return await func();
} finally {
// process.emitWarning seems to need us to wait a tick
await new Promise(process.nextTick);
console.warn = originalWarn;
process.off('warning', warningListener);
expect(messages).to.deep.equal(expected);
}
}