From b2ae4ecf4051dadcf4b8129266b92bcc76f877dd Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Sat, 31 Oct 2020 14:19:43 -0400 Subject: Cleanup part 2 Some more cleanup of things --- data/test/evg-test1.evg | 5 +++ data/test/evg-test1.rp | 5 --- data/test/test1-empty.evg | 1 + data/test/test1-empty.rp | 1 - data/test/test10-guard.evg | 3 ++ data/test/test10-guard.rp | 3 -- data/test/test11-bodyinlinemulti.evg | 20 +++++++++++ data/test/test11-bodyinlinemulti.rp | 20 ----------- data/test/test2-singlereplace.evg | 3 ++ data/test/test2-singlereplace.rp | 3 -- data/test/test3-multireplace.evg | 9 +++++ data/test/test3-multireplace.rp | 9 ----- data/test/test4-implicitorder.evg | 12 +++++++ data/test/test4-implicitorder.rp | 12 ------- data/test/test5-explicitorder.evg | 12 +++++++ data/test/test5-explicitorder.rp | 12 ------- data/test/test6-staging.evg | 16 +++++++++ data/test/test6-staging.rp | 16 --------- data/test/test7-error.evg | 2 ++ data/test/test7-error.rp | 2 -- data/test/test8-globals.evg | 12 +++++++ data/test/test8-globals.rp | 12 ------- data/test/test9.evg | 7 ++++ data/test/test9.rp | 7 ---- src/main/java/bjc/everge/Everge.java | 55 +++++++++++++++--------------- src/main/java/bjc/everge/ReplPairSet.java | 10 +++--- src/test/java/bjc/everge/EvergeTest.java | 6 ++-- src/test/java/bjc/everge/ReplPairTest.java | 22 ++++++------ 28 files changed, 148 insertions(+), 149 deletions(-) create mode 100644 data/test/evg-test1.evg delete mode 100644 data/test/evg-test1.rp create mode 100644 data/test/test1-empty.evg delete mode 100644 data/test/test1-empty.rp create mode 100644 data/test/test10-guard.evg delete mode 100644 data/test/test10-guard.rp create mode 100644 data/test/test11-bodyinlinemulti.evg delete mode 100644 data/test/test11-bodyinlinemulti.rp create mode 100644 data/test/test2-singlereplace.evg delete mode 100644 data/test/test2-singlereplace.rp create mode 100644 data/test/test3-multireplace.evg delete mode 100644 data/test/test3-multireplace.rp create mode 100644 data/test/test4-implicitorder.evg delete mode 100644 data/test/test4-implicitorder.rp create mode 100644 data/test/test5-explicitorder.evg delete mode 100644 data/test/test5-explicitorder.rp create mode 100644 data/test/test6-staging.evg delete mode 100644 data/test/test6-staging.rp create mode 100644 data/test/test7-error.evg delete mode 100644 data/test/test7-error.rp create mode 100644 data/test/test8-globals.evg delete mode 100644 data/test/test8-globals.rp create mode 100644 data/test/test9.evg delete mode 100644 data/test/test9.rp diff --git a/data/test/evg-test1.evg b/data/test/evg-test1.evg new file mode 100644 index 0000000..b6da7c5 --- /dev/null +++ b/data/test/evg-test1.evg @@ -0,0 +1,5 @@ +a +b + +c +d \ No newline at end of file diff --git a/data/test/evg-test1.rp b/data/test/evg-test1.rp deleted file mode 100644 index b6da7c5..0000000 --- a/data/test/evg-test1.rp +++ /dev/null @@ -1,5 +0,0 @@ -a -b - -c -d \ No newline at end of file diff --git a/data/test/test1-empty.evg b/data/test/test1-empty.evg new file mode 100644 index 0000000..f736b8e --- /dev/null +++ b/data/test/test1-empty.evg @@ -0,0 +1 @@ +# Blank file test diff --git a/data/test/test1-empty.rp b/data/test/test1-empty.rp deleted file mode 100644 index f736b8e..0000000 --- a/data/test/test1-empty.rp +++ /dev/null @@ -1 +0,0 @@ -# Blank file test diff --git a/data/test/test10-guard.evg b/data/test/test10-guard.evg new file mode 100644 index 0000000..a647a3a --- /dev/null +++ b/data/test/test10-guard.evg @@ -0,0 +1,3 @@ +# Test pair guards +//G/aaa//a +b diff --git a/data/test/test10-guard.rp b/data/test/test10-guard.rp deleted file mode 100644 index a647a3a..0000000 --- a/data/test/test10-guard.rp +++ /dev/null @@ -1,3 +0,0 @@ -# Test pair guards -//G/aaa//a -b diff --git a/data/test/test11-bodyinlinemulti.evg b/data/test/test11-bodyinlinemulti.evg new file mode 100644 index 0000000..35eb329 --- /dev/null +++ b/data/test/test11-bodyinlinemulti.evg @@ -0,0 +1,20 @@ +# Test of inline multi-line controls on the body +#|//tt +a +//MT//b\ +c + +d +//M/true//z|\ +a + + + +|//MT + +F\ +G +//MF//q\ +p\ +o +m \ No newline at end of file diff --git a/data/test/test11-bodyinlinemulti.rp b/data/test/test11-bodyinlinemulti.rp deleted file mode 100644 index 35eb329..0000000 --- a/data/test/test11-bodyinlinemulti.rp +++ /dev/null @@ -1,20 +0,0 @@ -# Test of inline multi-line controls on the body -#|//tt -a -//MT//b\ -c - -d -//M/true//z|\ -a - - - -|//MT - -F\ -G -//MF//q\ -p\ -o -m \ No newline at end of file diff --git a/data/test/test2-singlereplace.evg b/data/test/test2-singlereplace.evg new file mode 100644 index 0000000..ea05d12 --- /dev/null +++ b/data/test/test2-singlereplace.evg @@ -0,0 +1,3 @@ +# Basic single pair test +test1 +test2 diff --git a/data/test/test2-singlereplace.rp b/data/test/test2-singlereplace.rp deleted file mode 100644 index ea05d12..0000000 --- a/data/test/test2-singlereplace.rp +++ /dev/null @@ -1,3 +0,0 @@ -# Basic single pair test -test1 -test2 diff --git a/data/test/test3-multireplace.evg b/data/test/test3-multireplace.evg new file mode 100644 index 0000000..8121c8c --- /dev/null +++ b/data/test/test3-multireplace.evg @@ -0,0 +1,9 @@ +# Basic multi-pair test +a +A + +b +B + +c +C diff --git a/data/test/test3-multireplace.rp b/data/test/test3-multireplace.rp deleted file mode 100644 index 8121c8c..0000000 --- a/data/test/test3-multireplace.rp +++ /dev/null @@ -1,9 +0,0 @@ -# Basic multi-pair test -a -A - -b -B - -c -C diff --git a/data/test/test4-implicitorder.evg b/data/test/test4-implicitorder.evg new file mode 100644 index 0000000..28b14d5 --- /dev/null +++ b/data/test/test4-implicitorder.evg @@ -0,0 +1,12 @@ +# Basic priority test +ab +d + +a +b + +b +c + +c +a diff --git a/data/test/test4-implicitorder.rp b/data/test/test4-implicitorder.rp deleted file mode 100644 index 28b14d5..0000000 --- a/data/test/test4-implicitorder.rp +++ /dev/null @@ -1,12 +0,0 @@ -# Basic priority test -ab -d - -a -b - -b -c - -c -a diff --git a/data/test/test5-explicitorder.evg b/data/test/test5-explicitorder.evg new file mode 100644 index 0000000..2ee18ce --- /dev/null +++ b/data/test/test5-explicitorder.evg @@ -0,0 +1,12 @@ +# Basic explicit priority test +//P/-1//ab +d + +a +b + +b +c + +c +a diff --git a/data/test/test5-explicitorder.rp b/data/test/test5-explicitorder.rp deleted file mode 100644 index 2ee18ce..0000000 --- a/data/test/test5-explicitorder.rp +++ /dev/null @@ -1,12 +0,0 @@ -# Basic explicit priority test -//P/-1//ab -d - -a -b - -b -c - -c -a diff --git a/data/test/test6-staging.evg b/data/test/test6-staging.evg new file mode 100644 index 0000000..34fd9dd --- /dev/null +++ b/data/test/test6-staging.evg @@ -0,0 +1,16 @@ +# Basic staging test +|//tf;df +//S/1//a +b + +b +c + +//S/2//x +y1 + +//S/1;I//1 +2 + +//E;P/2//y1 +z diff --git a/data/test/test6-staging.rp b/data/test/test6-staging.rp deleted file mode 100644 index 34fd9dd..0000000 --- a/data/test/test6-staging.rp +++ /dev/null @@ -1,16 +0,0 @@ -# Basic staging test -|//tf;df -//S/1//a -b - -b -c - -//S/2//x -y1 - -//S/1;I//1 -2 - -//E;P/2//y1 -z diff --git a/data/test/test7-error.evg b/data/test/test7-error.evg new file mode 100644 index 0000000..3a8f995 --- /dev/null +++ b/data/test/test7-error.evg @@ -0,0 +1,2 @@ +# Basic error test +a diff --git a/data/test/test7-error.rp b/data/test/test7-error.rp deleted file mode 100644 index 3a8f995..0000000 --- a/data/test/test7-error.rp +++ /dev/null @@ -1,2 +0,0 @@ -# Basic error test -a diff --git a/data/test/test8-globals.evg b/data/test/test8-globals.evg new file mode 100644 index 0000000..8fd2165 --- /dev/null +++ b/data/test/test8-globals.evg @@ -0,0 +1,12 @@ +# Global flag/multi-line test +|//TRACEf +|//P/0;S/0;M/true;Df + +a +b\ +# a comment +1 + +c +d|\ +1 diff --git a/data/test/test8-globals.rp b/data/test/test8-globals.rp deleted file mode 100644 index 8fd2165..0000000 --- a/data/test/test8-globals.rp +++ /dev/null @@ -1,12 +0,0 @@ -# Global flag/multi-line test -|//TRACEf -|//P/0;S/0;M/true;Df - -a -b\ -# a comment -1 - -c -d|\ -1 diff --git a/data/test/test9.evg b/data/test/test9.evg new file mode 100644 index 0000000..17c7c02 --- /dev/null +++ b/data/test/test9.evg @@ -0,0 +1,7 @@ +# Escape test +|//dt +||//ab +c + +//n/a|;b|//c//z +x diff --git a/data/test/test9.rp b/data/test/test9.rp deleted file mode 100644 index 17c7c02..0000000 --- a/data/test/test9.rp +++ /dev/null @@ -1,7 +0,0 @@ -# Escape test -|//dt -||//ab -c - -//n/a|;b|//c//z -x diff --git a/src/main/java/bjc/everge/Everge.java b/src/main/java/bjc/everge/Everge.java index 4638fb5..96b20ff 100644 --- a/src/main/java/bjc/everge/Everge.java +++ b/src/main/java/bjc/everge/Everge.java @@ -195,7 +195,7 @@ public class Everge { return returnStatus; } - private boolean processArg(List errs, boolean retStat, String arg, Deque argQueue) { + private boolean processArg(List errors, boolean retStat, String arg, Deque argQueue) { boolean newReturnStatus = retStat; if (arg.equals("--")) { @@ -223,6 +223,7 @@ public class Everge { break; case "-N": case "--no-newline": + case "--nonewline": printNLAfterReplace = false; break; @@ -230,17 +231,17 @@ public class Everge { case "--verbose": verbosity += 1; errorStream.louder(); - System.err.printf("[TRACE] Incremented verbosity\n"); + //System.err.printf("[TRACE] Incremented verbosity\n"); break; case "-q": case "--quiet": verbosity -= 1; errorStream.quieter(); - System.err.printf("[TRACE] Decremented verbosity\n"); + //System.err.printf("[TRACE] Decremented verbosity\n"); break; case "--verbosity": if (argQueue.size() < 1) { - errs.add("[ERROR] No parameter to --verbosity"); + errors.add("[ERROR] No parameter to --verbosity"); newReturnStatus = false; break; } @@ -249,18 +250,18 @@ public class Everge { try { verbosity = Integer.parseInt(argBody); errorStream.verbosity(verbosity); - System.err.printf("[TRACE] Set verbosity to %d\n", verbosity); + //System.err.printf("[TRACE] Set verbosity to %d\n", verbosity); } catch (NumberFormatException nfex) { String msg = String.format( "[ERROR] Invalid verbosity: '%s' is not an integer", argBody); - errs.add(msg); + errors.add(msg); newReturnStatus = false; } break; case "--pattern": if (argQueue.size() < 1) { - errs.add("[ERROR] No parameter to --pattern"); + errors.add("[ERROR] No parameter to --pattern"); newReturnStatus = false; break; } @@ -276,14 +277,14 @@ public class Everge { } catch (PatternSyntaxException psex) { String msg = String.format("[ERROR] Pattern '%s' is invalid: %s", regexPattern, psex.getMessage()); - errs.add(msg); + errors.add(msg); newReturnStatus = false; } break; case "--file": if (argQueue.size() < 1) { - errs.add("[ERROR] No argument to --file"); + errors.add("[ERROR] No argument to --file"); newReturnStatus = false; break; } @@ -293,9 +294,9 @@ public class Everge { Scanner scn = new Scanner(fis)) { List ferrs = new ArrayList<>(); - List lrp = new ArrayList<>(); + List pairList = new ArrayList<>(); ReplPairParser parser = new ReplPairParser(); - lrp = parser.readList(lrp, scn, ferrs, replOptions); + pairList = parser.readList(pairList, scn, ferrs, replOptions); if (ferrs.size() > 0) { StringBuilder sb = new StringBuilder(); @@ -310,32 +311,31 @@ public class Everge { errString, argBody); sb.append(msg); - for (ReplPairError err : ferrs) { + for (ReplPairError err : ferrs) sb.append(String.format("\t%s\n", err)); - } - errs.add(sb.toString()); + errors.add(sb.toString()); newReturnStatus = false; } - replSet.addPairs(lrp); + replSet.addPairs(pairList); } catch (FileNotFoundException fnfex) { String msg = String.format( "[ERROR] Could not open data file '%s' for input", argBody); - errs.add(msg); + errors.add(msg); newReturnStatus = false; } catch (IOException ioex) { String msg = String.format( "[ERROR] Unknown I/O error reading data file '%s': %s", argBody, ioex.getMessage()); - errs.add(msg); + errors.add(msg); newReturnStatus = false; } break; case "--arg-file": if (argQueue.size() < 1) { - errs.add("[ERROR] No argument to --arg-file"); + errors.add("[ERROR] No argument to --arg-file"); break; } argBody = argQueue.pop(); @@ -347,33 +347,34 @@ public class Everge { while (scn.hasNextLine()) { String ln = scn.nextLine().trim(); - if (ln.equals("")) - continue; - if (ln.startsWith("#")) - continue; + if (ln.equals("")) continue; + if (ln.startsWith("#")) continue; sl.add(ln); } + // @FixMe :ArgFile + // This won't work properly when using the 'non-inline' arguments + // oops. It should. -- bculkin, Oct 31 processArgs(sl.toArray(new String[0])); } catch (FileNotFoundException fnfex) { String msg = String.format( "[ERROR] Could not open argument file '%s' for input", argBody); - errs.add(msg); + errors.add(msg); newReturnStatus = false; } catch (IOException ioex) { String msg = String.format( "[ERROR] Unknown I/O error reading input file '%s': %s", argBody, ioex.getMessage()); - errs.add(msg); + errors.add(msg); newReturnStatus = false; } break; case "--input-status": if (argQueue.size() < 1) { - errs.add("[ERROR] No argument to --input-status"); + errors.add("[ERROR] No argument to --input-status"); break; } argBody = argQueue.pop(); @@ -383,14 +384,14 @@ public class Everge { } catch (IllegalArgumentException iaex) { String msg = String.format("[ERROR] '%s' is not a valid input status", argBody); - errs.add(msg); + errors.add(msg); } break; default: { String msg = String.format( "[ERROR] Unrecognised CLI argument name '%s'\n", argName); - errs.add(msg); + errors.add(msg); newReturnStatus = false; } } diff --git a/src/main/java/bjc/everge/ReplPairSet.java b/src/main/java/bjc/everge/ReplPairSet.java index 3d173c7..f10fe60 100644 --- a/src/main/java/bjc/everge/ReplPairSet.java +++ b/src/main/java/bjc/everge/ReplPairSet.java @@ -75,9 +75,7 @@ public class ReplPairSet { * The pairs to add to the ReplSet. */ public void addPairs(ReplPair... pars) { - for (ReplPair par : pars) { - pairList.add(par); - } + for (ReplPair par : pars) pairList.add(par); // Resort the pairs into priority order pairList.sort(null); @@ -95,10 +93,10 @@ public class ReplPairSet { String ret = val; for (ReplPair par : pairList) { - System.err.printf("Applying pair '%s' to string '%s' (original was '%s')\n", par, ret, val); - String tmp = par.apply(ret); + //System.err.printf("Applying pair '%s' to string '%s' (original was '%s')\n", par, ret, val); + String msg = par.apply(ret); - ret = tmp; + ret = msg; } return ret; diff --git a/src/test/java/bjc/everge/EvergeTest.java b/src/test/java/bjc/everge/EvergeTest.java index b70fd26..3f4e113 100644 --- a/src/test/java/bjc/everge/EvergeTest.java +++ b/src/test/java/bjc/everge/EvergeTest.java @@ -47,8 +47,8 @@ public class EvergeTest { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream errBaos = new ByteArrayOutputStream(); - OutputStream normOut = new MirrorOutputStream(baos, System.out); - OutputStream normErr = new MirrorOutputStream(errBaos, System.err); + OutputStream normOut = new MirrorOutputStream(baos/*, System.out*/); + OutputStream normErr = new MirrorOutputStream(errBaos/*, System.err*/); Everge evg = new Everge(); evg.setOutput(normOut); @@ -57,7 +57,7 @@ public class EvergeTest { evg.processArgs("--verbosity", "4"); List errs = new ArrayList<>(); boolean stat = evg.processArgs(errs, "--input-status", "line", "--file", - "data/test/evg-test1.rp", "data/test/evg-test1.inp"); + "data/test/evg-test1.evg", "data/test/evg-test1.inp"); if (!stat) { System.err.println("[ERROR] Did not succesfully process args"); for (String err : errs) { diff --git a/src/test/java/bjc/everge/ReplPairTest.java b/src/test/java/bjc/everge/ReplPairTest.java index 860a420..650ee14 100644 --- a/src/test/java/bjc/everge/ReplPairTest.java +++ b/src/test/java/bjc/everge/ReplPairTest.java @@ -22,7 +22,7 @@ public class ReplPairTest { @Test public void testLoadFile() { List lrp = null; - String fName = "data/test/test1-empty.rp"; + String fName = "data/test/test1-empty.evg"; try (FileInputStream fis = new FileInputStream(fName); Scanner scn = new Scanner(fis)) { @@ -38,28 +38,28 @@ public class ReplPairTest { @Test public void testSingleReplace() { - assertMultiReplace("data/test/test2-singlereplace.rp", "test2", "test1", "test2", "test2"); + assertMultiReplace("data/test/test2-singlereplace.evg", "test2", "test1", "test2", "test2"); } @Test public void testMultiReplace() { - assertMultiReplace("data/test/test3-multireplace.rp", "A B C", "a b c", "A A B", "a a b", + assertMultiReplace("data/test/test3-multireplace.evg", "A B C", "a b c", "A A B", "a a b", "AAB", "aab"); } @Test public void testReplaceOrder() { - assertMultiReplace("data/test/test4-implicitorder.rp", "a", "a", "d", "ab"); + assertMultiReplace("data/test/test4-implicitorder.evg", "a", "a", "d", "ab"); } @Test public void testReplaceExpOrder() { - assertMultiReplace(false, "data/test/test5-explicitorder.rp", "a", "a", "aa", "ab"); + assertMultiReplace(false, "data/test/test5-explicitorder.evg", "a", "a", "aa", "ab"); } @Test public void testStaging() { - assertMultiReplace("data/test/test6-staging.rp", "c", "a", "y2", "x"); + assertMultiReplace("data/test/test6-staging.evg", "c", "a", "y2", "x"); } @Test @@ -69,7 +69,7 @@ public class ReplPairTest { + " replacement body for raw name 'a'" + "\n\t\tContext: No associated line"; - assertThrownMessage(msg, "data/test/test7-error.rp"); + assertThrownMessage(msg, "data/test/test7-error.evg"); } @Test @@ -85,19 +85,19 @@ public class ReplPairTest { @Test public void testGlobals() { - assertMultiReplace("data/test/test8-globals.rp", "b1d\n1d\n1b1", "acca"); + assertMultiReplace("data/test/test8-globals.evg", "b1d\n1d\n1b1", "acca"); } @Test public void testGuards() { - assertMultiReplace("data/test/test10-guard.rp", "a", "a", "bbb", "aaa"); + assertMultiReplace("data/test/test10-guard.evg", "a", "a", "bbb", "aaa"); } @Test public void testMultiControl() { - assertMultiReplace("data/test/test11-bodyinlinemulti.rp", "bc", "a", "z\na", "d", "m", "po"); + assertMultiReplace("data/test/test11-bodyinlinemulti.evg", "bc", "a", "z\na", "d", "m", "po"); // NOTE Uncomment when :EndingSlash is fixed - //assertMultiReplace("data/test/test11.rp", "q\\", "FG"); + //assertMultiReplace("data/test/test11-bodyinlinemulti.evg", "q\\", "FG"); } } -- cgit v1.2.3