1 | var magnet = require('../')
|
2 | var test = require('tape')
|
3 |
|
4 | test('encode: complicated magnet uri (multiple xt params, and as, xs)', function (t) {
|
5 | var uri = magnet.encode({
|
6 | xt: [
|
7 | 'urn:ed2k:354B15E68FB8F36D7CD88FF94116CDC1',
|
8 | 'urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY',
|
9 | 'urn:btih:QHQXPYWMACKDWKP47RRVIV7VOURXFE5Q'
|
10 | ],
|
11 | xl: '10826029',
|
12 | dn: 'mediawiki-1.15.1.tar.gz',
|
13 | tr: [
|
14 | 'udp://tracker.openbittorrent.com:80/announce'
|
15 | ],
|
16 | as: 'http://download.wikimedia.org/mediawiki/1.15/mediawiki-1.15.1.tar.gz',
|
17 | xs: [
|
18 | 'http://cache.example.org/XRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5',
|
19 | 'dchub://example.org'
|
20 | ]
|
21 | })
|
22 |
|
23 | t.equal(uri, 'magnet:?xt=urn:ed2k:354B15E68FB8F36D7CD88FF94116CDC1&xt=urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY&xt=urn:btih:QHQXPYWMACKDWKP47RRVIV7VOURXFE5Q&xl=10826029&dn=mediawiki-1.15.1.tar.gz&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&as=http%3A%2F%2Fdownload.wikimedia.org%2Fmediawiki%2F1.15%2Fmediawiki-1.15.1.tar.gz&xs=http%3A%2F%2Fcache.example.org%2FXRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5&xs=dchub%3A%2F%2Fexample.org')
|
24 | t.end()
|
25 | })
|
26 |
|
27 | test('encode: simple magnet uri using convenience names', function (t) {
|
28 | var obj = {
|
29 | xt: 'urn:btih:d2474e86c95b19b8bcfdb92bc12c9d44667cfa36',
|
30 | dn: 'Leaves of Grass by Walt Whitman.epub',
|
31 | name: 'Leaves of Grass by Walt Whitman.epub',
|
32 | infoHash: 'd2474e86c95b19b8bcfdb92bc12c9d44667cfa36',
|
33 | tr: [
|
34 | 'udp://tracker.openbittorrent.com:80',
|
35 | 'udp://tracker.publicbt.com:80',
|
36 | 'udp://tracker.istole.it:6969',
|
37 | 'udp://tracker.ccc.de:80',
|
38 | 'udp://open.demonii.com:1337'
|
39 | ],
|
40 | announce: [
|
41 | 'udp://tracker.openbittorrent.com:80',
|
42 | 'udp://tracker.publicbt.com:80',
|
43 | 'udp://tracker.istole.it:6969',
|
44 | 'udp://tracker.ccc.de:80',
|
45 | 'udp://open.demonii.com:1337'
|
46 | ],
|
47 | announceList: [
|
48 | [ 'udp://tracker.openbittorrent.com:80' ],
|
49 | [ 'udp://tracker.publicbt.com:80' ],
|
50 | [ 'udp://tracker.istole.it:6969' ],
|
51 | [ 'udp://tracker.ccc.de:80' ],
|
52 | [ 'udp://open.demonii.com:1337' ]
|
53 | ],
|
54 | urlList: [
|
55 | 'http://download.wikimedia.org/mediawiki/1.15/mediawiki-1.15.1.tar.gz'
|
56 | ],
|
57 | ws: 'http://download.wikimedia.org/mediawiki/1.15/mediawiki-1.15.1.tar.gz',
|
58 | kt: [ 'hey', 'hey2' ],
|
59 | keywords: [ 'hey', 'hey2' ]
|
60 | }
|
61 |
|
62 | var result = magnet.encode(obj)
|
63 |
|
64 | t.equal(result, 'magnet:?xt=urn:btih:d2474e86c95b19b8bcfdb92bc12c9d44667cfa36&dn=Leaves+of+Grass+by+Walt+Whitman.epub&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80&tr=udp%3A%2F%2Fopen.demonii.com%3A1337&ws=http%3A%2F%2Fdownload.wikimedia.org%2Fmediawiki%2F1.15%2Fmediawiki-1.15.1.tar.gz&kt=hey+hey2')
|
65 |
|
66 | t.deepEqual(magnet.decode(result), obj)
|
67 |
|
68 | t.end()
|
69 | })
|