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
30 import org.junit.Assert;
31 import org.junit.Test;
32
33 import com.aragost.javahg.Repository;
34 import com.aragost.javahg.test.AbstractTestCase;
35
36 public class DiffCommandTest extends AbstractTestCase {
37
38 @Test
39 public void testNoFiles() throws IOException {
40 Repository repo = getTestRepository();
41 writeFile("x", "abc\n");
42 AddCommand.on(repo).execute();
43
44
45 String expected = ""
46 + "diff --git a/x b/x\n"
47 + "new file mode 100644\n"
48 + "--- /dev/null\n"
49 + "+++ b/x\n"
50 + "@@ -0,0 +1,1 @@\n"
51 + "+abc\n";
52
53
54 String patch = DiffCommand.on(repo).nodates().execute();
55 Assert.assertEquals(expected, patch);
56 }
57
58 @Test
59 public void testSingleFile() throws IOException {
60 Repository repo = getTestRepository();
61
62 writeFile("x", "abc\n");
63 AddCommand.on(repo).execute();
64
65
66 String expected = ""
67 + "diff --git a/x b/x\n"
68 + "new file mode 100644\n"
69 + "--- /dev/null\n"
70 + "+++ b/x\n"
71 + "@@ -0,0 +1,1 @@\n"
72 + "+abc\n";
73
74
75 String patch = DiffCommand.on(repo).nodates().execute("x");
76 Assert.assertEquals(expected, patch);
77 }
78
79 @Test
80 public void testDiffstat() throws IOException {
81 Repository repo = getTestRepository();
82 writeFile("x", "abc\n");
83 AddCommand.on(repo).execute();
84
85
86 String expected = ""
87 + " x | 1 +\n"
88 + " 1 files changed, 1 insertions(+), 0 deletions(-)\n";
89
90
91 String patch = DiffCommand.on(repo).stat().execute();
92 Assert.assertEquals(expected, patch);
93 }
94
95 }