diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-11-07 12:32:05 +0100 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-11-07 12:32:05 +0100 |
commit | 7f81afd7efbeb931d16ce1f3a1ed53a54226d553 (patch) | |
tree | 180720cd96aa66ae8964f13734e090d4b82a178e /vendor/fguillot/picofeed/tests/Parser | |
parent | a6d6288e65aa416aca7535e81d9e8837c2cfb103 (diff) |
move 3rdparty directory to vendor to be more consistent with composer standard and because we also use js/vendor for third party libs
Diffstat (limited to 'vendor/fguillot/picofeed/tests/Parser')
7 files changed, 780 insertions, 0 deletions
diff --git a/vendor/fguillot/picofeed/tests/Parser/AtomParserTest.php b/vendor/fguillot/picofeed/tests/Parser/AtomParserTest.php new file mode 100644 index 000000000..491c7e3e0 --- /dev/null +++ b/vendor/fguillot/picofeed/tests/Parser/AtomParserTest.php @@ -0,0 +1,178 @@ +<?php +namespace PicoFeed\Parser; + +use PHPUnit_Framework_TestCase; + + +class AtomParserTest extends PHPUnit_Framework_TestCase +{ + /** + * @expectedException PicoFeed\Parser\MalformedXmlException + */ + public function testBadInput() + { + $parser = new Atom('boo'); + $parser->execute(); + } + + public function testFeedTitle() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertEquals('The Official Google Blog', $feed->getTitle()); + + $parser = new Atom(file_get_contents('tests/fixtures/atomsample.xml')); + $feed = $parser->execute(); + $this->assertEquals('Example Feed', $feed->getTitle()); + } + + public function testFeedDescription() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertEquals('Insights from Googlers into our products, technology, and the Google culture.', $feed->getDescription()); + + $parser = new Atom(file_get_contents('tests/fixtures/atomsample.xml')); + $feed = $parser->execute(); + $this->assertEquals('', $feed->getDescription()); + } + + public function testFeedLogo() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertEquals('', $feed->getLogo()); + + $parser = new Atom(file_get_contents('tests/fixtures/bbc_urdu.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://www.bbc.co.uk/urdu/images/gel/rss_logo.gif', $feed->getLogo()); + } + + public function testFeedUrl() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://googleblog.blogspot.com/', $feed->getUrl()); + + $parser = new Atom(file_get_contents('tests/fixtures/atomsample.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://example.org/', $feed->getUrl()); + + $parser = new Atom(file_get_contents('tests/fixtures/lagrange.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://www.la-grange.net/', $feed->getUrl()); + } + + public function testFeedId() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertEquals('tag:blogger.com,1999:blog-10861780', $feed->getId()); + + $parser = new Atom(file_get_contents('tests/fixtures/atomsample.xml')); + $feed = $parser->execute(); + $this->assertEquals('urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6', $feed->getId()); + } + + public function testFeedDate() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertEquals(1360148333, $feed->getDate()); + + $parser = new Atom(file_get_contents('tests/fixtures/atomsample.xml')); + $feed = $parser->execute(); + $this->assertEquals(1071340202, $feed->getDate()); + } + + public function testFeedLanguage() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertEquals('', $feed->getLanguage()); + $this->assertEquals('', $feed->items[0]->getLanguage()); + + $parser = new Atom(file_get_contents('tests/fixtures/bbc_urdu.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('ur', $feed->getLanguage()); + $this->assertEquals('ur', $feed->items[0]->getLanguage()); + + $parser = new Atom(file_get_contents('tests/fixtures/lagrange.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('fr', $feed->getLanguage()); + $this->assertEquals('fr', $feed->items[0]->getLanguage()); + } + + public function testItemId() + { + $parser = new Atom(file_get_contents('tests/fixtures/atomsample.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('3841e5cf232f5111fc5841e9eba5f4b26d95e7d7124902e0f7272729d65601a6', $feed->items[0]->getId()); + } + + public function testItemUrl() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('http://feedproxy.google.com/~r/blogspot/MKuf/~3/S_hccisqTW8/a-chrome-experiment-made-with-some.html', $feed->items[0]->getUrl()); + } + + public function testItemTitle() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('Safer Internet Day: How we help you stay secure online', $feed->items[1]->getTitle()); + } + + public function testItemDate() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals(1360011661, $feed->items[1]->getDate()); + + $parser = new Atom(file_get_contents('tests/fixtures/atomsample.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals(1071340202, $feed->items[0]->getDate()); + } + + public function testItemLanguage() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('', $feed->items[1]->getLanguage()); + } + + public function testItemAuthor() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('Emily Wood', $feed->items[1]->getAuthor()); + + $parser = new Atom(file_get_contents('tests/fixtures/atomsample.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('John Doe', $feed->items[0]->getAuthor()); + } + + public function testItemContent() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertTrue(strpos($feed->items[1]->getContent(), '<p>Technology can') === 0); + + $parser = new Atom(file_get_contents('tests/fixtures/atomsample.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertTrue(strpos($feed->items[0]->getContent(), '<p>Some text.') === 0); + } +}
\ No newline at end of file diff --git a/vendor/fguillot/picofeed/tests/Parser/ParserTest.php b/vendor/fguillot/picofeed/tests/Parser/ParserTest.php new file mode 100644 index 000000000..3be864507 --- /dev/null +++ b/vendor/fguillot/picofeed/tests/Parser/ParserTest.php @@ -0,0 +1,75 @@ +<?php +namespace PicoFeed\Parser; + +use PHPUnit_Framework_TestCase; + + +class ParserTest extends PHPUnit_Framework_TestCase +{ + public function testParseDate() + { + $parser = new Rss20(''); + + date_default_timezone_set('UTC'); + + $this->assertEquals(1359066183, $parser->parseDate('Thu, 24 Jan 2013 22:23:03 +0000')); + $this->assertEquals(1362992761, $parser->parseDate('2013-03-11T09:06:01+00:00')); + $this->assertEquals(1363752990, $parser->parseDate('2013-03-20T04:16:30+00:00')); + $this->assertEquals(1359066183, $parser->parseDate('Thu, 24 Jan 2013 22:23:03 +0000')); + $this->assertEquals(1380929699, $parser->parseDate('Sat, 04 Oct 2013 02:34:59 +0300')); + $this->assertEquals(1054633161, $parser->parseDate('Tue, 03 Jun 2003 09:39:21 GMT')); + $this->assertEquals(1071340202, $parser->parseDate('2003-12-13T18:30:02Z')); + $this->assertEquals(1364234797, $parser->parseDate('Mon, 25 Mar 2013 19:06:37 +0100')); + $this->assertEquals(1360054941, $parser->parseDate('2013-02-05T09:02:21.880-08:00')); + $this->assertEquals(1286834400, $parser->parseDate('Tue, 12 Oct 2010 00:00:00 IST')); + $this->assertEquals('2012-05-15', date('Y-m-d', $parser->parseDate('Tue, 15 May 2012 24:05:00 UTC'))); + $this->assertEquals('2013-09-12', date('Y-m-d', $parser->parseDate('Thu, 12 Sep 2013 7:00:00 UTC'))); + $this->assertEquals('2012-01-31', date('Y-m-d', $parser->parseDate('01.31.2012'))); + $this->assertEquals('2012-01-31', date('Y-m-d', $parser->parseDate('01/31/2012'))); + $this->assertEquals('2012-01-31', date('Y-m-d', $parser->parseDate('2012-01-31'))); + $this->assertEquals('2010-02-24', date('Y-m-d', $parser->parseDate('2010-02-245T15:27:52Z'))); + $this->assertEquals('2010-08-20', date('Y-m-d', $parser->parseDate('2010-08-20Thh:08:ssZ'))); + $this->assertEquals(1288648057, $parser->parseDate('Mon, 01 Nov 2010 21:47:37 UT')); + $this->assertEquals(1346069615, $parser->parseDate('Mon Aug 27 2012 12:13:35 GMT-0700 (PDT)')); + $this->assertEquals(time(), $parser->parseDate('Tue, 3 Febuary 2010 00:00:00 IST')); + $this->assertEquals(time(), $parser->parseDate('############# EST')); + $this->assertEquals(time(), $parser->parseDate('Wed, 30 Nov -0001 00:00:00 +0000')); + $this->assertEquals(time(), $parser->parseDate('čet, 24 maj 2012 00:00:00')); + $this->assertEquals(time(), $parser->parseDate('-0-0T::Z')); + $this->assertEquals(time(), $parser->parseDate('Wed, 18 2012')); + $this->assertEquals(time(), $parser->parseDate("'2009-09-30 CDT16:09:54")); + $this->assertEquals(time(), $parser->parseDate('ary 8 Jan 2013 00:00:00 GMT')); + $this->assertEquals(time(), $parser->parseDate('Sat, 11 00:00:01 GMT')); + $this->assertEquals(1370631743, $parser->parseDate('Fri Jun 07 2013 19:02:23 GMT+0000 (UTC)')); + $this->assertEquals(1377412225, $parser->parseDate('25/08/2013 06:30:25 م')); + $this->assertEquals(time(), $parser->parseDate('+0400')); + } + + public function testChangeHashAlgo() + { + $parser = new Rss20(''); + $this->assertEquals('fb8e20fc2e4c3f248c60c39bd652f3c1347298bb977b8b4d5903b85055620603', $parser->generateId('a', 'b')); + + $parser->setHashAlgo('sha1'); + $this->assertEquals('da23614e02469a0d7c7bd1bdab5c9c474b1904dc', $parser->generateId('a', 'b')); + } + + public function testLangRTL() + { + $this->assertFalse(Parser::isLanguageRTL('fr-FR')); + $this->assertTrue(Parser::isLanguageRTL('ur')); + $this->assertTrue(Parser::isLanguageRTL('syr-**')); + $this->assertFalse(Parser::isLanguageRTL('ru')); + } + + public function testNamespaceValue() + { + $xml = XmlParser::getSimpleXml(file_get_contents('tests/fixtures/rue89.xml')); + $this->assertNotFalse($xml); + $namespaces = $xml->getNamespaces(true); + + $parser = new Rss20(''); + $this->assertEquals('Blandine Grosjean', XmlParser::getNamespaceValue($xml->channel->item[0], $namespaces, 'creator')); + $this->assertEquals('Pierre-Carl Langlais', XmlParser::getNamespaceValue($xml->channel->item[1], $namespaces, 'creator')); + } +} diff --git a/vendor/fguillot/picofeed/tests/Parser/Rss10ParserTest.php b/vendor/fguillot/picofeed/tests/Parser/Rss10ParserTest.php new file mode 100644 index 000000000..bc0824502 --- /dev/null +++ b/vendor/fguillot/picofeed/tests/Parser/Rss10ParserTest.php @@ -0,0 +1,112 @@ +<?php +namespace PicoFeed\Parser; + +use PHPUnit_Framework_TestCase; + + +class Rss10ParserTest extends PHPUnit_Framework_TestCase +{ + /** + * @expectedException PicoFeed\Parser\MalformedXmlException + */ + public function testBadInput() + { + $parser = new Rss10('boo'); + $parser->execute(); + } + + public function testFeedTitle() + { + $parser = new Rss10(file_get_contents('tests/fixtures/planete-jquery.xml')); + $feed = $parser->execute(); + $this->assertEquals("Planète jQuery : l'actualité jQuery, plugins jQuery et tutoriels jQuery en français", $feed->getTitle()); + } + + public function testFeedUrl() + { + $parser = new Rss10(file_get_contents('tests/fixtures/planete-jquery.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://planete-jquery.fr', $feed->getUrl()); + } + + public function testFeedId() + { + $parser = new Rss10(file_get_contents('tests/fixtures/planete-jquery.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://planete-jquery.fr', $feed->getId()); + } + + public function testFeedDate() + { + $parser = new Rss10(file_get_contents('tests/fixtures/planete-jquery.xml')); + $feed = $parser->execute(); + $this->assertEquals(1363752990, $feed->getDate()); + } + + public function testFeedLanguage() + { + $parser = new Rss10(file_get_contents('tests/fixtures/planete-jquery.xml')); + $feed = $parser->execute(); + $this->assertEquals('fr', $feed->getLanguage()); + $this->assertEquals('fr', $feed->items[0]->getLanguage()); + } + + public function testItemId() + { + $parser = new Rss10(file_get_contents('tests/fixtures/planete-jquery.xml')); + $parser->disableContentFiltering(); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + + $item = $feed->items[0]; + $this->assertEquals($parser->generateId($item->getTitle(), $item->getUrl(), $item->getContent()), $item->getId()); + } + + public function testItemUrl() + { + $parser = new Rss10(file_get_contents('tests/fixtures/planete-jquery.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('http://www.mathieurobin.com/2013/03/chroniques-jquery-episode-108/', $feed->items[0]->getUrl()); + } + + public function testItemTitle() + { + $parser = new Rss10(file_get_contents('tests/fixtures/planete-jquery.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('LaFermeDuWeb : PowerTip - Des tooltips aux fonctionnalités avancées', $feed->items[1]->getTitle()); + } + + public function testItemDate() + { + $parser = new Rss10(file_get_contents('tests/fixtures/planete-jquery.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals(1362647700, $feed->items[1]->getDate()); + } + + public function testItemLanguage() + { + $parser = new Rss10(file_get_contents('tests/fixtures/planete-jquery.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('fr', $feed->items[1]->getLanguage()); + } + + public function testItemAuthor() + { + $parser = new Rss10(file_get_contents('tests/fixtures/planete-jquery.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('LaFermeDuWeb', $feed->items[1]->getAuthor()); + } + + public function testItemContent() + { + $parser = new Rss10(file_get_contents('tests/fixtures/planete-jquery.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertTrue(strpos($feed->items[1]->getContent(), '<a href="http://www.lafermeduweb.net') === 0); + } +}
\ No newline at end of file diff --git a/vendor/fguillot/picofeed/tests/Parser/Rss20ParserTest.php b/vendor/fguillot/picofeed/tests/Parser/Rss20ParserTest.php new file mode 100644 index 000000000..b06821c27 --- /dev/null +++ b/vendor/fguillot/picofeed/tests/Parser/Rss20ParserTest.php @@ -0,0 +1,252 @@ +<?php +namespace PicoFeed\Parser; + +use PHPUnit_Framework_TestCase; + + +class Rss20ParserTest extends PHPUnit_Framework_TestCase +{ + /** + * @expectedException PicoFeed\Parser\MalformedXmlException + */ + public function testBadInput() + { + $parser = new Rss20('boo'); + $parser->execute(); + } + + public function testFeedTitle() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rss20.xml')); + $feed = $parser->execute(); + $this->assertEquals('WordPress News', $feed->getTitle()); + + $parser = new Rss20(file_get_contents('tests/fixtures/pcinpact.xml')); + $feed = $parser->execute(); + $this->assertEquals('PC INpact', $feed->getTitle()); + } + + public function testFeedDescription() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rss20.xml')); + $feed = $parser->execute(); + $this->assertEquals('WordPress News', $feed->getDescription()); + + $parser = new Rss20(file_get_contents('tests/fixtures/pcinpact.xml')); + $feed = $parser->execute(); + $this->assertEquals('Actualités Informatique', $feed->getDescription()); + + $parser = new Rss20(file_get_contents('tests/fixtures/sametmax.xml')); + $feed = $parser->execute(); + $this->assertEquals('Deux développeurs en vadrouille qui se sortent les doigts du code', $feed->getDescription()); + } + + public function testFeedLogo() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rss20.xml')); + $feed = $parser->execute(); + $this->assertEquals('', $feed->getLogo()); + + $parser = new Rss20(file_get_contents('tests/fixtures/radio-france.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://media.radiofrance-podcast.net/podcast09/RF_OMM_0000006330_ITE.jpg', $feed->getLogo()); + } + + public function testFeedUrl() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rss20.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://wordpress.org/news', $feed->getUrl()); + + $parser = new Rss20(file_get_contents('tests/fixtures/pcinpact.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://www.pcinpact.com/', $feed->getUrl()); + } + + public function testFeedId() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rss20.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://wordpress.org/news', $feed->getId()); + } + + public function testFeedDate() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rss20.xml')); + $feed = $parser->execute(); + $this->assertEquals(1359066183, $feed->getDate()); + + $parser = new Rss20(file_get_contents('tests/fixtures/fulltextrss.xml')); + $feed = $parser->execute(); + $this->assertEquals(time(), $feed->getDate()); + } + + public function testFeedLanguage() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rss20.xml')); + $feed = $parser->execute(); + $this->assertEquals('en-US', $feed->getLanguage()); + $this->assertEquals('en-US', $feed->items[0]->getLanguage()); + + $parser = new Rss20(file_get_contents('tests/fixtures/zoot_egkty.xml')); + $feed = $parser->execute(); + $this->assertEquals('ur', $feed->getLanguage()); + $this->assertEquals('ur', $feed->items[0]->getLanguage()); + + $parser = new Rss20(file_get_contents('tests/fixtures/ibash.ru.xml')); + $feed = $parser->execute(); + $this->assertEquals('ru', $feed->getLanguage()); + $this->assertEquals('ru', $feed->items[0]->getLanguage()); + } + + public function testItemId() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rss20.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('de679f14fc4774f0d6dfe73c3f8c8368ab85da18addf101a2af8c32ac6320f9f', $feed->items[0]->getId()); + + $parser = new Rss20(file_get_contents('tests/fixtures/pcinpact.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals(hash('sha256', '78872'), $feed->items[0]->getId()); + + $parser = new Rss20(file_get_contents('tests/fixtures/fulltextrss.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals(hash('sha256', 'http://www.numerama.com/magazine/25669-brevets-un-juge-doute-de-la-bonne-volonte-de-google-et-apple.html'), $feed->items[0]->getId()); + + $parser = new Rss20(file_get_contents('tests/fixtures/debug_show.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals(hash('sha256', '38DC2FF1-4207-4C04-93F3-2DAFB0E559D9'), $feed->items[1]->getId()); + $this->assertEquals(hash('sha256', '3FA03A63-BEA2-4199-A1E4-D2963845F3F6'), $feed->items[2]->getId()); + $this->assertEquals($feed->items[1]->getUrl(), $feed->items[2]->getUrl()); + $this->assertNotEquals($feed->items[1]->getId(), $feed->items[2]->getId()); + } + + public function testItemUrl() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rss20.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('http://wordpress.org/news/2013/01/wordpress-3-5-1/', $feed->items[0]->getUrl()); + + $parser = new Rss20(file_get_contents('tests/fixtures/pcinpact.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('http://www.pcinpact.com/breve/78872-la-dcri-purge-wikipedia-par-menace-bel-effet-streisand-a-cle.htm?utm_source=PCi_RSS_Feed&utm_medium=news&utm_campaign=pcinpact', $feed->items[0]->getUrl()); + } + + public function testItemTitle() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rss20.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('2012: A Look Back', $feed->items[1]->getTitle()); + + $parser = new Rss20(file_get_contents('tests/fixtures/womensweardaily.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('They Are Wearing: Frieze London Photo by Marcus Dawes', $feed->items[3]->getTitle()); + } + + public function testItemDate() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rss20.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals(1357006940, $feed->items[1]->getDate()); + + $parser = new Rss20(file_get_contents('tests/fixtures/fulltextrss.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals(1365781095, $feed->items[0]->getDate()); + } + + public function testItemLanguage() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rss20.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('en-US', $feed->items[1]->getLanguage()); + } + + public function testItemAuthor() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rss20.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('Jen Mylo', $feed->items[1]->getAuthor()); + + $parser = new Rss20(file_get_contents('tests/fixtures/rss2sample.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('webmaster@example.com', $feed->items[2]->getAuthor()); + } + + public function testItemContent() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rss20.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertTrue(strpos($feed->items[1]->getContent(), '<p>Another year is coming') === 0); + + $parser = new Rss20(file_get_contents('tests/fixtures/rss2sample.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertTrue(strpos($feed->items[1]->getContent(), '<p>Sky watchers in Europe') === 0); + + $parser = new Rss20(file_get_contents('tests/fixtures/ibash.ru.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertTrue(strpos($feed->items[0]->getContent(), '<p>Хабр, обсуждение фейлов на работе: reaferon: Интернет') === 0); + } + + public function testItemEnclosure() + { + $parser = new Rss20(file_get_contents('tests/fixtures/rue89.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('http://rue89.feedsportal.com/c/33822/f/608948/e/1/s/2a687021/l/0L0Srue890N0Csites0Cnews0Cfiles0Cstyles0Cmosaic0Cpublic0Czapnet0Cthumbnail0Isquare0C20A130C0A40Ccahuzac0I10Bpng/cahuzac_1.png', $feed->items[0]->getEnclosureUrl()); + $this->assertEquals('image/png', $feed->items[0]->getEnclosureType()); + } + + public function testFeedsReportedAsNotWorking() + { + $parser = new Rss20(file_get_contents('tests/fixtures/biertaucher.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals(177, count($feed->items)); + + $parser = new Rss20(file_get_contents('tests/fixtures/radio-france.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals(52, count($feed->items)); + + $parser = new Rss20(file_get_contents('tests/fixtures/fanboys.fm_episodes.all.mp3.rss')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + + $parser = new Rss20(file_get_contents('tests/fixtures/geekstammtisch.de_episodes.mp3.rss')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('http://geekstammtisch.de#GST001', $feed->items[1]->getUrl()); + + $parser = new Rss20(file_get_contents('tests/fixtures/lincoln_loop.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + + $parser = new Rss20(file_get_contents('tests/fixtures/next_inpact_full.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + + $parser = new Rss20(file_get_contents('tests/fixtures/jeux-linux.fr.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + + $parser = new Rss20(file_get_contents('tests/fixtures/cercle.psy.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + } +} diff --git a/vendor/fguillot/picofeed/tests/Parser/Rss91ParserTest.php b/vendor/fguillot/picofeed/tests/Parser/Rss91ParserTest.php new file mode 100644 index 000000000..8f10f2ea5 --- /dev/null +++ b/vendor/fguillot/picofeed/tests/Parser/Rss91ParserTest.php @@ -0,0 +1,30 @@ +<?php +namespace PicoFeed\Parser; + +use PHPUnit_Framework_TestCase; + + +class Rss91ParserTest extends PHPUnit_Framework_TestCase +{ + public function testFormatOk() + { + $parser = new Rss91(file_get_contents('tests/fixtures/rss_0.91.xml')); + $feed = $parser->execute(); + + $this->assertNotFalse($feed); + $this->assertNotEmpty($feed->items); + + $this->assertEquals('WriteTheWeb', $feed->getTitle()); + $this->assertEquals('http://writetheweb.com', $feed->getUrl()); + $this->assertEquals('http://writetheweb.com', $feed->getId()); + $this->assertEquals(time(), $feed->getDate()); + $this->assertEquals(6, count($feed->items)); + + $this->assertEquals('Giving the world a pluggable Gnutella', $feed->items[0]->getTitle()); + $this->assertEquals('http://writetheweb.com/read.php?item=24', $feed->items[0]->getUrl()); + $this->assertEquals('085a9133a75542f878fa73ee2afbb6a2350b6c4fb125e6d8ca09478c47702111', $feed->items[0]->getId()); + $this->assertEquals(time(), $feed->items[0]->getDate()); + $this->assertEquals('webmaster@writetheweb.com', $feed->items[0]->getAuthor()); + $this->assertTrue(strpos($feed->items[1]->getContent(), '<p>After a period of dormancy') === 0); + } +}
\ No newline at end of file diff --git a/vendor/fguillot/picofeed/tests/Parser/Rss92ParserTest.php b/vendor/fguillot/picofeed/tests/Parser/Rss92ParserTest.php new file mode 100644 index 000000000..1d67c2252 --- /dev/null +++ b/vendor/fguillot/picofeed/tests/Parser/Rss92ParserTest.php @@ -0,0 +1,28 @@ +<?php +namespace PicoFeed\Parser; + +use PHPUnit_Framework_TestCase; + + +class Rss92ParserTest extends PHPUnit_Framework_TestCase +{ + public function testFormatOk() + { + $parser = new Rss92(file_get_contents('tests/fixtures/univers_freebox.xml')); + $feed = $parser->execute(); + + $this->assertNotFalse($feed); + $this->assertNotEmpty($feed->items); + + $this->assertEquals('Univers Freebox', $feed->getTitle()); + $this->assertEquals('http://www.universfreebox.com', $feed->getUrl()); + $this->assertEquals('http://www.universfreebox.com', $feed->getId()); + $this->assertEquals(time(), $feed->date); + $this->assertEquals(30, count($feed->items)); + + $this->assertEquals('Retour de Xavier Niel sur Twitter, « sans initiative privée, pas de révolution #Born2code »', $feed->items[0]->title); + $this->assertEquals('http://www.universfreebox.com/article20302.html', $feed->items[0]->getUrl()); + $this->assertEquals('ad23a45af194cc46d5151a9a062c5841b03405e456595c30b742d827e08af2e0', $feed->items[0]->getId()); + $this->assertEquals('', $feed->items[0]->getAuthor()); + } +}
\ No newline at end of file |