local navigation_sample = [[ http://m.gutenberg.org/ebooks.opds/ 2014-05-17T12:04:49Z Project Gutenberg Free ebooks since 1971. Marcello Perathoner http://www.gutenberg.org webmaster@gutenberg.org http://m.gutenberg.org/pics/favicon.png 25 1 2014-05-17T12:04:49Z http://m.gutenberg.org/ebooks/search.opds/?sort_order=downloads Popular Our most popular books. 2014-05-17T12:04:49Z http://m.gutenberg.org/ebooks/search.opds/?sort_order=release_date Latest Our latest releases. 2014-05-17T12:04:49Z http://m.gutenberg.org/ebooks/search.opds/?sort_order=random Random Random books. ]] local popular_new_sample = [[ http://www.feedbooks.com/publicdomain/catalog.atom Public Domain Books 2014-11-30T17:54:01Z http://assets3.feedbooks.net/images/favicon.ico?t=1417192326 Feedbooks http://www.feedbooks.com support@feedbooks.zendesk.com Most Popular 2014-11-30T17:54:01Z http://www.feedbooks.com/books/top.atom Based on last week's downloads Recently Added 2014-11-30T17:54:01Z http://www.feedbooks.com/books/recent.atom Find the latest books available Fiction 2014-11-30T17:54:01Z http://www.feedbooks.com/books/categories.atom Browse book by category Non-Fiction 2014-11-30T17:54:01Z http://www.feedbooks.com/books/categories.atom Browse book by category ]] require("commonrequire") local OPDSParser = require("ui/opdsparser") local OPDSBrowser = require("ui/widget/opdsbrowser") local DEBUG = require("dbg") describe("OPDS browser module #nocov", function() it("should generate URL on rel=subsection", function() local catalog = OPDSParser:parse(navigation_sample) local item_table = OPDSBrowser:genItemTableFromCatalog(catalog, "http://m.gutenberg.org/ebooks.opds/?format=opds") --DEBUG(item_table) assert.truthy(item_table) assert.are.same(item_table[1].title, "Popular") assert.are.same(item_table[1].url, "http://m.gutenberg.org/ebooks/search.opds/?sort_order=downloads") end) it("should generate URL on rel=popular and rel=new", function() local catalog = OPDSParser:parse(popular_new_sample) local item_table = OPDSBrowser:genItemTableFromCatalog(catalog, "http://www.feedbooks.com/publicdomain/catalog.atom") --DEBUG(item_table) assert.truthy(item_table) assert.are.same(item_table[1].title, "Most Popular") assert.are.same(item_table[1].url, "http://www.feedbooks.com/books/top.atom") assert.are.same(item_table[2].title, "Recently Added") assert.are.same(item_table[2].url, "http://www.feedbooks.com/books/recent.atom") end) end)