diff options
author | Feross Aboukhadijeh <feross@feross.org> | 2016-02-10 09:42:57 +0300 |
---|---|---|
committer | Feross Aboukhadijeh <feross@feross.org> | 2016-02-10 09:45:03 +0300 |
commit | bb6ad183fbb78fa38f4dcc104b11683722693ce1 (patch) | |
tree | e7a9e912b0ccb0197581fb8e7d24a494c1ab69c0 /test/node | |
parent | 87c64856797ab49bab36b1aed6fc08b3d064d4a7 (diff) |
test: move node-only test to test/node
Diffstat (limited to 'test/node')
-rw-r--r-- | test/node/seed-stream.js | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/test/node/seed-stream.js b/test/node/seed-stream.js new file mode 100644 index 0000000..6a6f14c --- /dev/null +++ b/test/node/seed-stream.js @@ -0,0 +1,63 @@ +var test = require('tape') +var Readable = require('readable-stream').Readable +var concat = require('concat-stream') +var Tracker = require('bittorrent-tracker/server') +var WebTorrent = require('../../') + +test('client.seed: stream', function (t) { + t.plan(4) + + var announce = [] + var tracker = new Tracker() + var seeder, client + tracker.listen(function () { + var port = tracker.http.address().port + t.pass('tracker listening on ' + port) + announce.push('http://localhost:' + port + '/announce') + + seeder = new WebTorrent({ dht: false }) + client = new WebTorrent({ dht: false }) + + seeder.on('error', function (err) { t.fail(err) }) + seeder.on('warning', function (err) { t.fail(err) }) + client.on('error', function (err) { t.fail(err) }) + client.on('warning', function (err) { t.fail(err) }) + + seed() + }) + tracker.on('start', function () { + console.log('START', arguments) + }) + + t.once('end', function () { + seeder.destroy(function (err) { if (err) t.error(err, 'seeder destroyed') }) + client.destroy(function (err) { if (err) t.error(err, 'client destroyed') }) + tracker.close() + }) + + var stream = new Readable() + stream._read = function () {} + stream.push('HELLO WORLD\n') + stream.push(null) + + function seed () { + var sopts = { + name: 'hello.txt', + pieceLength: 5, + announce: announce + } + var copts = { announce: announce } + seeder.seed([stream], sopts, function (torrent) { + console.log(torrent.magnetURI) + client.add(torrent.magnetURI, copts, function (dl) { + t.equal(dl.files.length, 1) + t.equal(dl.files[0].name, 'hello.txt') + t.equal(dl.files[0].length, 12) + dl.files[0].createReadStream() + .pipe(concat({ encoding: 'string' }, function (body) { + t.equal(body, 'HELLO WORLD\n', 'content') + })) + }) + }) + } +}) |