Browse Source

Add support for nanoseconds and microseconds for Config#getTimeUnit

Change-Id: I0a5828438810dd23790cba52d7ae2e055c6a3fc9
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
stable-5.1
Matthias Sohn 5 years ago
parent
commit
121c957405
  1. 12
      org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java
  2. 8
      org.eclipse.jgit/src/org/eclipse/jgit/lib/DefaultTypedConfigGetter.java

12
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java

@ -52,6 +52,8 @@ import static java.util.concurrent.TimeUnit.DAYS;
import static java.util.concurrent.TimeUnit.HOURS; import static java.util.concurrent.TimeUnit.HOURS;
import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static java.util.concurrent.TimeUnit.MINUTES; import static java.util.concurrent.TimeUnit.MINUTES;
import static java.util.concurrent.TimeUnit.NANOSECONDS;
import static java.util.concurrent.TimeUnit.MICROSECONDS;
import static java.util.concurrent.TimeUnit.SECONDS; import static java.util.concurrent.TimeUnit.SECONDS;
import static org.eclipse.jgit.util.FileUtils.pathToString; import static org.eclipse.jgit.util.FileUtils.pathToString;
import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertArrayEquals;
@ -928,8 +930,18 @@ public class ConfigTest {
@Test @Test
public void testTimeUnit() throws ConfigInvalidException { public void testTimeUnit() throws ConfigInvalidException {
assertEquals(0, parseTime("0", NANOSECONDS));
assertEquals(2, parseTime("2ns", NANOSECONDS));
assertEquals(200, parseTime("200 nanoseconds", NANOSECONDS));
assertEquals(0, parseTime("0", MICROSECONDS));
assertEquals(2, parseTime("2us", MICROSECONDS));
assertEquals(2, parseTime("2000 nanoseconds", MICROSECONDS));
assertEquals(200, parseTime("200 microseconds", MICROSECONDS));
assertEquals(0, parseTime("0", MILLISECONDS)); assertEquals(0, parseTime("0", MILLISECONDS));
assertEquals(2, parseTime("2ms", MILLISECONDS)); assertEquals(2, parseTime("2ms", MILLISECONDS));
assertEquals(2, parseTime("2000microseconds", MILLISECONDS));
assertEquals(200, parseTime("200 milliseconds", MILLISECONDS)); assertEquals(200, parseTime("200 milliseconds", MILLISECONDS));
assertEquals(0, parseTime("0s", SECONDS)); assertEquals(0, parseTime("0s", SECONDS));

8
org.eclipse.jgit/src/org/eclipse/jgit/lib/DefaultTypedConfigGetter.java

@ -226,6 +226,14 @@ public class DefaultTypedConfigGetter implements TypedConfigGetter {
inputUnit = wantUnit; inputUnit = wantUnit;
inputMul = 1; inputMul = 1;
} else if (match(unitName, "ns", "nanoseconds")) { //$NON-NLS-1$ //$NON-NLS-2$
inputUnit = TimeUnit.NANOSECONDS;
inputMul = 1;
} else if (match(unitName, "us", "microseconds")) { //$NON-NLS-1$ //$NON-NLS-2$
inputUnit = TimeUnit.MICROSECONDS;
inputMul = 1;
} else if (match(unitName, "ms", "milliseconds")) { //$NON-NLS-1$ //$NON-NLS-2$ } else if (match(unitName, "ms", "milliseconds")) { //$NON-NLS-1$ //$NON-NLS-2$
inputUnit = TimeUnit.MILLISECONDS; inputUnit = TimeUnit.MILLISECONDS;
inputMul = 1; inputMul = 1;

Loading…
Cancel
Save