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