electron/spec/lib/deprecate-helpers.ts

27 lines
673 B
TypeScript

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' as any, warningListener);
expect(messages).to.deep.equal(expected);
}
}