PaginatorTest: Add coverage for cases with no start Change-Id: Iccaab67c063ae0d9822118584060d947cf9d406b
diff --git a/gitiles-servlet/src/test/java/com/google/gitiles/PaginatorTest.java b/gitiles-servlet/src/test/java/com/google/gitiles/PaginatorTest.java index 2ac3f96..242ab89 100644 --- a/gitiles-servlet/src/test/java/com/google/gitiles/PaginatorTest.java +++ b/gitiles-servlet/src/test/java/com/google/gitiles/PaginatorTest.java
@@ -51,6 +51,63 @@ } @Test + public void oneResult() throws Exception { + List<RevCommit> commits = linearCommits(1); + walk.markStart(commits.get(0)); + Paginator p = new Paginator(walk, 10, null); + assertEquals( + ImmutableList.of(commits.get(0)), + ImmutableList.copyOf(p)); + assertNull(p.getPreviousStart()); + assertNull(p.getNextStart()); + } + + @Test + public void lessThanOnePage() throws Exception { + List<RevCommit> commits = linearCommits(3); + walk.markStart(commits.get(2)); + Paginator p = new Paginator(walk, 10, null); + assertEquals( + ImmutableList.of( + commits.get(2), + commits.get(1), + commits.get(0)), + ImmutableList.copyOf(p)); + assertNull(p.getPreviousStart()); + assertNull(p.getNextStart()); + } + + @Test + public void exactlyOnePage() throws Exception { + List<RevCommit> commits = linearCommits(3); + walk.markStart(commits.get(2)); + Paginator p = new Paginator(walk, 3, null); + assertEquals( + ImmutableList.of( + commits.get(2), + commits.get(1), + commits.get(0)), + ImmutableList.copyOf(p)); + assertNull(p.getPreviousStart()); + assertNull(p.getNextStart()); + } + + @Test + public void moreThanOnePage() throws Exception { + List<RevCommit> commits = linearCommits(5); + walk.markStart(commits.get(4)); + Paginator p = new Paginator(walk, 3, null); + assertEquals( + ImmutableList.of( + commits.get(4), + commits.get(3), + commits.get(2)), + ImmutableList.copyOf(p)); + assertNull(p.getPreviousStart()); + assertEquals(commits.get(1), p.getNextStart()); + } + + @Test public void start() throws Exception { List<RevCommit> commits = linearCommits(10); walk.markStart(commits.get(9)); @@ -157,7 +214,7 @@ checkArgument(n > 0); List<RevCommit> commits = Lists.newArrayList(); commits.add(repo.commit().create()); - for (int i = 1; i < 10; i++) { + for (int i = 1; i < n; i++) { commits.add(repo.commit().parent(commits.get(commits.size() - 1)).create()); } return commits;