threads / discuss / 19821

[EGIT PATCH2/2] fixed-toString-for-CommitTimeRevFilter-wrote-JUnit-tests

Subject: [EGIT PATCH2/2] fixed-toString-for-CommitTimeRevFilter-wrote-JUnit-tests

## tl;dr

2 messages between Jun 15, 2009 and Jun 16, 2009.

replies: 1people: 2as markdown or json

Mark Struberg· Jun 15, 2009, 21:36 UTC · lore
>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



      
Robin Rosenberg· Jun 16, 2009, 22:19 UTC · re: Mark Struberg · lore

Re: [EGIT PATCH2/2] fixed-toString-for-CommitTimeRevFilter-wrote-JUnit-tests

måndag 15 juni 2009 23:36:35 skrev Mark Struberg <struberg@yahoo.de>:
Show 5 quoted lines
> 
> 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

← back to recent threads