diff --git a/src/core/lib/Decimal.mjs b/src/core/lib/Decimal.mjs index a140fd4e6d..7a30bc5b80 100644 --- a/src/core/lib/Decimal.mjs +++ b/src/core/lib/Decimal.mjs @@ -24,9 +24,9 @@ import Utils from "../Utils.mjs"; * fromDecimal("10:20:30", "Colon"); */ export function fromDecimal(data, delim="Auto") { - delim = Utils.charRep(delim); + const delimRegex = delim === "Auto" ? /[^\d-]+/ : Utils.charRep(delim); const output = []; - let byteStr = data.split(delim); + let byteStr = data.split(delimRegex); if (byteStr[byteStr.length-1] === "") byteStr = byteStr.slice(0, byteStr.length-1); diff --git a/tests/node/tests/operations.mjs b/tests/node/tests/operations.mjs index 41eddd821e..0513a9cf78 100644 --- a/tests/node/tests/operations.mjs +++ b/tests/node/tests/operations.mjs @@ -532,6 +532,12 @@ Top Drawer`, { assert.strictEqual(chef.fromDecimal("72 101 108 108 111").toString(), "Hello"); }), + it("From decimal with Auto delimiter", () => { + assert.strictEqual(chef.fromDecimal("72,101,108,108,111").toString(), "Hello"); + assert.strictEqual(chef.fromDecimal("72:101:108:108:111").toString(), "Hello"); + assert.strictEqual(chef.fromDecimal("72;101;108;108;111").toString(), "Hello"); + }), + it("From hex", () => { assert.strictEqual(chef.fromHex("52 69 6e 67 20 41 6e 79 20 42 65 6c 6c 73 3f").toString(), "Ring Any Bells?"); }),