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
JavaScript
;
/* 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