summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.pgm.test/tst/org
diff options
context:
space:
mode:
authoralerthak <a2terminator@mail.ru>2022-11-19 05:56:02 +0300
committerMatthias Sohn <matthias.sohn@sap.com>2022-11-23 16:12:54 +0100
commitc14e6f5c6cd7634c9ebcd9c4858f9653e199c875 (patch)
treeace1fcdfaa7755ca2ac654e1c2cc4e6a81875d5d /org.eclipse.jgit.pgm.test/tst/org
parent3d522c6900f73f2d6d9741d987e2db2c68387a35 (diff)
downloadjgit-c14e6f5c6cd7634c9ebcd9c4858f9653e199c875.tar.gz
jgit-c14e6f5c6cd7634c9ebcd9c4858f9653e199c875.zip
[pgm] Add options --name-only, --name-status to diff, log, show
Change-Id: Ib218bd2ccbd7990feca4c35d8c8dc34d4a8291e6
Diffstat (limited to 'org.eclipse.jgit.pgm.test/tst/org')
-rw-r--r--org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/DiffTest.java67
-rw-r--r--org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/LogTest.java59
-rw-r--r--org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/ShowTest.java64
3 files changed, 190 insertions, 0 deletions
diff --git a/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/DiffTest.java b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/DiffTest.java
new file mode 100644
index 0000000000..859b54de4d
--- /dev/null
+++ b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/DiffTest.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2022, Matthias Sohn <matthias.sohn@sap.com> and others
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Distribution License v. 1.0 which is available at
+ * https://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+package org.eclipse.jgit.pgm;
+
+import static org.junit.Assert.assertEquals;
+
+import org.eclipse.jgit.lib.CLIRepositoryTestCase;
+import org.junit.Before;
+import org.junit.Test;
+
+public class DiffTest extends CLIRepositoryTestCase {
+
+ private static final String NO_NEWLINE = "\\ No newline at end of file";
+
+ @Before
+ public void setup() throws Exception {
+ writeTrashFile("a", "a");
+ execute("git add a");
+ execute("git commit -m added");
+ }
+
+ @Test
+ public void testDiffCommitNewFile() throws Exception {
+ writeTrashFile("a1", "a");
+ String result = toString(execute("git diff"));
+ assertEquals(
+ toString("diff --git a/a1 b/a1", "new file mode 100644",
+ "index 0000000..2e65efe", "--- /dev/null", "+++ b/a1",
+ "@@ -0,0 +1 @@", "+a", NO_NEWLINE),
+ result);
+ }
+
+ @Test
+ public void testDiffCommitModifiedFile() throws Exception {
+ writeTrashFile("a", "a1");
+ String result = toString(execute("git diff"));
+ assertEquals(
+ toString("diff --git a/a b/a", "index 2e65efe..59ef8d1 100644",
+ "--- a/a", "+++ b/a", "@@ -1 +1 @@",
+ "-a", NO_NEWLINE, "+a1", NO_NEWLINE),
+ result);
+ }
+
+ @Test
+ public void testDiffCommitModifiedFileNameOnly() throws Exception {
+ writeTrashFile("a", "a1");
+ writeTrashFile("b", "b");
+ String result = toString(execute("git diff --name-only"));
+ assertEquals(toString("a", "b"), result);
+ }
+
+ @Test
+ public void testDiffCommitModifiedFileNameStatus() throws Exception {
+ writeTrashFile("a", "a1");
+ writeTrashFile("b", "b");
+ String result = toString(execute("git diff --name-status"));
+ assertEquals(toString("M\ta", "A\tb"), result);
+ }
+}
diff --git a/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/LogTest.java b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/LogTest.java
new file mode 100644
index 0000000000..1cc52a44ac
--- /dev/null
+++ b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/LogTest.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2022, Matthias Sohn <matthias.sohn@sap.com> and others
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Distribution License v. 1.0 which is available at
+ * https://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+package org.eclipse.jgit.pgm;
+
+import static org.junit.Assert.assertEquals;
+
+import org.eclipse.jgit.lib.CLIRepositoryTestCase;
+import org.junit.Before;
+import org.junit.Test;
+
+public class LogTest extends CLIRepositoryTestCase {
+
+ @Before
+ public void setup() throws Exception {
+ writeTrashFile("a", "a");
+ writeTrashFile("b", "a");
+ execute("git add a b");
+ execute("git commit -m added");
+ }
+
+ @Test
+ public void testLogCommitNewFile() throws Exception {
+ String result = toString(execute("git log"));
+ assertEquals(
+ toString("commit b4680f542095a8b41ea4258a5c03b548543a817c",
+ "Author: GIT_COMMITTER_NAME <GIT_COMMITTER_EMAIL>",
+ "Date: Sat Aug 15 20:12:58 2009 -0330", "added"),
+ result);
+ }
+
+ @Test
+ public void testLogNameOnly() throws Exception {
+ String result = toString(execute("git log --name-only"));
+ assertEquals(
+ toString("commit b4680f542095a8b41ea4258a5c03b548543a817c",
+ "Author: GIT_COMMITTER_NAME <GIT_COMMITTER_EMAIL>",
+ "Date: Sat Aug 15 20:12:58 2009 -0330", "added", "a",
+ "b"),
+ result);
+ }
+
+ @Test
+ public void testDiffCommitModifiedFileNameStatus() throws Exception {
+ String result = toString(execute("git log --name-status"));
+ assertEquals(toString("commit b4680f542095a8b41ea4258a5c03b548543a817c",
+ "Author: GIT_COMMITTER_NAME <GIT_COMMITTER_EMAIL>",
+ "Date: Sat Aug 15 20:12:58 2009 -0330", "added", "A\ta",
+ "A\tb"),
+ result);
+ }
+}
diff --git a/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/ShowTest.java b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/ShowTest.java
new file mode 100644
index 0000000000..47d5d3433a
--- /dev/null
+++ b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/ShowTest.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2022, Matthias Sohn <matthias.sohn@sap.com> and others
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Distribution License v. 1.0 which is available at
+ * https://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+package org.eclipse.jgit.pgm;
+
+import static org.junit.Assert.assertEquals;
+
+import org.eclipse.jgit.lib.CLIRepositoryTestCase;
+import org.junit.Before;
+import org.junit.Test;
+
+public class ShowTest extends CLIRepositoryTestCase {
+
+ private static final String NO_NEWLINE = "\\ No newline at end of file";
+
+ @Before
+ public void setup() throws Exception {
+ writeTrashFile("a", "a");
+ writeTrashFile("b", "b");
+ execute("git add a b");
+ execute("git commit -m added");
+ writeTrashFile("a", "a1");
+ execute("git add a");
+ execute("git commit -m modified");
+ }
+
+ @Test
+ public void testShow() throws Exception {
+ String result = toString(execute("git show"));
+ assertEquals(
+ toString("commit ecdf62e777b7413fc463c20e935403d424410ab2",
+ "Author: GIT_COMMITTER_NAME <GIT_COMMITTER_EMAIL>",
+ "Date: Sat Aug 15 20:12:58 2009 -0330", "",
+ " modified", "", "diff --git a/a b/a",
+ "index 2e65efe..59ef8d1 100644", "--- a/a", "+++ b/a",
+ "@@ -1 +1 @@", "-a", NO_NEWLINE, "+a1", NO_NEWLINE),
+ result);
+ }
+
+ @Test
+ public void testShowNameOnly() throws Exception {
+ String result = toString(execute("git show --name-only"));
+ assertEquals(toString("commit ecdf62e777b7413fc463c20e935403d424410ab2",
+ "Author: GIT_COMMITTER_NAME <GIT_COMMITTER_EMAIL>",
+ "Date: Sat Aug 15 20:12:58 2009 -0330", "", " modified",
+ "a"), result);
+ }
+
+ @Test
+ public void testShowNameStatus() throws Exception {
+ String result = toString(execute("git show --name-status"));
+ assertEquals(toString("commit ecdf62e777b7413fc463c20e935403d424410ab2",
+ "Author: GIT_COMMITTER_NAME <GIT_COMMITTER_EMAIL>",
+ "Date: Sat Aug 15 20:12:58 2009 -0330", "", " modified",
+ "M\ta"), result);
+ }
+}