@@ -18,15 +18,15 @@ function test(name: string, config: Test) {
18
18
it ( 'single chunk' , ( ) => {
19
19
const setup = setupTest ( config ) ;
20
20
setup . decoder . write ( config . toWrite ) ;
21
- assertCalls ( config , setup ) ;
21
+ assertSpiesCalls ( config , setup ) ;
22
22
} ) ;
23
23
24
24
it ( 'byte by byte' , ( ) => {
25
25
const setup = setupTest ( config ) ;
26
26
for ( let i = 0 ; i < config . toWrite . length ; i ++ ) {
27
27
setup . decoder . write ( config . toWrite . subarray ( i , i + 1 ) ) ;
28
28
}
29
- assertCalls ( config , setup ) ;
29
+ assertSpiesCalls ( config , setup ) ;
30
30
} ) ;
31
31
} )
32
32
}
@@ -49,7 +49,7 @@ function setupTest(config: Test) {
49
49
} ;
50
50
}
51
51
52
- function assertCalls ( config : Test , spies : ReturnType < typeof setupTest > ) {
52
+ function assertSpiesCalls ( config : Test , spies : ReturnType < typeof setupTest > ) {
53
53
assertSpyCalls ( spies . onReplySpy , config . replies ) ;
54
54
assertSpyCalls ( spies . onErrorReplySpy , config . errorReplies ) ;
55
55
assertSpyCalls ( spies . onPushSpy , config . pushReplies ) ;
@@ -302,6 +302,40 @@ describe('RESP Decoder', () => {
302
302
replies : [ [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] ]
303
303
} ) ;
304
304
305
+ test ( 'with all types' , {
306
+ toWrite : Buffer . from ( [
307
+ '*13\r\n' ,
308
+ '_\r\n' ,
309
+ '#f\r\n' ,
310
+ ':0\r\n' ,
311
+ '(0\r\n' ,
312
+ ',0\r\n' ,
313
+ '+\r\n' ,
314
+ '$0\r\n\r\n' ,
315
+ '=4\r\ntxt:\r\n' ,
316
+ '-\r\n' ,
317
+ '!0\r\n\r\n' ,
318
+ '*0\r\n' ,
319
+ '~0\r\n' ,
320
+ '%0\r\n'
321
+ ] . join ( '' ) ) ,
322
+ replies : [ [
323
+ null ,
324
+ false ,
325
+ 0 ,
326
+ 0n ,
327
+ 0 ,
328
+ '' ,
329
+ '' ,
330
+ '' ,
331
+ new SimpleError ( '' ) ,
332
+ new BlobError ( '' ) ,
333
+ [ ] ,
334
+ [ ] ,
335
+ Object . create ( null )
336
+ ] ]
337
+ } ) ;
338
+
305
339
test ( 'null (RESP2 backwards compatibility)' , {
306
340
toWrite : Buffer . from ( '*-1\r\n' ) ,
307
341
replies : [ null ]
0 commit comments