diff options
author | Feross Aboukhadijeh <feross@feross.org> | 2015-01-10 09:03:19 +0300 |
---|---|---|
committer | Feross Aboukhadijeh <feross@feross.org> | 2015-01-10 09:03:19 +0300 |
commit | 6a666528fdaa23230d45676f24bbb5f3b899ada1 (patch) | |
tree | 4c9822a59b52c28ef5027d2ceac5bc800870f009 /test | |
parent | b76408ac5d6f56d2fbb8ae1603286417393e3850 (diff) |
command line: add `info` command
Fix #233
Diffstat (limited to 'test')
-rw-r--r-- | test/basic.js | 2 | ||||
-rw-r--r-- | test/blocklist.js | 2 | ||||
-rw-r--r-- | test/cmd.js | 79 | ||||
-rw-r--r-- | test/download-dht-torrent.js | 2 | ||||
-rw-r--r-- | test/metadata.js | 4 | ||||
-rw-r--r-- | test/multiple.js | 4 | ||||
-rw-r--r-- | test/rarity-map.js | 6 | ||||
-rw-r--r-- | test/server.js | 2 | ||||
-rw-r--r-- | test/storage.js | 4 |
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') |