Skip to content

Commit

Permalink
add tests to check for the close event
Browse files Browse the repository at this point in the history
  • Loading branch information
daviddias committed Jun 23, 2016
1 parent 0ecf524 commit 847b69e
Showing 1 changed file with 64 additions and 1 deletion.
65 changes: 64 additions & 1 deletion test.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ var tape = require('tape')
var through = require('through2')
var concat = require('concat-stream')
var duplexify = require('./')
var tcp = require('net')

tape('passthrough', function(t) {
t.plan(2)
Expand Down Expand Up @@ -266,4 +267,66 @@ tape('close', function(t) {
t.ok(true, 'should forward close')
t.end()
})
})
})

tape('close is bubbled up on both ends - destroy on listener', function(t) {
var listener
var counter = 0

listener = tcp.createServer(function(socket) {
var dup = duplexify(socket, socket)

socket.on('close', count)
dup.on('close', count)

dup.destroy()
})

listener.listen(0)

var socket = tcp.connect(listener.address())
var dup = duplexify(socket, socket)

socket.on('close', count)
dup.on('close', count)

function count() {
console.log('->', counter)

if (++counter === 4) {
return listener.close(t.end)
}
}
})

tape('close is bubbled up on both ends - destroy on dialer', function(t) {
var listener
var counter = 0

listener = tcp.createServer(function(socket) {
var dup = duplexify(socket, socket)

socket.on('close', count)
dup.on('close', count)
})

listener.listen(0)

var socket = tcp.connect(listener.address())
var dup = duplexify(socket, socket)

socket.on('close', count)
dup.on('close', count)

setTimeout(function () {
dup.destroy()
}, 100)

function count() {
console.log('->', counter)

if (++counter === 4) {
return listener.close(t.end)
}
}
})

0 comments on commit 847b69e

Please sign in to comment.