1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 package com.aragost.javahg.commands;
27
28 import java.io.IOException;
29 import java.util.List;
30
31 import org.junit.Assert;
32 import org.junit.Test;
33
34 import com.aragost.javahg.Changeset;
35 import com.aragost.javahg.Repository;
36 import com.aragost.javahg.test.AbstractTestCase;
37
38 public class LogCommandTest extends AbstractTestCase {
39
40 @Test
41 public void test() throws IOException {
42 Repository repo = getTestRepository();
43 writeFile("x", "abc");
44
45 LogCommand log = LogCommand.on(repo);
46 CommitCommand commit = CommitCommand.on(repo);
47 AddCommand.on(repo).execute();
48
49 commit.message("line1\nline2\nX").user("user").execute();
50
51 writeFile("x", "ABC");
52 commit.message("Line1\nLine2\n").user("USER").execute();
53
54 List<Changeset> changesets = log.execute();
55
56 Assert.assertEquals(2, changesets.size());
57 Changeset cs = changesets.get(1);
58 Assert.assertEquals("user", cs.getUser());
59 Assert.assertEquals("line1\nline2\nX", cs.getMessage());
60 Assert.assertEquals("x", cs.getAddedFiles().get(0));
61
62 cs = changesets.get(0);
63 Assert.assertEquals("USER", cs.getUser());
64 Assert.assertEquals("Line1\nLine2", cs.getMessage());
65 Assert.assertEquals("x", cs.getModifiedFiles().get(0));
66 }
67
68 @Test
69 public void testLimit() throws IOException {
70 Repository repo = getTestRepository();
71 writeFile("a");
72 commit();
73 writeFile("b");
74 commit();
75 List<Changeset> log = LogCommand.on(repo).limit(1).execute();
76 Assert.assertEquals(1, log.size());
77 }
78
79 @Test
80 public void testEagerLoading() throws IOException{
81 Repository repo = getTestRepository();
82 writeFile("a", "abc");
83 AddCommand.on(repo).execute();
84 Changeset c = CommitCommand.on(repo).user("test").message("added file a").execute();
85 String nodeId = c.getNode();
86 c = LogCommand.on(repo).fileStatus().rev(nodeId).single();
87 Assert.assertEquals("a", c.getAddedFiles().get(0));
88 }
89
90 }