|
1 | 1 | import {RespEncoder} from '../RespEncoder'; |
2 | 2 | import {RespDecoder} from '../RespDecoder'; |
| 3 | +import {RespStreamingDecoder} from '../RespStreamingDecoder'; |
3 | 4 | import {documents} from '../../../__tests__/json-documents'; |
4 | 5 | import {binaryDocuments} from '../../../__tests__/binary-documents'; |
5 | 6 |
|
6 | 7 | const docs = [...documents, ...binaryDocuments]; |
7 | 8 |
|
8 | 9 | const encoder = new RespEncoder(); |
9 | 10 | const decoder = new RespDecoder(); |
| 11 | +const streamingDecoder = new RespStreamingDecoder(); |
10 | 12 |
|
11 | 13 | describe('skipping', () => { |
12 | | - for (const t of docs) { |
13 | | - (t.only ? test.only : test)(t.name, () => { |
14 | | - encoder.writeAny(t.json); |
15 | | - encoder.writeAny({foo: 'bar'}); |
16 | | - const encoded = encoder.writer.flush(); |
17 | | - decoder.reader.reset(encoded); |
18 | | - decoder.skipAny(); |
19 | | - const decoded = decoder.val(); |
20 | | - expect(decoded).toEqual({foo: 'bar'}); |
21 | | - }); |
22 | | - } |
| 14 | + describe('RespDecoder', () => { |
| 15 | + for (const t of docs) { |
| 16 | + (t.only ? test.only : test)(t.name, () => { |
| 17 | + encoder.writeAny(t.json); |
| 18 | + encoder.writeAny({foo: 'bar'}); |
| 19 | + const encoded = encoder.writer.flush(); |
| 20 | + decoder.reader.reset(encoded); |
| 21 | + decoder.skipAny(); |
| 22 | + const decoded = decoder.val(); |
| 23 | + expect(decoded).toEqual({foo: 'bar'}); |
| 24 | + }); |
| 25 | + } |
| 26 | + }); |
| 27 | + |
| 28 | + describe('RespStreamingDecoder', () => { |
| 29 | + for (const t of docs) { |
| 30 | + (t.only ? test.only : test)(t.name, () => { |
| 31 | + encoder.writeAny(t.json); |
| 32 | + encoder.writeAny({foo: 'bar'}); |
| 33 | + const encoded = encoder.writer.flush(); |
| 34 | + streamingDecoder.push(encoded); |
| 35 | + streamingDecoder.skip(); |
| 36 | + const decoded = streamingDecoder.read(); |
| 37 | + expect(decoded).toEqual({foo: 'bar'}); |
| 38 | + }); |
| 39 | + } |
| 40 | + }); |
23 | 41 | }); |
0 commit comments