@@ -675,15 +675,21 @@ describe('The node_redis client', function () {
675675 done ( ) ;
676676 } ) ;
677677 } ) ;
678- require ( 'domain' ) . create ( ) ;
679678 } ) ;
680679
681680 it ( 'catches all errors from within the domain' , function ( done ) {
682681 var domain = require ( 'domain' ) . create ( ) ;
683682
684683 domain . run ( function ( ) {
685- // Trigger an error within the domain
684+ if ( process . versions . node . split ( '.' ) [ 0 ] >= 13 ) {
685+ // Node >= 13
686+ // Recreate client in domain so error handlers run this domain
687+ // Changed in: "error handler runs outside of its domain"
688+ // https://github.com/nodejs/node/pull/26211
689+ client = redis . createClient ( ) ;
690+ }
686691 client . end ( true ) ;
692+ // Trigger an error within the domain
687693 client . set ( 'domain' , 'value' ) ;
688694 } ) ;
689695
@@ -1053,7 +1059,13 @@ describe('The node_redis client', function () {
10531059 end ( ) ;
10541060 } else {
10551061 assert . equal ( err . code , 'ECONNREFUSED' ) ;
1056- assert . equal ( err . errno , 'ECONNREFUSED' ) ;
1062+ if ( typeof err . errno === 'number' ) {
1063+ // >= Node 13
1064+ assert . equal ( err . errno , - 61 ) ;
1065+ } else {
1066+ // < Node 13
1067+ assert . equal ( err . errno , 'ECONNREFUSED' ) ;
1068+ }
10571069 assert . equal ( err . syscall , 'connect' ) ;
10581070 end ( ) ;
10591071 }
@@ -1139,7 +1151,13 @@ describe('The node_redis client', function () {
11391151 end ( ) ;
11401152 } else {
11411153 assert . equal ( err . code , 'ECONNREFUSED' ) ;
1142- assert . equal ( err . errno , 'ECONNREFUSED' ) ;
1154+ if ( typeof err . errno === 'number' ) {
1155+ // >= Node 13
1156+ assert . equal ( err . errno , - 61 ) ;
1157+ } else {
1158+ // < Node 13
1159+ assert . equal ( err . errno , 'ECONNREFUSED' ) ;
1160+ }
11431161 assert . equal ( err . syscall , 'connect' ) ;
11441162 redis . debug_mode = false ;
11451163 client . end ( true ) ;
0 commit comments