adding BraceMatching operation

This commit is contained in:
DBHeise 2019-04-12 18:44:26 +00:00
parent 8d0fcf37c5
commit 85b98f1111
4 changed files with 206 additions and 1 deletions

View file

@ -90,6 +90,7 @@ import "./tests/Typex";
import "./tests/BLAKE2b";
import "./tests/BLAKE2s";
import "./tests/Protobuf";
import "./tests/BraceMatching";
// Cannot test operations that use the File type yet
//import "./tests/SplitColourChannels";

View file

@ -0,0 +1,101 @@
/**
* Brace Matching tests.
*
* @author DBHeise [david@heiseink.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
import TestRegister from "../TestRegister";
TestRegister.addTests([
{
name: "Brace Matching Simple",
input: "(test)",
expectedOutput: "test",
recipeConfig: [
{
"op": "Brace Matching",
"args": ["(", ")", "\"'", "\\"]
}
]
},
{
name: "Brace Matching Simple with extra text",
input: "this is a simple (test) of this function",
expectedOutput: "test",
recipeConfig: [
{
"op": "Brace Matching",
"args": ["(", ")", "\"'", "\\"]
}
]
},
{
name: "Brace Matching Simple with strings",
input: "{test \"}\"}",
expectedOutput: "test \"}\"",
recipeConfig: [
{
"op": "Brace Matching",
"args": ["{", "}", "\"'", "\\"]
}
]
},
{
name: "Brace Matching Simple with strings 2",
input: "{test '}'}",
expectedOutput: "test '}'",
recipeConfig: [
{
"op": "Brace Matching",
"args": ["{", "}", "\"'", "\\"]
}
]
},
{
name: "Brace Matching Simple nested",
input: "[this [test] good]",
expectedOutput: "this [test] good",
recipeConfig: [
{
"op": "Brace Matching",
"args": ["[", "]", "\"'", "\\"]
}
]
},
{
name: "Brace Matching Simple escaped",
input: "<test \\> foo bar>",
expectedOutput: "test \\> foo bar",
recipeConfig: [
{
"op": "Brace Matching",
"args": ["<", ">", "\"'", "\\"]
}
]
},
{
name: "Brace Matching Complex multi nesting 1",
input: "(((((test)))))(((((test)))))",
expectedOutput: "((((test))))",
recipeConfig: [
{
"op": "Brace Matching",
"args": ["(", ")", "\"'", "\\"]
}
]
},
{
name: "Brace Matching Complex multi nesting 2",
input: "(((((test))))(((((test))))))",
expectedOutput: "((((test))))(((((test)))))",
recipeConfig: [
{
"op": "Brace Matching",
"args": ["(", ")", "\"'", "\\"]
}
]
}
]);