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.lib;
45
46 import static org.junit.Assert.assertEquals;
47 import static org.junit.Assert.assertFalse;
48 import static org.junit.Assert.assertNull;
49 import static org.junit.Assert.assertSame;
50 import static org.junit.Assert.assertTrue;
51
52 import org.junit.Test;
53
54 public class ObjectIdRefTest {
55 private static final ObjectId ID_A = ObjectId
56 .fromString("41eb0d88f833b558bddeb269b7ab77399cdf98ed");
57
58 private static final ObjectId ID_B = ObjectId
59 .fromString("698dd0b8d0c299f080559a1cffc7fe029479a408");
60
61 private static final String name = "refs/heads/a.test.ref";
62
63 @Test
64 public void testConstructor_PeeledStatusNotKnown() {
65 ObjectIdRef r;
66
67 r = new ObjectIdRef.Unpeeled(Ref.Storage.LOOSE, name, ID_A);
68 assertSame(Ref.Storage.LOOSE, r.getStorage());
69 assertSame(name, r.getName());
70 assertSame(ID_A, r.getObjectId());
71 assertFalse("not peeled", r.isPeeled());
72 assertNull("no peel id", r.getPeeledObjectId());
73 assertSame("leaf is this", r, r.getLeaf());
74 assertSame("target is this", r, r.getTarget());
75 assertFalse("not symbolic", r.isSymbolic());
76
77 r = new ObjectIdRef.Unpeeled(Ref.Storage.PACKED, name, ID_A);
78 assertSame(Ref.Storage.PACKED, r.getStorage());
79
80 r = new ObjectIdRef.Unpeeled(Ref.Storage.LOOSE_PACKED, name, ID_A);
81 assertSame(Ref.Storage.LOOSE_PACKED, r.getStorage());
82
83 r = new ObjectIdRef.Unpeeled(Ref.Storage.NEW, name, null);
84 assertSame(Ref.Storage.NEW, r.getStorage());
85 assertSame(name, r.getName());
86 assertNull("no id on new ref", r.getObjectId());
87 assertFalse("not peeled", r.isPeeled());
88 assertNull("no peel id", r.getPeeledObjectId());
89 assertSame("leaf is this", r, r.getLeaf());
90 assertSame("target is this", r, r.getTarget());
91 assertFalse("not symbolic", r.isSymbolic());
92 }
93
94 @Test
95 public void testConstructor_Peeled() {
96 ObjectIdRef r;
97
98 r = new ObjectIdRef.Unpeeled(Ref.Storage.LOOSE, name, ID_A);
99 assertSame(Ref.Storage.LOOSE, r.getStorage());
100 assertSame(name, r.getName());
101 assertSame(ID_A, r.getObjectId());
102 assertFalse("not peeled", r.isPeeled());
103 assertNull("no peel id", r.getPeeledObjectId());
104 assertSame("leaf is this", r, r.getLeaf());
105 assertSame("target is this", r, r.getTarget());
106 assertFalse("not symbolic", r.isSymbolic());
107
108 r = new ObjectIdRef.PeeledNonTag(Ref.Storage.LOOSE, name, ID_A);
109 assertTrue("is peeled", r.isPeeled());
110 assertNull("no peel id", r.getPeeledObjectId());
111
112 r = new ObjectIdRef.PeeledTag(Ref.Storage.LOOSE, name, ID_A, ID_B);
113 assertTrue("is peeled", r.isPeeled());
114 assertSame(ID_B, r.getPeeledObjectId());
115 }
116
117 @Test
118 public void testToString() {
119 ObjectIdRef r;
120
121 r = new ObjectIdRef.Unpeeled(Ref.Storage.LOOSE, name, ID_A);
122 assertEquals("Ref[" + name + "=" + ID_A.name() + "]", r.toString());
123 }
124 }