feat(operation-wrap): add new Wrap operation to format text at specified line width (#1882)

This commit is contained in:
0xff1ce
2026-05-08 15:58:19 +01:00
committed by GitHub
parent 6822bd5584
commit e294caeeb4
4 changed files with 93 additions and 0 deletions
+1
View File
@@ -181,6 +181,7 @@ import "./tests/TranslateDateTimeFormat.mjs";
import "./tests/Typex.mjs";
import "./tests/UnescapeString.mjs";
import "./tests/Unicode.mjs";
import "./tests/Wrap.mjs";
import "./tests/URLEncodeDecode.mjs";
import "./tests/RSA.mjs";
import "./tests/CBOREncode.mjs";
+44
View File
@@ -0,0 +1,44 @@
/**
* @author 0xff1ce [github.com/0xff1ce]
* @copyright Crown Copyright 2024
* @license Apache-2.0
*/
import TestRegister from "../../lib/TestRegister.mjs";
TestRegister.addTests([
// Add tests specific to the Wrap operation
{
name: "Wrap text at 64 characters",
input: "A".repeat(128), // Generate an input string of 128 'A' characters
expectedOutput: "A".repeat(64) + "\n" + "A".repeat(64), // Expected output with a line break after 64 characters
recipeConfig: [
{
"op": "Wrap",
"args": [64]
},
],
},
{
name: "Wrap text at 32 characters",
input: "B".repeat(96), // Generate an input string of 96 'B' characters
expectedOutput: "B".repeat(32) + "\n" + "B".repeat(32) + "\n" + "B".repeat(32), // Expected output with line breaks after every 32 characters
recipeConfig: [
{
"op": "Wrap",
"args": [32]
},
],
},
{
name: "Wrap text at 10 characters",
input: "1234567890".repeat(10), // Generate an input string by repeating '1234567890'
expectedOutput: Array(10).fill("1234567890").join("\n"), // Expected output with line breaks every 10 characters
recipeConfig: [
{
"op": "Wrap",
"args": [10]
},
],
}
]);