Skip to content

Commit 15a35ce

Browse files
committed
add test: no "update" events after destroy()
1 parent b2cbfaf commit 15a35ce

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

test/destroy.js

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
var Buffer = require('safe-buffer').Buffer
2+
var Client = require('../')
3+
var common = require('./common')
4+
var fixtures = require('webtorrent-fixtures')
5+
var test = require('tape')
6+
7+
var peerId = Buffer.from('01234567890123456789')
8+
var port = 6881
9+
10+
function testNoEventsAfterDestroy (t, serverType) {
11+
t.plan(1)
12+
13+
common.createServer(t, serverType, function (server, announceUrl) {
14+
var client = new Client({
15+
infoHash: fixtures.leaves.parsedTorrent.infoHash,
16+
announce: announceUrl,
17+
peerId: peerId,
18+
port: port,
19+
wrtc: {}
20+
})
21+
22+
if (serverType === 'ws') common.mockWebsocketTracker(client)
23+
client.on('error', function (err) { t.error(err) })
24+
client.on('warning', function (err) { t.error(err) })
25+
26+
client.once('update', function () {
27+
t.fail('no "update" event should fire, since client is destroyed')
28+
})
29+
30+
// announce, then immediately destroy
31+
client.update()
32+
client.destroy()
33+
34+
setTimeout(function () {
35+
t.pass('wait to see if any events are fired')
36+
server.close()
37+
}, 1000)
38+
})
39+
}
40+
41+
test('http: no "update" events after destroy()', function (t) {
42+
testNoEventsAfterDestroy(t, 'http')
43+
})
44+
45+
test('udp: no "update" events after destroy()', function (t) {
46+
testNoEventsAfterDestroy(t, 'udp')
47+
})
48+
49+
test('ws: no "update" events after destroy()', function (t) {
50+
testNoEventsAfterDestroy(t, 'ws')
51+
})

0 commit comments

Comments
 (0)