diff --git a/src/core/operations/GenerateImage.mjs b/src/core/operations/GenerateImage.mjs index c276213d..c7b67c59 100644 --- a/src/core/operations/GenerateImage.mjs +++ b/src/core/operations/GenerateImage.mjs @@ -40,11 +40,13 @@ class GenerateImage extends Operation { name: "Pixel Scale Factor", type: "number", value: 8, + integer: true, }, { name: "Pixels per row", type: "number", value: 64, + integer: true, }, ]; } diff --git a/tests/operations/tests/Image.mjs b/tests/operations/tests/Image.mjs index fe6cab10..fec77c76 100644 --- a/tests/operations/tests/Image.mjs +++ b/tests/operations/tests/Image.mjs @@ -56,6 +56,55 @@ TestRegister.addTests([ } ] }, + { + name: "Generate Image: valid integer pixels per row", + input: "00010203", + expectedMatch: /89504e470d0a1a0a/, + recipeConfig: [ + { + op: "From Hex", + args: ["None"] + }, + { + op: "Generate Image", + args: ["Greyscale", 1, 2] + }, + { + op: "To Hex", + args: ["None"] + } + ] + }, + { + name: "Generate Image: pixel scale factor must be an integer", + input: "00010203", + expectedOutput: "Pixel Scale Factor must be an integer.", + recipeConfig: [ + { + op: "From Hex", + args: ["None"] + }, + { + op: "Generate Image", + args: ["Greyscale", 1.2, 2] + } + ] + }, + { + name: "Generate Image: pixels per row must be an integer", + input: "00010203", + expectedOutput: "Pixels per row must be an integer.", + recipeConfig: [ + { + op: "From Hex", + args: ["None"] + }, + { + op: "Generate Image", + args: ["Greyscale", 1, 1024.4] + } + ] + }, { name: "Extract EXIF: nothing", input: "",