summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBen Culkin <scorpress@gmail.com>2020-05-20 19:12:01 -0400
committerBen Culkin <scorpress@gmail.com>2020-05-20 19:12:01 -0400
commitb02d2b07a7570f61e906850d41d73724dbce8a29 (patch)
tree55e0c8f85f92a8a73c773bdc3a349fe81c1974e8 /src
parent4038e3ec26a646f660130697ba70d40168926493 (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.java2
-rw-r--r--src/main/java/bjc/everge/ReplPair.java8
-rw-r--r--src/test/java/bjc/everge/EvergeTest.java2
-rw-r--r--src/test/java/bjc/everge/ReplPairTest.java8
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");
+ }
}