UNPKG

file-box

Version:

Pack a File into Box for easy move/transfer between servers no matter of where it is.(local path, remote url, or cloud storage)

39 lines 1.69 kB
#!/usr/bin/env -S node --no-warnings --loader ts-node/esm "use strict"; /* eslint @typescript-eslint/no-unused-vars:off */ Object.defineProperty(exports, "__esModule", { value: true }); const tstest_1 = require("tstest"); const stream_1 = require("stream"); const sized_chunk_transformer_js_1 = require("./sized-chunk-transformer.js"); (0, tstest_1.test)('chunkerTransformStream()', async (t) => { const DATA_LIST = [ 'a', 'b', ]; const DATA = DATA_LIST.join(''); const createStream = () => { const stream = new stream_1.PassThrough(); stream.end(DATA); return stream; }; const getDataList = (stream) => { return new Promise(resolve => { const list = []; stream.on('end', () => resolve(list)); stream.on('data', chunk => list.push(chunk)); }); }; const newStream0 = createStream(); const dataList0 = await getDataList(newStream0); t.equal(dataList0.length, 1, 'should get 1 chunks'); t.equal(dataList0[0].toString(), DATA, 'should get data'); const newStream1 = createStream().pipe((0, sized_chunk_transformer_js_1.sizedChunkTransformer)(2)); const dataList1 = await getDataList(newStream1); t.equal(dataList1.length, 1, 'should get 1 chunks'); t.equal(dataList1[0].toString(), DATA, 'should get data'); const newStream2 = createStream().pipe((0, sized_chunk_transformer_js_1.sizedChunkTransformer)(1)); const dataList2 = await getDataList(newStream2); t.equal(dataList2.length, 2, 'should get 2 chunks'); t.equal(dataList2.join(''), DATA, 'should get data'); }); //# sourceMappingURL=sized-chunk-transformer.spec.js.map