stremio-addon-client
Version:
Client library for using stremio addons (v3 protocol)
27 lines (21 loc) • 1.6 kB
JavaScript
var client = require('../')
var tape = require('tape')
var descriptor = {"manifest":{"id":"com.linvo.cinemeta","version":"2.4.0","description":"The official add-on for movie and series catalogs","name":"Cinemeta","resources":["catalog","meta"],"types":["movie","series"],"idPrefixes":["tt"],"catalogs":[{"type":"movie","id":"top","genres":["Action","Adventure","Animation","Biography","Comedy","Crime","Documentary","Drama","Family","Fantasy","Game-Show","History","Horror","Mystery","Romance","Sci-Fi","Sport","Thriller","War","Western"],"extraSupported":["search","genre","skip"]},{"type":"series","id":"top","genres":["Action","Adventure","Animation","Biography","Comedy","Crime","Documentary","Drama","Family","Fantasy","Game-Show","History","Horror","Mystery","Romance","Sci-Fi","Sport","Thriller","War","Western","Reality-TV","Talk-Show"],"extraSupported":["search","genre","skip"]}]},"transportUrl":"https://v3-cinemeta.strem.io/manifest.json","flags":{"official":true,"protected":true}}
var addon
tape('can construct from descriptor', function(t) {
addon = client.fromDescriptor(descriptor)
t.ok(addon, 'has addon')
t.ok(addon instanceof client.AddonClient, 'addon is AddonClient')
var name = addon.manifest.name
addon.manifest.name = name+': changed'
t.equal(addon.manifest.name, name, 'cannot change manifest')
t.end()
})
tape('can convert back to a descriptor', function(t) {
var desc2 = addon.toDescriptor()
t.ok(desc2, 'has descriptor')
t.ok(desc2.transportUrl, 'has transportUrl')
t.deepEqual(descriptor, desc2, 'same as original')
t.end()
})
// @TODO: test error cases