Tidied up Base85 issues

This commit is contained in:
n1474335 2022-07-08 15:15:53 +01:00
parent b71e3241be
commit 2f097e5dfc
2 changed files with 11 additions and 7 deletions

View File

@ -85,6 +85,10 @@ class FromBase85 extends Operation {
throw new OperationError("Alphabet must be of length 85");
}
// Remove delimiters if present
const matches = input.match(/^<~(.+?)~>$/);
if (matches !== null) input = matches[1];
// Remove non-alphabet characters
if (removeNonAlphChars) {
const re = new RegExp("[^" + alphabet.replace(/[[\]\\\-^$]/g, "\\$&") + "]", "g");
@ -93,13 +97,6 @@ class FromBase85 extends Operation {
if (input.length === 0) return [];
input = input.replace(/\s+/g, "");
if (encoding === "Standard") {
const matches = input.match(/<~(.+?)~>/);
if (matches !== null) input = matches[1];
}
let i = 0;
let block, blockBytes;
while (i < input.length) {

View File

@ -12,6 +12,7 @@
import Chef from "../../src/core/Chef.mjs";
import Utils from "../../src/core/Utils.mjs";
import cliProgress from "cli-progress";
import log from "loglevel";
/**
* Object to store and run the list of tests.
@ -50,6 +51,9 @@ class TestRegister {
* Runs all the tests in the register.
*/
async runTests () {
// Turn off logging to avoid messy errors
log.setLevel("silent", false);
const progBar = new cliProgress.SingleBar({
format: formatter,
stopOnComplete: true
@ -128,6 +132,9 @@ class TestRegister {
progBar.increment();
}
// Turn logging back on
log.setLevel("info", false);
return testResults;
}