Add support for nanoseconds and microseconds for Config#getTimeUnit

Change-Id: I0a5828438810dd23790cba52d7ae2e055c6a3fc9
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
Matthias Sohn 2019-06-21 17:58:56 +02:00
parent a950eac23b
commit 121c957405
2 changed files with 20 additions and 0 deletions

View File

@ -52,6 +52,8 @@
import static java.util.concurrent.TimeUnit.HOURS;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
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 org.eclipse.jgit.util.FileUtils.pathToString;
import static org.junit.Assert.assertArrayEquals;
@ -928,8 +930,18 @@ private static Config parse(String content, Config baseConfig)
@Test
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(2, parseTime("2ms", MILLISECONDS));
assertEquals(2, parseTime("2000microseconds", MILLISECONDS));
assertEquals(200, parseTime("200 milliseconds", MILLISECONDS));
assertEquals(0, parseTime("0s", SECONDS));

View File

@ -226,6 +226,14 @@ public long getTimeUnit(Config config, String section, String subsection,
inputUnit = wantUnit;
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$
inputUnit = TimeUnit.MILLISECONDS;
inputMul = 1;