base64-format
Version:
Re-format base64 data
77 lines (55 loc) • 5.53 kB
JavaScript
var assert = require("assert")
var base64Format= require("../main");
var testString = "DIwNDUgIH/5ZWFyPSAxOTk2IHxtb250aD0gTm92ZW1iZXIgfHB1Ymxpc2hlcj1bW0ludGVybmV0IEVuZ2luZWVyaW5nIFRhc2sgRm9yY2V8SUVURl1dIHxhY2Nlc3NkYXRlPSBNYXJjaCAxOCwgMjAxMH19PC9yZWY+PHJlZiB+YW1lPSJyZmMgMzU0OCI+e3tjaXRlIElFVEYgfHRpdGxlPSBUaGUgQmFzZTE2LCBCYXNlMzIsIGFuZCBCYXNlNjQgRGF0YSBFbmN/ZGluZ3MgfCByZmM9IDM1NDggIHx5ZWFyPSAyMDAzIHxtb250aD0gS/seSB8cHVibGlzaGVyPVtbSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3JjZXxJRVRGXV0gfGFjY2Vzc2RhdGU9IE1hcmNoIDE4LCAyMDEwfX08L3JlZj48cmVmIG5hbWU9ImF1dG9nZW5lcmF0+ZWQyMDA2I/8+D/o=";
describe("Formats: base64", function(){
var format = "base64";
var expect = testString;
var resultA = base64Format ({ to: format }, testString);
var resultB = base64Format ({ from: format }, resultA);
var resultC = base64Format ({ from: format })(resultA);
it("from", function() {
assert.equal(expect, resultA); // default -> format
});
it("to", function() {
assert.equal(testString, resultB); // format -> default
});
it("to (curried)", function() {
assert.equal(testString, resultC); // format -> default
});
});
describe("Formats: base64_64", function(){
var format = "base64_64";
var expect = "DIwNDUgIH/5ZWFyPSAxOTk2IHxtb250aD0gTm92ZW1iZXIgfHB1Ymxpc2hlcj1bW\r\n0ludGVybmV0IEVuZ2luZWVyaW5nIFRhc2sgRm9yY2V8SUVURl1dIHxhY2Nlc3NkY\r\nXRlPSBNYXJjaCAxOCwgMjAxMH19PC9yZWY+PHJlZiB+YW1lPSJyZmMgMzU0OCI+e\r\n3tjaXRlIElFVEYgfHRpdGxlPSBUaGUgQmFzZTE2LCBCYXNlMzIsIGFuZCBCYXNlN\r\njQgRGF0YSBFbmN/ZGluZ3MgfCByZmM9IDM1NDggIHx5ZWFyPSAyMDAzIHxtb250a\r\nD0gS/seSB8cHVibGlzaGVyPVtbSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3\r\nJjZXxJRVRGXV0gfGFjY2Vzc2RhdGU9IE1hcmNoIDE4LCAyMDEwfX08L3JlZj48cm\r\nVmIG5hbWU9ImF1dG9nZW5lcmF0+ZWQyMDA2I/8+D/o=";
var resultA = base64Format ({ to: format }, testString);
var resultB = base64Format ({ from: format }, expect);
it("from", function() {
assert.equal(expect, resultA); // default -> format
});
it("to", function() {
assert.equal(testString, resultB); // format -> default
});
});
describe("Clean:", function(){
it("true (default)", function() {
var format = "base64_64";
var expect = "DIwNDUgIH/5ZWFyPSAxOTk2IHxtb250aD0gTm92ZW1iZXIgfHB1Ymxpc2hlcj1bW\r\n0ludGVybmV0IEVuZ2luZWVyaW5nIFRhc2sgRm9yY2V8SUVURl1dIHxhY2Nlc3NkY\r\nXRlPSBNYXJjaCAxOCwgMjAxMH19PC9yZWY+PHJlZiB+YW1lPSJyZmMgMzU0OCI+e\r\n3tjaXRlIElFVEYgfHRpdGxlPSBUaGUgQmFzZTE2LCBCYXNlMzIsIGFuZCBCYXNlN\r\njQgRGF0YSBFbmN/ZGluZ3MgfCByZmM9IDM1NDggIHx5ZWFyPSAyMDAzIHxtb250a\r\nD0gS/seSB8cHVibGlzaGVyPVtbSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3\r\nJjZXxJRVRGXV0gfGFjY2Vzc2RhdGU9IE1hcmNoIDE4LCAyMDEwfX08L3JlZj48cm\r\nVmIG5hbWU9ImF1dG9nZW5lcmF0+ZWQyMDA2I/8+D/o=";
var data = "!@#$ ~\tDIwNDUgIH/5ZWFyPSAxOTk2IHxtb250aD0gTm92ZW1iZXIgfHB1Ymxpc2hlcj1bW\r\n0ludGVybmV0IEVuZ2luZWVyaW5nIFRhc2sgRm9yY2V8SUVURl1dIHxhY2Nlc3NkY\r\nXRlPSBNYXJjaCAxOCwgMjAxMH19PC9yZWY+PHJlZiB+YW1lPSJyZmMgMzU0OCI+e\r\n3tjaXRlIElFVEYgfHRpdGxlPSBUaGUgQmFzZTE2LCBCYXNlMzIsIGFuZCBCYXNlN\r\njQgRGF0YSBFbmN/ZGluZ3MgfCByZmM9IDM1NDggIHx5ZWFyPSAyMDAzIHxtb250a\r\nD0gS/seSB8cHVibGlzaGVyPVtbSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3\r\nJjZXxJRVRGXV0gfGFjY2Vzc2RhdGU9IE1hcmNoIDE4LCAyMDEwfX08L3JlZj48cm\r\nVmIG5hbWU9ImF1dG9nZW5lcmF0+ZWQyMDA2I/8+D/o=";
// Parse & convert to base64
var result = base64Format ({ from: format, to: format }, data);
assert.equal(expect, result);
});
it("true", function() {
var format = "base64_64";
var expect = "DIwNDUgIH/5ZWFyPSAxOTk2IHxtb250aD0gTm92ZW1iZXIgfHB1Ymxpc2hlcj1bW\r\n0ludGVybmV0IEVuZ2luZWVyaW5nIFRhc2sgRm9yY2V8SUVURl1dIHxhY2Nlc3NkY\r\nXRlPSBNYXJjaCAxOCwgMjAxMH19PC9yZWY+PHJlZiB+YW1lPSJyZmMgMzU0OCI+e\r\n3tjaXRlIElFVEYgfHRpdGxlPSBUaGUgQmFzZTE2LCBCYXNlMzIsIGFuZCBCYXNlN\r\njQgRGF0YSBFbmN/ZGluZ3MgfCByZmM9IDM1NDggIHx5ZWFyPSAyMDAzIHxtb250a\r\nD0gS/seSB8cHVibGlzaGVyPVtbSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3\r\nJjZXxJRVRGXV0gfGFjY2Vzc2RhdGU9IE1hcmNoIDE4LCAyMDEwfX08L3JlZj48cm\r\nVmIG5hbWU9ImF1dG9nZW5lcmF0+ZWQyMDA2I/8+D/o=";
var data = "!@#$ ~\tDIwNDUgIH/5ZWFyPSAxOTk2IHxtb250aD0gTm92ZW1iZXIgfHB1Ymxpc2hlcj1bW\r\n0ludGVybmV0IEVuZ2luZWVyaW5nIFRhc2sgRm9yY2V8SUVURl1dIHxhY2Nlc3NkY\r\nXRlPSBNYXJjaCAxOCwgMjAxMH19PC9yZWY+PHJlZiB+YW1lPSJyZmMgMzU0OCI+e\r\n3tjaXRlIElFVEYgfHRpdGxlPSBUaGUgQmFzZTE2LCBCYXNlMzIsIGFuZCBCYXNlN\r\njQgRGF0YSBFbmN/ZGluZ3MgfCByZmM9IDM1NDggIHx5ZWFyPSAyMDAzIHxtb250a\r\nD0gS/seSB8cHVibGlzaGVyPVtbSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3\r\nJjZXxJRVRGXV0gfGFjY2Vzc2RhdGU9IE1hcmNoIDE4LCAyMDEwfX08L3JlZj48cm\r\nVmIG5hbWU9ImF1dG9nZW5lcmF0+ZWQyMDA2I/8+D/o=";
// Parse & convert to base64
var result = base64Format ({ from: format, to: format, clean: true }, data);
assert.equal(expect, result);
});
it("false", function() {
var format = "base64_64";
var data = "DIw@#$%&*&*()!~`[]}{;':,./<>?50aD0gTm92ZW1iZXIgfHB1Ymxpc2hlcj1bW\r\n0ludGVybmV0IEVuZ2luZWVyaW5nIFRhc2sgRm9yY2V8SUVURl1dIHxhY2Nlc3NkY\r\nXRlPSBNYXJjaCAxOCwgMjAxMH19PC9yZWY+PHJlZiB+YW1lPSJyZmMgMzU0OCI+e\r\n3tjaXRlIElFVEYgfHRpdGxlPSBUaGUgQmFzZTE2LCBCYXNlMzIsIGFuZCBCYXNlN\r\njQgRGF0YSBFbmN/ZGluZ3MgfCByZmM9IDM1NDggIHx5ZWFyPSAyMDAzIHxtb250a\r\nD0gS/seSB8cHVibGlzaGVyPVtbSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3\r\nJjZXxJRVRGXV0gfGFjY2Vzc2RhdGU9IE1hcmNoIDE4LCAyMDEwfX08L3JlZj48cm\r\nVmIG5hbWU9ImF1dG9nZW5lcmF0+ZWQyMDA2I/8+D/o=";
var result = base64Format ({ from: format, to: format, clean: false }, data);
assert.equal(data, result);
});
});