@cryptotaxi247 / kubo / commits / 4f11baa0b

add tests for basic name matching in pin update

License: MIT Signed-off-by: Ian Preston <ianopolous@protonmail.com>

Ian Preston committed Oct 28, 2017 at 17:09 UTC 4f11baa0be284d9f5faadc739a96e6d2d546a7f3
2 files changed +44 -1
merkledag/utils/diffenum.go
+1 -1
@@ -72,7 +72,7 @@ func getLinkDiff(a, b node.Node) []diffpair {
72 inb[l.Cid.KeyString()] = l
73 }
74 for _, l := range a.Links() {
75 - var key = l.Cid.KeyString()
75 + var key = l.Cid.KeyString()
76 ina[key] = l
77 if inb[key] == nil {
78 aonly = append(aonly, l.Cid)
merkledag/utils/diffenum_test.go
+43
@@ -84,6 +84,49 @@ var tg3 = map[string]ndesc{
84 "d": ndesc{},
85 }
86
87 +var tg4 = map[string]ndesc{
88 + "a1": ndesc{
89 + "key1": "b",
90 + "key2": "c",
91 + },
92 + "a2": ndesc{
93 + "key1": "b",
94 + "key2": "d",
95 + },
96 +}
97 +
98 +var tg5 = map[string]ndesc{
99 + "a1": ndesc{
100 + "key1": "a",
101 + "key2": "b",
102 + },
103 + "a2": ndesc{
104 + "key1": "c",
105 + "key2": "d",
106 + },
107 +}
108 +
109 +func TestNameMatching(t *testing.T) {
110 + nds := mkGraph(tg4)
111 +
112 + diff := getLinkDiff(nds["a1"], nds["a2"])
113 + if len(diff) != 1 {
114 + t.Fatal(fmt.Errorf("node diff didn't match by name"))
115 + }
116 +}
117 +
118 +func TestNameMatching2(t *testing.T) {
119 + nds := mkGraph(tg5)
120 +
121 + diff := getLinkDiff(nds["a1"], nds["a2"])
122 + if len(diff) != 2 {
123 + t.Fatal(fmt.Errorf("incorrect number of link diff elements"))
124 + }
125 + if !(diff[0].bef.Equals(nds["a1"].Links()[0].Cid) && diff[0].aft.Equals(nds["a2"].Links()[0].Cid)) {
126 + t.Fatal(fmt.Errorf("node diff didn't match by name"))
127 + }
128 +}
129 +
130 func TestDiffEnumBasic(t *testing.T) {
131 ctx, cancel := context.WithCancel(context.Background())
132 defer cancel()