Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/webtorrent/webtorrent.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'test/node/basic.js')
-rw-r--r--test/node/basic.js116
1 files changed, 116 insertions, 0 deletions
diff --git a/test/node/basic.js b/test/node/basic.js
new file mode 100644
index 0000000..c03eb93
--- /dev/null
+++ b/test/node/basic.js
@@ -0,0 +1,116 @@
+var common = require('../common')
+var http = require('http')
+var test = require('tape')
+var WebTorrent = require('../../')
+
+test('client.add: http url to a torrent file, string', function (t) {
+ t.plan(8)
+
+ var server = http.createServer(function (req, res) {
+ t.ok(req.headers['user-agent'].indexOf('WebTorrent') !== -1)
+ res.end(common.leaves.torrent)
+ })
+
+ server.listen(0, function () {
+ var port = server.address().port
+ var url = 'http://127.0.0.1:' + port
+ var client = new WebTorrent({ dht: false, tracker: false })
+
+ client.on('error', function (err) { t.fail(err) })
+ client.on('warning', function (err) { t.fail(err) })
+
+ client.add(url, function (torrent) {
+ t.equal(client.torrents.length, 1)
+ t.equal(torrent.infoHash, common.leaves.parsedTorrent.infoHash)
+ t.equal(torrent.magnetURI, common.leaves.magnetURI)
+
+ client.remove(torrent, function (err) { t.error(err, 'torrent destroyed') })
+ t.equal(client.torrents.length, 0)
+
+ server.close(function () { t.pass('http server closed') })
+ client.destroy(function (err) { t.error(err, 'client destroyed') })
+ })
+ })
+})
+
+test('client.add: filesystem path to a torrent file, string', function (t) {
+ t.plan(6)
+
+ var client = new WebTorrent({ dht: false, tracker: false })
+
+ client.on('error', function (err) { t.fail(err) })
+ client.on('warning', function (err) { t.fail(err) })
+
+ client.add(common.leaves.torrentPath, function (torrent) {
+ t.equal(client.torrents.length, 1)
+ t.equal(torrent.infoHash, common.leaves.parsedTorrent.infoHash)
+ t.equal(torrent.magnetURI, common.leaves.magnetURI)
+
+ client.remove(torrent, function (err) { t.error(err, 'torrent destroyed') })
+ t.equal(client.torrents.length, 0)
+
+ client.destroy(function (err) { t.error(err, 'client destroyed') })
+ })
+})
+
+test('client.seed: filesystem path to file, string', function (t) {
+ t.plan(6)
+
+ var client = new WebTorrent({ dht: false, tracker: false })
+
+ client.on('error', function (err) { t.fail(err) })
+ client.on('warning', function (err) { t.fail(err) })
+
+ client.seed(common.leaves.contentPath, {
+ name: 'Leaves of Grass by Walt Whitman.epub'
+ }, function (torrent) {
+ t.equal(client.torrents.length, 1)
+ t.equal(torrent.infoHash, common.leaves.parsedTorrent.infoHash)
+ t.equal(torrent.magnetURI, common.leaves.magnetURI)
+
+ client.remove(torrent, function (err) { t.error(err, 'torrent destroyed') })
+ t.equal(client.torrents.length, 0)
+
+ client.destroy(function (err) { t.error(err, 'client destroyed') })
+ })
+})
+
+test('client.seed: filesystem path to folder with one file, string', function (t) {
+ t.plan(6)
+
+ var client = new WebTorrent({ dht: false, tracker: false })
+
+ client.on('error', function (err) { t.fail(err) })
+ client.on('warning', function (err) { t.fail(err) })
+
+ client.seed(common.folder.contentPath, function (torrent) {
+ t.equal(client.torrents.length, 1)
+ t.equal(torrent.infoHash, common.folder.parsedTorrent.infoHash)
+ t.equal(torrent.magnetURI, common.folder.magnetURI)
+
+ client.remove(torrent, function (err) { t.error(err, 'torrent destroyed') })
+ t.equal(client.torrents.length, 0)
+
+ client.destroy(function (err) { t.error(err, 'client destroyed') })
+ })
+})
+
+test('client.seed: filesystem path to folder with multiple files, string', function (t) {
+ t.plan(6)
+
+ var client = new WebTorrent({ dht: false, tracker: false })
+
+ client.on('error', function (err) { t.fail(err) })
+ client.on('warning', function (err) { t.fail(err) })
+
+ client.seed(common.numbers.contentPath, function (torrent) {
+ t.equal(client.torrents.length, 1)
+ t.equal(torrent.infoHash, common.numbers.parsedTorrent.infoHash)
+ t.equal(torrent.magnetURI, common.numbers.magnetURI)
+
+ client.remove(torrent, function (err) { t.error(err, 'torrent destroyed') })
+ t.equal(client.torrents.length, 0)
+
+ client.destroy(function (err) { t.error(err, 'client destroyed') })
+ })
+})