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
path: root/test
diff options
context:
space:
mode:
authorFeross Aboukhadijeh <feross@feross.org>2015-01-10 09:03:19 +0300
committerFeross Aboukhadijeh <feross@feross.org>2015-01-10 09:03:19 +0300
commit6a666528fdaa23230d45676f24bbb5f3b899ada1 (patch)
tree4c9822a59b52c28ef5027d2ceac5bc800870f009 /test
parentb76408ac5d6f56d2fbb8ae1603286417393e3850 (diff)
command line: add `info` command
Fix #233
Diffstat (limited to 'test')
-rw-r--r--test/basic.js2
-rw-r--r--test/blocklist.js2
-rw-r--r--test/cmd.js79
-rw-r--r--test/download-dht-torrent.js2
-rw-r--r--test/metadata.js4
-rw-r--r--test/multiple.js4
-rw-r--r--test/rarity-map.js6
-rw-r--r--test/server.js2
-rw-r--r--test/storage.js4
9 files changed, 79 insertions, 26 deletions
diff --git a/test/basic.js b/test/basic.js
index d244bdd..54ab2ff 100644
--- a/test/basic.js
+++ b/test/basic.js
@@ -1,7 +1,7 @@
-var WebTorrent = require('../')
var fs = require('fs')
var parseTorrent = require('parse-torrent')
var test = require('tape')
+var WebTorrent = require('../')
var leaves = fs.readFileSync(__dirname + '/torrents/leaves.torrent')
var leavesTorrent = parseTorrent(leaves)
diff --git a/test/blocklist.js b/test/blocklist.js
index 5ae6950..f7f4170 100644
--- a/test/blocklist.js
+++ b/test/blocklist.js
@@ -1,5 +1,5 @@
-var http = require('http')
var fs = require('fs')
+var http = require('http')
var parseTorrent = require('parse-torrent')
var portfinder = require('portfinder')
var test = require('tape')
diff --git a/test/cmd.js b/test/cmd.js
index b7c11c0..2cd0024 100644
--- a/test/cmd.js
+++ b/test/cmd.js
@@ -1,29 +1,82 @@
var cp = require('child_process')
+var fs = require('fs')
+var parseTorrent = require('parse-torrent')
var test = require('tape')
-test('Command line: --help', function (t) {
- t.plan(2)
+var CMD = __dirname + '/../bin/cmd.js'
+
+test('Command line: webtorrent help', function (t) {
+ t.plan(6)
+
+ cp.exec(CMD + ' help', function (err, data) {
+ t.error(err) // no error, exit code 0
+ t.ok(data.toLowerCase().indexOf('usage') !== -1)
+ })
+
+ cp.exec(CMD + ' --help', function (err, data) {
+ t.error(err) // no error, exit code 0
+ t.ok(data.toLowerCase().indexOf('usage') !== -1)
+ })
- var bin = __dirname + '/../bin/cmd.js --help'
- cp.exec(bin, function (err, data) {
+ cp.exec(CMD, function (err, data) {
t.error(err) // no error, exit code 0
- t.ok(data.indexOf('usage') !== 0)
+ t.ok(data.toLowerCase().indexOf('usage') !== -1)
})
+
})
-test('Command line: -v --version', function (t) {
- t.plan(4)
+test('Command line: webtorrent version', function (t) {
+ t.plan(6)
var expectedVersion = require(__dirname + '/../package.json').version + '\n'
- var bin = __dirname + '/../bin/cmd.js --version'
- cp.exec(bin, function (err, data) {
- t.error(err) // no error, exit code 0
+ cp.exec(CMD + ' version', function (err, data) {
+ t.error(err)
t.equal(data, expectedVersion)
})
- bin = __dirname + '/../bin/cmd.js -v'
- cp.exec(bin, function (err, data) {
- t.error(err) // no error, exit code 0
+ cp.exec(CMD + ' --version', function (err, data) {
+ t.error(err)
+ t.equal(data, expectedVersion)
+ })
+
+ cp.exec(CMD + ' -v', function (err, data) {
+ t.error(err)
t.equal(data, expectedVersion)
})
})
+
+test('Command line: webtorrent info /path/to/file.torrent', function (t) {
+ t.plan(3)
+
+ var leavesPath = __dirname + '/torrents/leaves.torrent'
+ var leaves = fs.readFileSync(leavesPath)
+
+ cp.exec(CMD + ' info ' + leavesPath, function (err, data) {
+ t.error(err)
+ data = JSON.parse(data)
+ var parsedTorrent = parseTorrent(leaves)
+ delete parsedTorrent.info
+ delete parsedTorrent.infoBuffer
+ t.deepEqual(data, JSON.parse(JSON.stringify(parsedTorrent, undefined, 2)))
+ })
+
+ cp.exec(CMD + ' info /bad/path', function (err, data) {
+ t.ok(err instanceof Error)
+ })
+})
+
+test('Command line: webtorrent info magnet_uri', function (t) {
+ t.plan(2)
+
+ var leavesMagnetURI = 'magnet:?xt=urn:btih:d2474e86c95b19b8bcfdb92bc12c9d44667cfa36&dn=Leaves+of+Grass+by+Walt+Whitman.epub&tr=http%3A%2F%2Ftracker.thepiratebay.org%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.ccc.de%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ffr33domtracker.h33t.com%3A3310%2Fannounce&tr=http%3A%2F%2Ftracker.bittorrent.am%2Fannounce'
+
+ cp.exec(CMD + ' info "' + leavesMagnetURI + '"', function (err, data) {
+ t.error(err)
+ data = JSON.parse(data)
+ var parsedTorrent = parseTorrent(leavesMagnetURI)
+ t.deepEqual(data, JSON.parse(JSON.stringify(parsedTorrent, undefined, 2)))
+ })
+})
+
+// TODO: test 'webtorrent download /path/to/torrent'
+// TODO: test 'webtorrent download magnet_uri'
diff --git a/test/download-dht-torrent.js b/test/download-dht-torrent.js
index 0e38512..510092f 100644
--- a/test/download-dht-torrent.js
+++ b/test/download-dht-torrent.js
@@ -1,9 +1,9 @@
var auto = require('run-auto')
-var WebTorrent = require('../')
var DHT = require('bittorrent-dht/server')
var fs = require('fs')
var parseTorrent = require('parse-torrent')
var test = require('tape')
+var WebTorrent = require('../')
var leavesPath = __dirname + '/content/Leaves of Grass by Walt Whitman.epub'
var leavesFile = fs.readFileSync(leavesPath)
diff --git a/test/metadata.js b/test/metadata.js
index c01182a..b9ab33f 100644
--- a/test/metadata.js
+++ b/test/metadata.js
@@ -1,7 +1,7 @@
-var WebTorrent = require('../')
+var fs = require('fs')
var parseTorrent = require('parse-torrent')
var test = require('tape')
-var fs = require('fs')
+var WebTorrent = require('../')
var leaves = fs.readFileSync(__dirname + '/torrents/leaves.torrent')
var leavesTorrent = parseTorrent(leaves)
diff --git a/test/multiple.js b/test/multiple.js
index 93fdde7..4fb5673 100644
--- a/test/multiple.js
+++ b/test/multiple.js
@@ -1,7 +1,7 @@
/*
-var WebTorrent = require('../')
-var test = require('tape')
var fs = require('fs')
+var test = require('tape')
+var WebTorrent = require('../')
var torrents = [ 'leaves', 'pride' ].map(function (name) {
return fs.readFileSync(__dirname + '/torrents/' + name + '.torrent')
diff --git a/test/rarity-map.js b/test/rarity-map.js
index 5e04ddc..f906120 100644
--- a/test/rarity-map.js
+++ b/test/rarity-map.js
@@ -1,9 +1,9 @@
-var RarityMap = require('../lib/rarity-map')
var BitField = require('bitfield')
-var Swarm = require('bittorrent-swarm')
var EventEmitter = require('events').EventEmitter
-var test = require('tape')
var hat = require('hat')
+var RarityMap = require('../lib/rarity-map')
+var Swarm = require('bittorrent-swarm')
+var test = require('tape')
var infoHash = 'd2474e86c95b19b8bcfdb92bc12c9d44667cfa36'
var peerId1 = '-WW0001-' + hat(48)
diff --git a/test/server.js b/test/server.js
index f8b2722..847d048 100644
--- a/test/server.js
+++ b/test/server.js
@@ -1,5 +1,5 @@
-var get = require('simple-get')
var fs = require('fs')
+var get = require('simple-get')
var portfinder = require('portfinder')
var test = require('tape')
var WebTorrent = require('../')
diff --git a/test/storage.js b/test/storage.js
index 6dfc04b..bc7117b 100644
--- a/test/storage.js
+++ b/test/storage.js
@@ -1,7 +1,7 @@
-var Storage = require('../lib/storage')
+var fs = require('fs')
var parseTorrent = require('parse-torrent')
+var Storage = require('../lib/storage')
var test = require('tape')
-var fs = require('fs')
var torrents = [ 'leaves', 'pride' ].map(function (name) {
var torrent = fs.readFileSync(__dirname + '/torrents/' + name + '.torrent')