@@ -302,6 +302,36 @@ test('should add to remoteAddedPeers when onMessage added', t => {
302302 t . equal ( pex . _remoteAddedPeers [ peer ] . flags , encodedFlags )
303303} )
304304
305+ test ( 'should add to remoteAddedPeers when onMessage includes added without flags' , t => {
306+ t . plan ( 6 )
307+ const Extension = utPex ( )
308+ const wire = new Protocol ( )
309+ const pex = new Extension ( wire )
310+
311+ const peer = '127.0.0.1:6889'
312+ const decodedFlags = {
313+ prefersEncryption : false ,
314+ isSender : false ,
315+ supportsUtp : false ,
316+ supportsUtHolepunch : false ,
317+ isReachable : false
318+ }
319+
320+ pex . on ( 'peer' , ( _peer , _flags ) => {
321+ t . equal ( _peer , peer )
322+ t . deepEqual ( _flags , decodedFlags )
323+ } )
324+
325+ const message = bencode . encode ( { added : string2compact ( peer ) } )
326+ const buf = Buffer . from ( message )
327+ pex . onMessage ( buf )
328+
329+ t . notOk ( pex . _remoteDroppedPeers [ peer ] )
330+ t . ok ( pex . _remoteAddedPeers [ peer ] )
331+ t . equal ( pex . _remoteAddedPeers [ peer ] . ip , 4 )
332+ t . equal ( pex . _remoteAddedPeers [ peer ] . flags , undefined )
333+ } )
334+
305335test ( 'should add to remoteAddedPeers when onMessage added6' , t => {
306336 t . plan ( 6 )
307337
@@ -334,6 +364,37 @@ test('should add to remoteAddedPeers when onMessage added6', t => {
334364 t . equal ( pex . _remoteAddedPeers [ peer ] . flags , encodedFlags )
335365} )
336366
367+ test ( 'should add to removeAddedPeers when onMessage includes added6 without flags' , t => {
368+ t . plan ( 6 )
369+
370+ const Extension = utPex ( )
371+ const wire = new Protocol ( )
372+ const pex = new Extension ( wire )
373+
374+ const peer = '[::1]:6889'
375+ const decodedFlags = {
376+ prefersEncryption : false ,
377+ isSender : false ,
378+ supportsUtp : false ,
379+ supportsUtHolepunch : false ,
380+ isReachable : false
381+ }
382+
383+ pex . on ( 'peer' , ( _peer , _flags ) => {
384+ t . equal ( _peer , peer )
385+ t . deepEqual ( _flags , decodedFlags )
386+ } )
387+
388+ const message = bencode . encode ( { added6 : string2compact ( peer ) } )
389+ const buf = Buffer . from ( message )
390+ pex . onMessage ( buf )
391+
392+ t . notOk ( pex . _remoteDroppedPeers [ peer ] )
393+ t . ok ( pex . _remoteAddedPeers [ peer ] )
394+ t . equal ( pex . _remoteAddedPeers [ peer ] . ip , 6 )
395+ t . equal ( pex . _remoteAddedPeers [ peer ] . flags , undefined )
396+ } )
397+
337398test ( 'should ignore when onMessage dropped and address already in remoteDroppedPeers' , t => {
338399 const Extension = utPex ( )
339400 const wire = new Protocol ( )
0 commit comments