deprecate-helpers.ts 666 B

1234567891011121314151617181920212223242526
  1. import { expect } from 'chai';
  2. export async function expectDeprecationMessages (func: () => any, ...expected: string[]) {
  3. const messages: string[] = [];
  4. const originalWarn = console.warn;
  5. console.warn = (message) => {
  6. messages.push(message);
  7. };
  8. const warningListener = (error: Error) => {
  9. messages.push(error.message);
  10. };
  11. process.on('warning', warningListener);
  12. try {
  13. return await func();
  14. } finally {
  15. // process.emitWarning seems to need us to wait a tick
  16. await new Promise(process.nextTick);
  17. console.warn = originalWarn;
  18. process.off('warning', warningListener);
  19. expect(messages).to.deep.equal(expected);
  20. }
  21. }