/** * Conditional Jump tests * * @author tlwr [toby@toby.codes] * * @copyright Crown Copyright 2018 * @license Apache-2.0 */ import TestRegister from "../TestRegister"; TestRegister.addTests([ { name: "Conditional Jump: Skips 0", input: [ "should be changed", ].join("\n"), expectedOutput: [ "YzJodmRXeGtJR0psSUdOb1lXNW5aV1E9" ].join("\n"), recipeConfig: [ { op: "Conditional Jump", args: ["match", false, "", 0], }, { op: "To Base64", args: ["A-Za-z0-9+/="], }, { op: "To Base64", args: ["A-Za-z0-9+/="], }, ], }, { name: "Conditional Jump: Skips 1", input: [ "should be changed", ].join("\n"), // Expecting base32, not base64 output expectedOutput: [ "ONUG65LMMQQGEZJAMNUGC3THMVSA====", ].join("\n"), recipeConfig: [ { op: "Conditional Jump", args: ["should", false, "skip match", 10], }, { op: "To Base64", args: ["A-Za-z0-9+/="], }, { op: "Label", args: ["skip match"], }, { op: "To Base32", args: ["A-Z2-7="], }, ], }, { name: "Conditional Jump: Skips backwards", input: [ "match", ].join("\n"), expectedOutput: [ "f7cf556f7f4fc6635db8c314f7a81f2a", ].join("\n"), recipeConfig: [ { op: "Label", args: ["back to the beginning"], }, { op: "Jump", args: ["skip replace"], }, { op: "MD2", args: [], }, { op: "Label", args: ["skip replace"], }, { op: "Conditional Jump", args: ["match", false, "back to the beginning", 10], }, ], } ]);