From bb1a23577f3a466849564ced171d4043cd7bd26d Mon Sep 17 00:00:00 2001 From: Jacob Heun Date: Thu, 11 Apr 2019 12:36:32 +0200 Subject: [PATCH] fix: dont compare empty strings (#330) --- src/transport.js | 1 + test/transport-manager.spec.js | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/transport.js b/src/transport.js index 0937483..cd15af2 100644 --- a/src/transport.js +++ b/src/transport.js @@ -236,6 +236,7 @@ function ourAddresses (peerInfo) { : `${addr}/ipfs/${ourPeerId}` return ourAddrs.concat([addr, otherAddr]) }, []) + .filter(a => Boolean(a)) .concat(`/ipfs/${ourPeerId}`) } diff --git a/test/transport-manager.spec.js b/test/transport-manager.spec.js index 901c303..9a5e645 100644 --- a/test/transport-manager.spec.js +++ b/test/transport-manager.spec.js @@ -95,6 +95,23 @@ describe('Transport Manager', () => { expect(dialableAddrs[0].toString()).to.equal('/ip6/::1/tcp/4001') }) + it('should filter out our addrs that start with /ipfs/', () => { + const queryAddrs = [ + '/ip4/127.0.0.1/tcp/4002/ipfs/QmebzNV1kSzLfaYpSZdShuiABNUxoKT1vJmCdxM2iWsM2j' + ].map(a => Multiaddr(a)) + + const ourAddrs = [ + '/ipfs/QmSoLnSGccFuZQJzRadHn95W2CrSFmZuTdDWP8HXaHca9z' + ] + + ourAddrs.forEach(a => peerInfo.multiaddrs.add(a)) + + const dialableAddrs = TransportManager.dialables(dialAllTransport, queryAddrs, peerInfo) + + expect(dialableAddrs).to.have.length(1) + expect(dialableAddrs[0]).to.eql(queryAddrs[0]) + }) + it('should filter our addresses over relay/rendezvous', () => { const peerId = peerInfo.id.toB58String() const queryAddrs = [