diff options
| author | Ben Culkin <scorpress@gmail.com> | 2020-05-20 19:12:01 -0400 |
|---|---|---|
| committer | Ben Culkin <scorpress@gmail.com> | 2020-05-20 19:12:01 -0400 |
| commit | b02d2b07a7570f61e906850d41d73724dbce8a29 (patch) | |
| tree | 55e0c8f85f92a8a73c773bdc3a349fe81c1974e8 /src | |
| parent | 4038e3ec26a646f660130697ba70d40168926493 (diff) | |
Add test11.rp
Added a new test file, which tests how the body-inline multi-flags work
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/bjc/everge/ControlledString.java | 2 | ||||
| -rw-r--r-- | src/main/java/bjc/everge/ReplPair.java | 8 | ||||
| -rw-r--r-- | src/test/java/bjc/everge/EvergeTest.java | 2 | ||||
| -rw-r--r-- | src/test/java/bjc/everge/ReplPairTest.java | 8 |
4 files changed, 16 insertions, 4 deletions
diff --git a/src/main/java/bjc/everge/ControlledString.java b/src/main/java/bjc/everge/ControlledString.java index aa1ea99..75e1fdc 100644 --- a/src/main/java/bjc/everge/ControlledString.java +++ b/src/main/java/bjc/everge/ControlledString.java @@ -60,6 +60,8 @@ public class ControlledString { * @return The number of arguments to this control. */ public int count() { + if (args == null) return 0; + return args.length; } diff --git a/src/main/java/bjc/everge/ReplPair.java b/src/main/java/bjc/everge/ReplPair.java index a8d1b0f..fa0a47b 100644 --- a/src/main/java/bjc/everge/ReplPair.java +++ b/src/main/java/bjc/everge/ReplPair.java @@ -294,7 +294,7 @@ public class ReplPair implements Comparable<ReplPair>, UnaryOperator<String> { } if (isMulti) { - String tmp = readMultiLine(body, scn, ropts, errs, "body", lno); + String tmp = readMultiLine(body, scn, ropts, "body", lno); if (tmp == null) continue; body = tmp; @@ -424,7 +424,7 @@ public class ReplPair implements Comparable<ReplPair>, UnaryOperator<String> { } private static String readMultiLine(String lead, Scanner src, ReplOpts ropts, - List<ReplError> errs, String typ, IntHolder lno) { + String typ, IntHolder lno) { String tmp = lead; if (ropts.isTrace && tmp.endsWith("\\")) @@ -471,6 +471,8 @@ public class ReplPair implements Comparable<ReplPair>, UnaryOperator<String> { return inp; } + // FIXME :EndingSlash Ben Culkin 5/20/20 + // In the event that replace ends with a \, that throws a confusing exception String res = inp.replaceAll(find, replace); return res; @@ -685,7 +687,7 @@ public class ReplPair implements Comparable<ReplPair>, UnaryOperator<String> { // Multi-line name with a trailer if (isMulti) { - String tmp = readMultiLine(name, scn, ropts, errs, "name", lno); + String tmp = readMultiLine(name, scn, ropts, "name", lno); if (tmp == null) return null; name = tmp; diff --git a/src/test/java/bjc/everge/EvergeTest.java b/src/test/java/bjc/everge/EvergeTest.java index e9384cd..c99b15e 100644 --- a/src/test/java/bjc/everge/EvergeTest.java +++ b/src/test/java/bjc/everge/EvergeTest.java @@ -52,7 +52,7 @@ public class EvergeTest { evg.setOutput(normOut); evg.setError(normErr); - evg.processArgs("--verbosity", "4", "-n"); + evg.processArgs("--verbosity", "4"); List<String> errs = new ArrayList<>(); boolean stat = evg.processArgs(errs, "--input-status", "line", "--file", "data/test/evg-test1.rp", "data/test/evg-test1.inp"); diff --git a/src/test/java/bjc/everge/ReplPairTest.java b/src/test/java/bjc/everge/ReplPairTest.java index 6583855..43ae68a 100644 --- a/src/test/java/bjc/everge/ReplPairTest.java +++ b/src/test/java/bjc/everge/ReplPairTest.java @@ -90,4 +90,12 @@ public class ReplPairTest { public void testGuards() { assertMultiReplace("data/test/test10.rp", "a", "a", "bbb", "aaa"); } + + @Test + public void testMultiControl() { + assertMultiReplace("data/test/test11.rp", "bc", "a", "z\na", "d", "m", "po"); + + // NOTE Uncomment when :EndingSlash is fixed + //assertMultiReplace("data/test/test11.rp", "q\\", "FG"); + } } |
