diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 629af22fd..ab05934b9 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -60,8 +60,8 @@ }, { "ImportPath": "github.com/jbenet/go-multiaddr", - "Comment": "0.1.2-2-g0624ab3", - "Rev": "0624ab3bf754d013585c5d07f0100ba34901a689" + "Comment": "0.1.2-3-g74443fc", + "Rev": "74443fca319c4c2f5e9968b8e268c30a4a74dc64" }, { "ImportPath": "github.com/jbenet/go-multihash", diff --git a/Godeps/_workspace/src/github.com/jbenet/go-multiaddr/index.go b/Godeps/_workspace/src/github.com/jbenet/go-multiaddr/index.go index df22012e9..a55fa669e 100644 --- a/Godeps/_workspace/src/github.com/jbenet/go-multiaddr/index.go +++ b/Godeps/_workspace/src/github.com/jbenet/go-multiaddr/index.go @@ -1,6 +1,7 @@ package multiaddr import ( + "bytes" "fmt" "strings" ) @@ -19,6 +20,11 @@ func NewMultiaddr(s string) (*Multiaddr, error) { return &Multiaddr{Bytes: b}, nil } +// Equal tests whether two multiaddrs are equal +func (m *Multiaddr) Equal(m2 *Multiaddr) bool { + return bytes.Equal(m.Bytes, m2.Bytes) +} + // String returns the string representation of a Multiaddr func (m *Multiaddr) String() (string, error) { return bytesToString(m.Bytes) diff --git a/Godeps/_workspace/src/github.com/jbenet/go-multiaddr/multiaddr_test.go b/Godeps/_workspace/src/github.com/jbenet/go-multiaddr/multiaddr_test.go index 65cb97219..7bc2e92bf 100644 --- a/Godeps/_workspace/src/github.com/jbenet/go-multiaddr/multiaddr_test.go +++ b/Godeps/_workspace/src/github.com/jbenet/go-multiaddr/multiaddr_test.go @@ -6,6 +6,40 @@ import ( "testing" ) +func newMultiaddr(t *testing.T, a string) *Multiaddr { + m, err := NewMultiaddr(a) + if err != nil { + t.Error(err) + } + return m +} + +func TestEqual(t *testing.T) { + m1 := newMultiaddr(t, "/ip4/127.0.0.1/udp/1234") + m2 := newMultiaddr(t, "/ip4/127.0.0.1/tcp/1234") + m3 := newMultiaddr(t, "/ip4/127.0.0.1/tcp/1234") + + if m1.Equal(m2) { + t.Error("should not be equal") + } + + if m2.Equal(m1) { + t.Error("should not be equal") + } + + if !m2.Equal(m3) { + t.Error("should be equal") + } + + if !m3.Equal(m2) { + t.Error("should be equal") + } + + if !m1.Equal(m1) { + t.Error("should be equal") + } +} + func TestStringToBytes(t *testing.T) { testString := func(s string, h string) { diff --git a/crypto/spipe/message.pb.go b/crypto/spipe/message.pb.go index 1c22bfa5f..32392a576 100644 --- a/crypto/spipe/message.pb.go +++ b/crypto/spipe/message.pb.go @@ -14,7 +14,7 @@ It has these top-level messages: */ package spipe -import proto "code.google.com/p/gogoprotobuf/proto" +import proto "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/gogoprotobuf/proto" import json "encoding/json" import math "math" diff --git a/routing/dht/messages.pb.go b/routing/dht/messages.pb.go index d85e81905..b6e9fa4f2 100644 --- a/routing/dht/messages.pb.go +++ b/routing/dht/messages.pb.go @@ -13,7 +13,7 @@ It has these top-level messages: */ package dht -import proto "code.google.com/p/gogoprotobuf/proto" +import proto "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/gogoprotobuf/proto" import json "encoding/json" import math "math"