@@ -675,15 +675,21 @@ describe('The node_redis client', function () {
675
675
done ( ) ;
676
676
} ) ;
677
677
} ) ;
678
- require ( 'domain' ) . create ( ) ;
679
678
} ) ;
680
679
681
680
it ( 'catches all errors from within the domain' , function ( done ) {
682
681
var domain = require ( 'domain' ) . create ( ) ;
683
682
684
683
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
+ }
686
691
client . end ( true ) ;
692
+ // Trigger an error within the domain
687
693
client . set ( 'domain' , 'value' ) ;
688
694
} ) ;
689
695
@@ -1053,7 +1059,13 @@ describe('The node_redis client', function () {
1053
1059
end ( ) ;
1054
1060
} else {
1055
1061
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
+ }
1057
1069
assert . equal ( err . syscall , 'connect' ) ;
1058
1070
end ( ) ;
1059
1071
}
@@ -1139,7 +1151,13 @@ describe('The node_redis client', function () {
1139
1151
end ( ) ;
1140
1152
} else {
1141
1153
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
+ }
1143
1161
assert . equal ( err . syscall , 'connect' ) ;
1144
1162
redis . debug_mode = false ;
1145
1163
client . end ( true ) ;
0 commit comments