|
@@ -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);
|
|
|
+ }
|
|
|
+}
|