From bbf19ee9444616a09a44c1a9656d9161105c6d54 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 24 Aug 2020 11:24:25 +0100 Subject: [PATCH] argument added for numbers in ROT --- src/core/operations/ROT13.mjs | 13 +++++++++++-- tests/operations/tests/Rotate.mjs | 10 +++++----- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/core/operations/ROT13.mjs b/src/core/operations/ROT13.mjs index c36766aa..75be2f2b 100644 --- a/src/core/operations/ROT13.mjs +++ b/src/core/operations/ROT13.mjs @@ -35,6 +35,11 @@ class ROT13 extends Operation { type: "boolean", value: true }, + { + name: "Rotate Numbers", + type: "boolean", + value: true + }, { name: "Amount", type: "number", @@ -51,8 +56,9 @@ class ROT13 extends Operation { run(input, args) { const output = input, rot13Lowercase = args[0], - rot13Upperacse = args[1]; - let amount = args[2], + rot13Upperacse = args[1], + rotNumbers = args[2]; + let amount = args[3], chr; if (amount) { @@ -68,6 +74,9 @@ class ROT13 extends Operation { } else if (rot13Lowercase && chr >= 97 && chr <= 122) { // Lower case chr = (chr - 97 + amount) % 26; output[i] = chr + 97; + } else if (rotNumbers && chr >= 48 && chr <= 57) { + chr = (chr - 48 + amount) % 10; + output[i] = chr + 48; } } } diff --git a/tests/operations/tests/Rotate.mjs b/tests/operations/tests/Rotate.mjs index fe832b4a..85e31508 100644 --- a/tests/operations/tests/Rotate.mjs +++ b/tests/operations/tests/Rotate.mjs @@ -131,7 +131,7 @@ TestRegister.addTests([ recipeConfig: [ { op: "ROT13", - args: [true, true, 13] + args: [true, true, true, 13] }, ], }, @@ -142,7 +142,7 @@ TestRegister.addTests([ recipeConfig: [ { op: "ROT13", - args: [true, true, 13] + args: [true, true, true, 13] }, ], }, @@ -153,7 +153,7 @@ TestRegister.addTests([ recipeConfig: [ { op: "ROT13", - args: [true, true, 26] + args: [true, true, true, 26] }, ], }, @@ -164,7 +164,7 @@ TestRegister.addTests([ recipeConfig: [ { op: "ROT13", - args: [true, false, 13] + args: [true, false, false, 13] }, ], }, @@ -175,7 +175,7 @@ TestRegister.addTests([ recipeConfig: [ { op: "ROT13", - args: [false, true, 13] + args: [false, true, false, 13] }, ], },