@@ -1085,96 +1085,41 @@ describe('Receiver', () => {
1085
1085
receiver . write ( Buffer . from ( [ 0x88 , 0x03 , 0x03 , 0xe8 , 0xf8 ] ) ) ;
1086
1086
} ) ;
1087
1087
1088
- it ( "waits a microtask after each 'message' event" , ( done ) => {
1089
- const messages = [ ] ;
1090
- const receiver = new Receiver ( ) ;
1091
-
1092
- receiver . on ( 'message' , ( data , isBinary ) => {
1093
- assert . ok ( ! isBinary ) ;
1094
-
1095
- const message = data . toString ( ) ;
1096
- messages . push ( message ) ;
1097
-
1098
- // `queueMicrotask()` is not available in Node.js < 11.
1099
- Promise . resolve ( ) . then ( ( ) => {
1100
- messages . push ( `microtask ${ message } ` ) ;
1101
-
1102
- if ( messages . length === 6 ) {
1103
- assert . deepStrictEqual ( messages , [
1104
- '1' ,
1105
- 'microtask 1' ,
1106
- '2' ,
1107
- 'microtask 2' ,
1108
- '3' ,
1109
- 'microtask 3'
1110
- ] ) ;
1111
-
1112
- done ( ) ;
1113
- }
1114
- } ) ;
1115
- } ) ;
1116
-
1117
- receiver . write ( Buffer . from ( '810131810132810133' , 'hex' ) ) ;
1118
- } ) ;
1119
-
1120
- it ( "waits a microtask after each 'ping' event" , ( done ) => {
1088
+ it ( "waits a microtask after the 'message', and 'p{i,o}ng' events" , ( done ) => {
1121
1089
const actual = [ ] ;
1122
- const receiver = new Receiver ( ) ;
1090
+ const expected = [
1091
+ '1' ,
1092
+ 'microtask 1' ,
1093
+ '2' ,
1094
+ 'microtask 2' ,
1095
+ '3' ,
1096
+ 'microtask 3' ,
1097
+ '4' ,
1098
+ 'microtask 4'
1099
+ ] ;
1123
1100
1124
- receiver . on ( 'ping' , ( data ) => {
1101
+ function listener ( data ) {
1125
1102
const message = data . toString ( ) ;
1126
1103
actual . push ( message ) ;
1127
1104
1128
1105
// `queueMicrotask()` is not available in Node.js < 11.
1129
1106
Promise . resolve ( ) . then ( ( ) => {
1130
1107
actual . push ( `microtask ${ message } ` ) ;
1131
1108
1132
- if ( actual . length === 6 ) {
1133
- assert . deepStrictEqual ( actual , [
1134
- '1' ,
1135
- 'microtask 1' ,
1136
- '2' ,
1137
- 'microtask 2' ,
1138
- '3' ,
1139
- 'microtask 3'
1140
- ] ) ;
1141
-
1109
+ if ( actual . length === 8 ) {
1110
+ assert . deepStrictEqual ( actual , expected ) ;
1142
1111
done ( ) ;
1143
1112
}
1144
1113
} ) ;
1145
- } ) ;
1146
-
1147
- receiver . write ( Buffer . from ( '890131890132890133' , 'hex' ) ) ;
1148
- } ) ;
1114
+ }
1149
1115
1150
- it ( "waits a microtask after each 'pong' event" , ( done ) => {
1151
- const actual = [ ] ;
1152
1116
const receiver = new Receiver ( ) ;
1153
1117
1154
- receiver . on ( 'pong' , ( data ) => {
1155
- const message = data . toString ( ) ;
1156
- actual . push ( message ) ;
1157
-
1158
- // `queueMicrotask()` is not available in Node.js < 11.
1159
- Promise . resolve ( ) . then ( ( ) => {
1160
- actual . push ( `microtask ${ message } ` ) ;
1161
-
1162
- if ( actual . length === 6 ) {
1163
- assert . deepStrictEqual ( actual , [
1164
- '1' ,
1165
- 'microtask 1' ,
1166
- '2' ,
1167
- 'microtask 2' ,
1168
- '3' ,
1169
- 'microtask 3'
1170
- ] ) ;
1171
-
1172
- done ( ) ;
1173
- }
1174
- } ) ;
1175
- } ) ;
1118
+ receiver . on ( 'message' , listener ) ;
1119
+ receiver . on ( 'ping' , listener ) ;
1120
+ receiver . on ( 'pong' , listener ) ;
1176
1121
1177
- receiver . write ( Buffer . from ( '8A01318A01328A0133 ' , 'hex' ) ) ;
1122
+ receiver . write ( Buffer . from ( '8101318901328a0133810134 ' , 'hex' ) ) ;
1178
1123
} ) ;
1179
1124
1180
1125
it ( 'does not swallow errors thrown from event handlers' , ( done ) => {
0 commit comments