Simplify pgm tests: allow varargs and trim output for toString()

Change-Id: Ia5bcd9e560b90cf872fef75c2800c889ef1cc85a
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
This commit is contained in:
Andrey Loskutov 2016-01-02 13:24:02 +01:00
parent 35db319e8a
commit d6deb190e6
2 changed files with 27 additions and 24 deletions

View File

@ -223,20 +223,24 @@ protected void assertArrayOfLinesEquals(String[] expected, String[] actual) {
assertEquals(toString(expected), toString(actual));
}
public static String toString(String[] lines) {
public static String toString(String... lines) {
return toString(Arrays.asList(lines));
}
public static String toString(List<String> lines) {
StringBuilder b = new StringBuilder();
for (String s : lines) {
// trim indentation, to simplify tests
s = s.trim();
if (s != null && !s.isEmpty()) {
b.append(s);
if (!s.endsWith("\n")) {
b.append('\n');
}
b.append('\n');
}
}
// delete last line break to allow simpler tests with one line compare
if (b.length() > 0 && b.charAt(b.length() - 1) == '\n') {
b.deleteCharAt(b.length() - 1);
}
return b.toString();
}

View File

@ -42,7 +42,7 @@
*/
package org.eclipse.jgit.pgm;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertEquals;
import org.eclipse.jgit.lib.CLIRepositoryTestCase;
import org.junit.Test;
@ -54,26 +54,27 @@ public void testCommitPath() throws Exception {
writeTrashFile("a", "a");
writeTrashFile("b", "a");
String result = toString(execute("git add a"));
assertTrue("Unexpected output: " + result, result.isEmpty());
assertEquals("", result);
result = toString(execute("git status -- a"));
assertTrue("Unexpected output: " + result,
result.contains("new file: a"));
assertEquals(toString("On branch master", "Changes to be committed:",
"new file: a"), result);
result = toString(execute("git status -- b"));
assertTrue("Unexpected output: " + result,
result.trim().contains("Untracked files:\n b"));
assertEquals(toString("On branch master", "Untracked files:", "b"),
result);
result = toString(execute("git commit a -m 'added a'"));
assertTrue("Unexpected output: " + result, result.contains("added a"));
assertEquals(
"[master 8cb3ef7e5171aaee1792df6302a5a0cd30425f7a] added a",
result);
result = toString(execute("git status -- a"));
assertTrue("Unexpected output: " + result,
result.trim().equals("On branch master"));
assertEquals("On branch master", result);
result = toString(execute("git status -- b"));
assertTrue("Unexpected output: " + result,
result.trim().contains("Untracked files:\n b"));
assertEquals(toString("On branch master", "Untracked files:", "b"),
result);
}
@Test
@ -81,21 +82,19 @@ public void testCommitAll() throws Exception {
writeTrashFile("a", "a");
writeTrashFile("b", "a");
String result = toString(execute("git add a b"));
assertTrue("Unexpected output: " + result, result.isEmpty());
assertEquals("", result);
result = toString(execute("git status -- a b"));
assertTrue("Unexpected output: " + result,
result.contains("new file: a"));
assertTrue("Unexpected output: " + result,
result.contains("new file: b"));
assertEquals(toString("On branch master", "Changes to be committed:",
"new file: a", "new file: b"), result);
result = toString(execute("git commit -m 'added a b'"));
assertTrue("Unexpected output: " + result,
result.contains("added a b"));
assertEquals(
"[master 3c93fa8e3a28ee26690498be78016edcb3a38c73] added a b",
result);
result = toString(execute("git status -- a b"));
assertTrue("Unexpected output: " + result,
result.trim().equals("On branch master"));
assertEquals("On branch master", result);
}
}