From 2647d14cf062c4771b3400721b336bd5857f84f8 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Sun, 14 Sep 2014 00:43:40 +0200 Subject: add parser for opml --- js/tests/unit/service/OPMLParserSpec.js | 81 +++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 js/tests/unit/service/OPMLParserSpec.js (limited to 'js/tests/unit') diff --git a/js/tests/unit/service/OPMLParserSpec.js b/js/tests/unit/service/OPMLParserSpec.js new file mode 100644 index 000000000..8d0b47343 --- /dev/null +++ b/js/tests/unit/service/OPMLParserSpec.js @@ -0,0 +1,81 @@ +/** + * ownCloud - News + * + * This file is licensed under the Affero General Public License version 3 or + * later. See the COPYING file. + * + * @author Bernhard Posselt + * @copyright Bernhard Posselt 2014 + */ +describe('OPMLParser', function () { + 'use strict'; + + var result; + + /*jshint multistr: true */ + /*jshint quotmark: double */ + var xml = " \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + "; + /*jshint quotmark: single */ + + beforeEach(module('News')); + + beforeEach(inject(function (OPMLParser) { + result = OPMLParser.parse(xml); + })); + + + it ('should parse the correct amount of feeds and folders', function () { + expect(result.folders.length).toBe(2); + expect(result.feeds.length).toBe(2); + expect(result.folders[0].feeds.length).toBe(3); + expect(result.folders[1].feeds.length).toBe(1); + }); + + + it ('should default to title for feeds and folders', function () { + expect(result.folders[0].name).toBe('Tesign'); + expect(result.folders[1].name).toBe('Nomadism'); + expect(result.feeds[0].name).toBe('test_text'); + expect(result.feeds[1].name).toBe('Elezea'); + }); + + + it ('should default to url for feeds if no title or text', function () { + expect(result.folders[0].feeds[0].name).toBe('man'); + expect(result.folders[0].feeds[1].name).toBe( + 'http://afaikblog.wordpress.com'); + expect(result.folders[0].feeds[2].name).toBe( + 'http://informationarchitects.net/feed/'); + }); + + +}); -- cgit v1.2.3