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)

51 lines 2.46 kB
#!/usr/bin/env -S node --no-warnings --loader ts-node/esm "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // tslint:disable:no-shadowed-variable const tstest_1 = require("tstest"); const misc_js_1 = require("./misc.js"); (0, tstest_1.test)('dataUrl to base64', async (t) => { const base64 = [ 'R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl', '3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'ACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGA', 'iqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7', ].join(''); const dataUrl = [ 'data:image/png;base64,', base64, ].join(''); t.equal(base64, (0, misc_js_1.dataUrlToBase64)(dataUrl), 'should get base64 from dataUrl'); }); (0, tstest_1.test)('httpHeadHeader', async (t) => { const URL = 'https://github.com/huan/file-box/archive/v0.6.tar.gz'; const EXPECTED_HEADERS_KEY = 'content-disposition'; const EXPECTED_HEADERS_VALUE = 'attachment; filename=file-box-0.6.tar.gz'; const headers = await (0, misc_js_1.httpHeadHeader)(URL); t.equal(headers[EXPECTED_HEADERS_KEY], EXPECTED_HEADERS_VALUE, 'should get the headers right'); }); (0, tstest_1.test)('httpHeaderToFileName', async (t) => { const HEADERS_QUOTATION_MARK = { 'content-disposition': 'attachment; filename="db-0.0.19.zip"', }; const HEADERS_NO_QUOTATION_MARK = { 'content-disposition': 'attachment; filename=db-0.0.19.zip', }; const EXPECTED_FILE_NAME = 'db-0.0.19.zip'; let filename = (0, misc_js_1.httpHeaderToFileName)(HEADERS_QUOTATION_MARK); t.equal(filename, EXPECTED_FILE_NAME, 'should get filename with quotation mark'); filename = (0, misc_js_1.httpHeaderToFileName)(HEADERS_NO_QUOTATION_MARK); t.equal(filename, EXPECTED_FILE_NAME, 'should get filename with no quotation mark'); }); (0, tstest_1.test)('httpStream', async (t) => { const URL = 'https://httpbin.org/headers'; const MOL_KEY = 'Mol'; const MOL_VAL = '42'; const headers = {}; headers[MOL_KEY] = MOL_VAL; const res = await (0, misc_js_1.httpStream)(URL, headers); const buffer = await (0, misc_js_1.streamToBuffer)(res); const obj = JSON.parse(buffer.toString()); t.equal(obj.headers[MOL_KEY], MOL_VAL, 'should send the header right'); }); //# sourceMappingURL=misc.spec.js.map