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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 package org.eclipse.jgit.treewalk;
45
46 import static org.junit.Assert.assertEquals;
47 import static org.junit.Assert.assertFalse;
48 import static org.junit.Assert.assertNotNull;
49 import static org.junit.Assert.assertSame;
50 import static org.junit.Assert.assertTrue;
51
52 import org.eclipse.jgit.junit.RepositoryTestCase;
53 import org.eclipse.jgit.lib.ObjectId;
54 import org.eclipse.jgit.lib.ObjectReader;
55 import org.junit.Test;
56
57 public class EmptyTreeIteratorTest extends RepositoryTestCase {
58 @Test
59 public void testAtEOF() throws Exception {
60 final EmptyTreeIterator etp = new EmptyTreeIterator();
61 assertTrue(etp.first());
62 assertTrue(etp.eof());
63 }
64
65 @Test
66 public void testCreateSubtreeIterator() throws Exception {
67 final EmptyTreeIterator etp = new EmptyTreeIterator();
68 final ObjectReader reader = db.newObjectReader();
69 final AbstractTreeIterator sub = etp.createSubtreeIterator(reader);
70 assertNotNull(sub);
71 assertTrue(sub.first());
72 assertTrue(sub.eof());
73 assertTrue(sub instanceof EmptyTreeIterator);
74 }
75
76 @Test
77 public void testEntryObjectId() throws Exception {
78 final EmptyTreeIterator etp = new EmptyTreeIterator();
79 assertSame(ObjectId.zeroId(), etp.getEntryObjectId());
80 assertNotNull(etp.idBuffer());
81 assertEquals(0, etp.idOffset());
82 assertEquals(ObjectId.zeroId(), ObjectId.fromRaw(etp.idBuffer()));
83 }
84
85 @Test
86 public void testNextDoesNothing() throws Exception {
87 final EmptyTreeIterator etp = new EmptyTreeIterator();
88 etp.next(1);
89 assertTrue(etp.first());
90 assertTrue(etp.eof());
91 assertEquals(ObjectId.zeroId(), ObjectId.fromRaw(etp.idBuffer()));
92
93 etp.next(1);
94 assertTrue(etp.first());
95 assertTrue(etp.eof());
96 assertEquals(ObjectId.zeroId(), ObjectId.fromRaw(etp.idBuffer()));
97 }
98
99 @Test
100 public void testBackDoesNothing() throws Exception {
101 final EmptyTreeIterator etp = new EmptyTreeIterator();
102 etp.back(1);
103 assertTrue(etp.first());
104 assertTrue(etp.eof());
105 assertEquals(ObjectId.zeroId(), ObjectId.fromRaw(etp.idBuffer()));
106
107 etp.back(1);
108 assertTrue(etp.first());
109 assertTrue(etp.eof());
110 assertEquals(ObjectId.zeroId(), ObjectId.fromRaw(etp.idBuffer()));
111 }
112
113 @Test
114 public void testStopWalkCallsParent() throws Exception {
115 final boolean called[] = new boolean[1];
116 assertFalse(called[0]);
117
118 final EmptyTreeIterator parent = new EmptyTreeIterator() {
119 @Override
120 public void stopWalk() {
121 called[0] = true;
122 }
123 };
124 final ObjectReader reader = db.newObjectReader();
125 parent.createSubtreeIterator(reader).stopWalk();
126 assertTrue(called[0]);
127 }
128 }