33
44const assert = require ( 'assert' ) ;
55const Koa = require ( '../..' ) ;
6+ const mm = require ( 'mm' ) ;
67
78describe ( 'app.onerror(err)' , ( ) => {
8- beforeEach ( ( ) => {
9- global . console = jest . genMockFromModule ( 'console' ) ;
10- } ) ;
11-
12- afterEach ( ( ) => {
13- global . console = require ( 'console' ) ;
14- } ) ;
9+ afterEach ( mm . restore ) ;
1510
1611 it ( 'should throw an error if a non-error is given' , ( ) => {
1712 const app = new Koa ( ) ;
@@ -27,19 +22,21 @@ describe('app.onerror(err)', () => {
2722
2823 err . status = 404 ;
2924
25+ let called = false ;
26+ mm ( console , 'error' , ( ) => { called = true ; } ) ;
3027 app . onerror ( err ) ;
31-
32- assert . deepEqual ( console . error . mock . calls , [ ] ) ;
28+ assert ( ! called ) ;
3329 } ) ;
3430
3531 it ( 'should do nothing if .silent' , ( ) => {
3632 const app = new Koa ( ) ;
3733 app . silent = true ;
3834 const err = new Error ( ) ;
3935
36+ let called = false ;
37+ mm ( console , 'error' , ( ) => { called = true ; } ) ;
4038 app . onerror ( err ) ;
41-
42- assert . deepEqual ( console . error . mock . calls , [ ] ) ;
39+ assert ( ! called ) ;
4340 } ) ;
4441
4542 it ( 'should log the error to stderr' , ( ) => {
@@ -49,10 +46,12 @@ describe('app.onerror(err)', () => {
4946 const err = new Error ( ) ;
5047 err . stack = 'Foo' ;
5148
49+ let msg = '' ;
50+ mm ( console , 'error' , input => {
51+ if ( input ) msg = input ;
52+ } ) ;
5253 app . onerror ( err ) ;
53-
54- const stderr = console . error . mock . calls . join ( '\n' ) ;
55- assert . deepEqual ( stderr , '\n Foo\n' ) ;
54+ assert ( msg === ' Foo' ) ;
5655 } ) ;
5756
5857 it ( 'should use err.toString() instad of err.stack' , ( ) => {
@@ -64,7 +63,11 @@ describe('app.onerror(err)', () => {
6463
6564 app . onerror ( err ) ;
6665
67- const stderr = console . error . mock . calls . join ( '\n' ) ;
68- assert . equal ( stderr , '\n Error: mock stack null\n' ) ;
66+ let msg = '' ;
67+ mm ( console , 'error' , input => {
68+ if ( input ) msg = input ;
69+ } ) ;
70+ app . onerror ( err ) ;
71+ assert ( msg === ' Error: mock stack null' ) ;
6972 } ) ;
7073} ) ;
0 commit comments