In TestRepository, use a consistent clock
The default author and committer objects in TestRepository were
initialized statically and did not use the MockSystemReader passed into
the TestRepository ctor. Make these fields non-static and initialize
them with a consistent clock.
Also make the author and commiter name and email strings public for
tests that want to verify against them.
Change-Id: I88b444b96e22743001b32824d8e4e03c2239aa86
Signed-off-by: Terry Parker <tparker@google.com>
diff --git a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/TestRepository.java b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/TestRepository.java
index e259156..1119e63 100644
--- a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/TestRepository.java
+++ b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/TestRepository.java
@@ -112,23 +112,18 @@
* type of Repository the test data is stored on.
*/
public class TestRepository<R extends Repository> {
- private static final PersonIdent defaultAuthor;
- private static final PersonIdent defaultCommitter;
+ public static final String AUTHOR = "J. Author";
- static {
- final MockSystemReader m = new MockSystemReader();
- final long now = m.getCurrentTime();
- final int tz = m.getTimezone(now);
+ public static final String AUTHOR_EMAIL = "jauthor@example.com";
- final String an = "J. Author";
- final String ae = "jauthor@example.com";
- defaultAuthor = new PersonIdent(an, ae, now, tz);
+ public static final String COMMITTER = "J. Committer";
- final String cn = "J. Committer";
- final String ce = "jcommitter@example.com";
- defaultCommitter = new PersonIdent(cn, ce, now, tz);
- }
+ public static final String COMMITTER_EMAIL = "jcommitter@example.com";
+
+ private final PersonIdent defaultAuthor;
+
+ private final PersonIdent defaultCommitter;
private final R db;
@@ -184,6 +179,10 @@ public TestRepository(R db, RevWalk rw, MockSystemReader reader)
this.pool = rw;
this.inserter = db.newObjectInserter();
this.mockSystemReader = reader;
+ long now = mockSystemReader.getCurrentTime();
+ int tz = mockSystemReader.getTimezone(now);
+ defaultAuthor = new PersonIdent(AUTHOR, AUTHOR_EMAIL, now, tz);
+ defaultCommitter = new PersonIdent(COMMITTER, COMMITTER_EMAIL, now, tz);
}
/** @return the repository this helper class operates against. */