aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jgit.test')
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/AbbrevConfigTest.java128
1 files changed, 128 insertions, 0 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/AbbrevConfigTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/AbbrevConfigTest.java
new file mode 100644
index 0000000000..96ace08dd1
--- /dev/null
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/AbbrevConfigTest.java
@@ -0,0 +1,128 @@
+/*
+ * 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.lib;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThrows;
+
+import java.io.IOException;
+
+import org.eclipse.jgit.api.errors.InvalidConfigurationException;
+import org.eclipse.jgit.junit.RepositoryTestCase;
+import org.eclipse.jgit.storage.file.FileBasedConfig;
+import org.junit.Test;
+
+public class AbbrevConfigTest extends RepositoryTestCase {
+
+ @Test
+ public void testDefault() throws Exception {
+ assertEquals(7, testCoreAbbrev(null));
+ }
+
+ @Test
+ public void testAuto() throws Exception {
+ assertEquals(7, testCoreAbbrev("auto"));
+ }
+
+ @Test
+ public void testNo() throws Exception {
+ assertEquals(40, testCoreAbbrev("no"));
+ }
+
+ @Test
+ public void testValidMin() throws Exception {
+ assertEquals(4, testCoreAbbrev("4"));
+ }
+
+ @Test
+ public void testValid() throws Exception {
+ assertEquals(22, testCoreAbbrev("22"));
+ }
+
+ @Test
+ public void testValidMax() throws Exception {
+ assertEquals(40, testCoreAbbrev("40"));
+ }
+
+ @Test
+ public void testInvalid() {
+ assertThrows(InvalidConfigurationException.class,
+ () -> testCoreAbbrev("foo"));
+ }
+
+ @Test
+ public void testInvalid2() {
+ assertThrows(InvalidConfigurationException.class,
+ () -> testCoreAbbrev("2k"));
+ }
+
+ @Test
+ public void testInvalidNegative() {
+ assertThrows(InvalidConfigurationException.class,
+ () -> testCoreAbbrev("-1000"));
+ }
+
+ @Test
+ public void testInvalidBelowRange() {
+ assertThrows(InvalidConfigurationException.class,
+ () -> testCoreAbbrev("3"));
+ }
+
+ @Test
+ public void testInvalidBelowRange2() {
+ assertThrows(InvalidConfigurationException.class,
+ () -> testCoreAbbrev("-1"));
+ }
+
+ @Test
+ public void testInvalidAboveRange() {
+ assertThrows(InvalidConfigurationException.class,
+ () -> testCoreAbbrev("41"));
+ }
+
+ @Test
+ public void testInvalidAboveRange2() {
+ assertThrows(InvalidConfigurationException.class,
+ () -> testCoreAbbrev("100000"));
+ }
+
+ @Test
+ public void testToStringNo()
+ throws InvalidConfigurationException, IOException {
+ assertEquals("40", setCoreAbbrev("no").toString());
+ }
+
+ @Test
+ public void testToString()
+ throws InvalidConfigurationException, IOException {
+ assertEquals("7", setCoreAbbrev("auto").toString());
+ }
+
+ @Test
+ public void testToString12()
+ throws InvalidConfigurationException, IOException {
+ assertEquals("12", setCoreAbbrev("12").toString());
+ }
+
+ private int testCoreAbbrev(String value)
+ throws InvalidConfigurationException, IOException {
+ return setCoreAbbrev(value).get();
+ }
+
+ private AbbrevConfig setCoreAbbrev(String value)
+ throws IOException, InvalidConfigurationException {
+ FileBasedConfig config = db.getConfig();
+ config.setString(ConfigConstants.CONFIG_CORE_SECTION, null,
+ ConfigConstants.CONFIG_KEY_ABBREV, value);
+ config.save();
+ return AbbrevConfig.parseFromConfig(db);
+ }
+
+}