git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [EGIT PATCH2/2] fixed-toString-for-CommitTimeRevFilter-wrote-JUnit-tests
@ 2009-06-15 21:36 Mark Struberg
  2009-06-16 22:19 ` Robin Rosenberg
  0 siblings, 1 reply; 3+ messages in thread
From: Mark Struberg @ 2009-06-15 21:36 UTC (permalink / raw)
  To: git


>From 72dd9d071ce140f267b8b4effd34d122627135e6 Mon Sep 17 00:00:00 2001
From: Mark Struberg <struberg@yahoo.de>
Date: Mon, 15 Jun 2009 08:07:53 +0200
Subject: [PATCH] fixed toString for CommitTimeRevFilter + wrote JUnit tests for after, before and between walks

---
 .../spearce/jgit/revwalk/RevWalkFilterTest.java    |   62 ++++++++++++++++++++
 .../jgit/revwalk/filter/CommitTimeRevFilter.java   |   21 +++++--
 2 files changed, 78 insertions(+), 5 deletions(-)

diff --git a/org.spearce.jgit.test/tst/org/spearce/jgit/revwalk/RevWalkFilterTest.java b/org.spearce.jgit.test/tst/org/spearce/jgit/revwalk/RevWalkFilterTest.java
index 6a26d2e..c9ed18c 100644
--- a/org.spearce.jgit.test/tst/org/spearce/jgit/revwalk/RevWalkFilterTest.java
+++ b/org.spearce.jgit.test/tst/org/spearce/jgit/revwalk/RevWalkFilterTest.java
@@ -38,11 +38,13 @@
 package org.spearce.jgit.revwalk;
 
 import java.io.IOException;
+import java.util.Date;
 
 import org.spearce.jgit.errors.IncorrectObjectTypeException;
 import org.spearce.jgit.errors.MissingObjectException;
 import org.spearce.jgit.errors.StopWalkException;
 import org.spearce.jgit.revwalk.filter.AndRevFilter;
+import org.spearce.jgit.revwalk.filter.CommitTimeRevFilter;
 import org.spearce.jgit.revwalk.filter.NotRevFilter;
 import org.spearce.jgit.revwalk.filter.OrRevFilter;
 import org.spearce.jgit.revwalk.filter.RevFilter;
@@ -215,6 +217,66 @@ public void testFilter_NO_MERGES() throws Exception {
 		assertCommit(a, rw.next());
 		assertNull(rw.next());
 	}
+	
+	public void testCommitTimeRevFilter() throws Exception {
+		final RevCommit a = commit();
+		tick(100);
+		
+		final RevCommit b = commit(a);
+		tick(100);
+		
+		Date since = new Date(nowTick);
+		final RevCommit c1 = commit(b);
+		tick(100);
+
+		final RevCommit c2 = commit(b);
+		tick(100);
+
+		Date until =  new Date(nowTick);
+		final RevCommit d = commit(c1, c2);
+		tick(100);
+
+		final RevCommit e = commit(d);
+
+		{
+			RevFilter after = CommitTimeRevFilter.after(since);
+			assertNotNull(after);
+			System.out.println(after.toString());
+			rw.setRevFilter(after);
+			markStart(e);
+			assertCommit(e, rw.next());
+			assertCommit(d, rw.next());
+			assertCommit(c2, rw.next());
+			assertCommit(c1, rw.next());
+			assertNull(rw.next());
+		}
+		
+		{
+			RevFilter before = CommitTimeRevFilter.before(until);
+			assertNotNull(before);
+			System.out.println(before.toString());
+			rw.reset();
+			rw.setRevFilter(before);
+			markStart(e);
+			assertCommit(c2, rw.next());
+			assertCommit(c1, rw.next());
+			assertCommit(b, rw.next());
+			assertCommit(a, rw.next());
+			assertNull(rw.next());
+		}
+
+		{
+			RevFilter between = CommitTimeRevFilter.between(since, until);
+			assertNotNull(between);
+			System.out.println(between.toString());
+			rw.reset();
+			rw.setRevFilter(between);
+			markStart(e);
+			assertCommit(c2, rw.next());
+			assertCommit(c1, rw.next());
+			assertNull(rw.next());
+		}
+	}
 
 	private static class MyAll extends RevFilter {
 		@Override
diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/filter/CommitTimeRevFilter.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/filter/CommitTimeRevFilter.java
index 0aaa78d..2af9862 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/filter/CommitTimeRevFilter.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/filter/CommitTimeRevFilter.java
@@ -93,11 +93,6 @@ public RevFilter clone() {
 		return this;
 	}
 
-	@Override
-	public String toString() {
-		return super.toString() + "(" + new Date(when * 1000) + ")";
-	}
-
 	private static class Before extends CommitTimeRevFilter {
 		Before(final long ts) {
 			super(ts);
@@ -109,6 +104,11 @@ public boolean include(final RevWalk walker, final RevCommit cmit)
 				IncorrectObjectTypeException, IOException {
 			return cmit.getCommitTime() <= when;
 		}
+
+		@Override
+		public String toString() {
+			return super.toString() + "(" + new Date(when * 1000L) + ")";
+		}
 	}
 
 	private static class After extends CommitTimeRevFilter {
@@ -128,6 +128,11 @@ public boolean include(final RevWalk walker, final RevCommit cmit)
 				throw StopWalkException.INSTANCE;
 			return true;
 		}
+
+		@Override
+		public String toString() {
+			return super.toString() + "(" + new Date(when * 1000L) + ")";
+		}
 	}
 
 	private static class Between extends CommitTimeRevFilter {
@@ -144,6 +149,12 @@ public boolean include(final RevWalk walker, final RevCommit cmit)
 				IncorrectObjectTypeException, IOException {
 			return cmit.getCommitTime() <= until && cmit.getCommitTime() >= when;
 		}
+
+		@Override
+		public String toString() {
+			return super.toString() + "(" + new Date(when * 1000L) + " - " + new Date(until * 1000L) + ")";
+		}
+
 	}
 
 }
-- 
1.6.0.6



      

^ permalink raw reply related	[flat|nested] 3+ messages in thread
* Re: [EGIT PATCH2/2] fixed-toString-for-CommitTimeRevFilter-wrote-JUnit-tests
@ 2009-06-17  7:58 Mark Struberg
  0 siblings, 0 replies; 3+ messages in thread
From: Mark Struberg @ 2009-06-17  7:58 UTC (permalink / raw)
  To: Robin Rosenberg; +Cc: git, Shawn O. Pearce


Thanks Robin!

I'm currently working on a larger change by introducing a SimpleRepository class [1] which wraps most of the jgit interna for easier use in external projects, mainly maven-scm-provider-jgit [2]. Since this isn't yet ready to be merged into master as a whole, I had to chop the commits later. This is the reason why the subject doesn't perfectly fit, apologise.

LieGrue,
strub

[1] http://github.com/sonatype/JGit/tree/72dd9d071ce140f267b8b4effd34d122627135e6/org.spearce.jgit/src/org/spearce/jgit/simple
[2] http://github.com/struberg/maven-scm-providers-git

--- Robin Rosenberg <robin.rosenberg.lists@dewire.com> schrieb am Mi, 17.6.2009:

> Von: Robin Rosenberg <robin.rosenberg.lists@dewire.com>
> Betreff: Re: [EGIT PATCH2/2] fixed-toString-for-CommitTimeRevFilter-wrote-JUnit-tests
> An: "Mark Struberg" <struberg@yahoo.de>
> CC: git@vger.kernel.org, "Shawn O. Pearce" <spearce@spearce.org>
> Datum: Mittwoch, 17. Juni 2009, 0:19
> måndag 15 juni 2009 23:36:35 skrev
> Mark Struberg <struberg@yahoo.de>:
> > 
> > From 72dd9d071ce140f267b8b4effd34d122627135e6 Mon Sep
> 17 00:00:00 2001
> > From: Mark Struberg <struberg@yahoo.de>
> > Date: Mon, 15 Jun 2009 08:07:53 +0200
> > Subject: [PATCH] fixed toString for
> CommitTimeRevFilter + wrote JUnit tests for after, before
> and between walks
> 
> What is the connection between the toString and the rest of
> the patch? Should be
> separate patches.
> 
> You should sign off the patches.
> 
> Start the subject with a capital letter.
> 
> Technically it seemed ok, but I shouldn't have pushed them,
> as I did, by mistake when pusing
> Shawn's latest patch. The formal errors should have been
> fixed firsts.
> 
> -- robin


      

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-06-17  7:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-15 21:36 [EGIT PATCH2/2] fixed-toString-for-CommitTimeRevFilter-wrote-JUnit-tests Mark Struberg
2009-06-16 22:19 ` Robin Rosenberg
  -- strict thread matches above, loose matches on Subject: below --
2009-06-17  7:58 Mark Struberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).