diff options
author | Feross Aboukhadijeh <feross@feross.org> | 2015-12-30 02:03:00 +0300 |
---|---|---|
committer | Feross Aboukhadijeh <feross@feross.org> | 2015-12-30 02:03:00 +0300 |
commit | 0b4dfc608600390b108b846a7bebd293ebf73937 (patch) | |
tree | 976d21b7bd13dc6f162884aaad969619d731444d /test/download-webseed-magnet.js | |
parent | b378a8e40b62348733d7bef4a75ec1798e2b1131 (diff) |
Add more browser tests
Run more of the tests in the browser. There's now a test/node and test/browser folder for tests that are specific to each environment. Anything in test/ will be run in both environments.
Diffstat (limited to 'test/download-webseed-magnet.js')
-rw-r--r-- | test/download-webseed-magnet.js | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/test/download-webseed-magnet.js b/test/download-webseed-magnet.js deleted file mode 100644 index 1808989..0000000 --- a/test/download-webseed-magnet.js +++ /dev/null @@ -1,115 +0,0 @@ -var common = require('./common') -var finalhandler = require('finalhandler') -var http = require('http') -var path = require('path') -var series = require('run-series') -var serveStatic = require('serve-static') -var test = require('tape') -var WebTorrent = require('../') - -test('Download using webseed (via magnet uri)', function (t) { - t.plan(9) - - var parsedTorrent = common.leaves.parsedTorrent - - var serve = serveStatic(path.join(__dirname, 'content')) - var httpServer = http.createServer(function (req, res) { - var done = finalhandler(req, res) - serve(req, res, done) - }) - var client1, client2 - - httpServer.on('error', function (err) { t.fail(err) }) - - series([ - function (cb) { - httpServer.listen(cb) - }, - - function (cb) { - client1 = new WebTorrent({ tracker: false, dht: false }) - - client1.on('error', function (err) { t.fail(err) }) - client1.on('warning', function (err) { t.fail(err) }) - - var gotTorrent = false - var gotListening = false - function maybeDone () { - if (gotTorrent && gotListening) cb(null) - } - - client1.on('torrent', function (torrent) { - // torrent metadata has been fetched -- sanity check it - t.equal(torrent.name, 'Leaves of Grass by Walt Whitman.epub') - - var names = [ - 'Leaves of Grass by Walt Whitman.epub' - ] - - t.deepEqual(torrent.files.map(function (file) { return file.name }), names) - - // NOTE: client1 is *NOT* a seeder. Just has the metadata. - gotTorrent = true - maybeDone() - }) - - client1.on('listening', function () { - gotListening = true - maybeDone() - }) - - client1.add(parsedTorrent) - }, - - function (cb) { - client2 = new WebTorrent({ tracker: false, dht: false }) - - client2.on('error', function (err) { t.fail(err) }) - client2.on('warning', function (err) { t.fail(err) }) - - var webSeedUrl = 'http://localhost:' + httpServer.address().port + '/' + common.leaves.parsedTorrent.name - var magnetUri = 'magnet:?xt=urn:btih:' + parsedTorrent.infoHash + - '&ws=' + encodeURIComponent(webSeedUrl) - - client2.on('torrent', function (torrent) { - torrent.files.forEach(function (file) { - file.getBuffer(function (err, buf) { - t.error(err) - t.deepEqual(buf, common.leaves.content, 'downloaded correct content') - gotBuffer = true - maybeDone() - }) - }) - - torrent.once('done', function () { - t.pass('client2 downloaded torrent from client1') - torrentDone = true - maybeDone() - }) - - var gotBuffer = false - var torrentDone = false - function maybeDone () { - if (gotBuffer && torrentDone) cb(null) - } - }) - - client2.on('listening', function (port, torrent) { - torrent.addPeer('127.0.0.1:' + client1.address().port) - }) - - client2.add(magnetUri) - } - ], function (err) { - t.error(err) - client1.destroy(function (err) { - t.error(err, 'client destroyed') - }) - client2.destroy(function (err) { - t.error(err, 'client destroyed') - }) - httpServer.close(function () { - t.pass('http server closed') - }) - }) -}) |