diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2015-01-27 09:31:40 +0100 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2015-01-27 09:31:40 +0100 |
commit | 8241180c6ce0cb19255d70a3394f891e08182542 (patch) | |
tree | 325996a06d9896567957871cc0f34865c46118da /vendor/fguillot/picofeed/tests/Parser/AtomParserTest.php | |
parent | 73f65c8fbadbdd2098448e77b6d3f0464ad8613e (diff) |
dont use picofeed submodule
Diffstat (limited to 'vendor/fguillot/picofeed/tests/Parser/AtomParserTest.php')
m--------- | vendor/fguillot/picofeed | 0 | ||||
-rw-r--r-- | vendor/fguillot/picofeed/tests/Parser/AtomParserTest.php | 253 |
2 files changed, 253 insertions, 0 deletions
diff --git a/vendor/fguillot/picofeed b/vendor/fguillot/picofeed deleted file mode 160000 -Subproject 0a1d0d3950f7f047dc8fb1d80aa6296e15f306d diff --git a/vendor/fguillot/picofeed/tests/Parser/AtomParserTest.php b/vendor/fguillot/picofeed/tests/Parser/AtomParserTest.php new file mode 100644 index 000000000..04882c5a6 --- /dev/null +++ b/vendor/fguillot/picofeed/tests/Parser/AtomParserTest.php @@ -0,0 +1,253 @@ +<?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 testFeedIcon() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertEquals('', $feed->getIcon()); + + $parser = new Atom(file_get_contents('tests/fixtures/lagrange.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://www.la-grange.net/favicon.png', $feed->getIcon()); + } + + public function testFeedUrl() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertEquals('', $feed->getFeedUrl()); + + $parser = new Atom(file_get_contents('tests/fixtures/atomsample.xml'), '', 'http://example.org/'); + $feed = $parser->execute(); + $this->assertEquals('http://example.org/', $feed->getFeedUrl()); + + $parser = new Atom(file_get_contents('tests/fixtures/lagrange.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://www.la-grange.net/feed.atom', $feed->getFeedUrl()); + + $parser = new Atom(file_get_contents('tests/fixtures/groovehq.xml'), '', 'http://groovehq.com/'); + $feed = $parser->execute(); + $this->assertEquals('http://groovehq.com/articles.xml', $feed->getFeedUrl()); + + $parser = new Atom(file_get_contents('tests/fixtures/hamakor.xml'), '', 'http://planet.hamakor.org.il'); + $feed = $parser->execute(); + $this->assertEquals('http://planet.hamakor.org.il/atom.xml', $feed->getFeedUrl()); + } + + public function testSiteUrl() + { + $parser = new Atom(file_get_contents('tests/fixtures/atom.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://googleblog.blogspot.com/', $feed->getSiteUrl()); + + $parser = new Atom(file_get_contents('tests/fixtures/atomsample.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://example.org/', $feed->getSiteUrl()); + + $parser = new Atom(file_get_contents('tests/fixtures/lagrange.xml')); + $feed = $parser->execute(); + $this->assertEquals('http://www.la-grange.net/', $feed->getSiteUrl()); + + $parser = new Atom(file_get_contents('tests/fixtures/groovehq.xml')); + $feed = $parser->execute(); + $this->assertEquals('', $feed->getSiteUrl()); + + $parser = new Atom(file_get_contents('tests/fixtures/hamakor.xml'), '', 'http://planet.hamakor.org.il'); + $feed = $parser->execute(); + $this->assertEquals('http://planet.hamakor.org.il/', $feed->getSiteUrl()); + } + + 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()); + + $parser = new Atom(file_get_contents('tests/fixtures/hamakor.xml'), '', 'http://planet.hamakor.org.il'); + $feed = $parser->execute(); + $this->assertEquals('he', $feed->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/hamakor.xml'), '', 'http://planet.hamakor.org.il'); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('http://idkn.wordpress.com/2014/12/20/modular-sinatra/', $feed->items[0]->getUrl()); + $this->assertEquals('http://www.guyrutenberg.com/2014/12/20/kindle-paperwhite-unable-to-open-item/', $feed->items[1]->getUrl()); + + $parser = new Atom(file_get_contents('tests/fixtures/atomsample.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('http://example.org/2003/12/13/atom03', $feed->items[0]->getUrl()); + + $parser = new Atom(file_get_contents('tests/fixtures/bbc_urdu.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('http://www.bbc.co.uk/urdu/world/2014/03/140316_missing_malaysia_plane_pilot_mb.shtml', $feed->items[0]->getUrl()); + $this->assertEquals('http://www.bbc.co.uk/urdu/pakistan/2014/03/140316_taliban_talks_pro_ibrahim_zs.shtml', $feed->items[1]->getUrl()); + + $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()); + + $parser = new Atom(file_get_contents('tests/fixtures/youtube.xml')); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals(1336825342, $feed->items[1]->getDate()); // Should return the published date + } + + 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()); + + $parser = new Atom(file_get_contents('tests/fixtures/hamakor.xml'), '', 'http://planet.hamakor.org.il'); + $feed = $parser->execute(); + $this->assertNotEmpty($feed->items); + $this->assertEquals('he', $feed->items[0]->getLanguage()); + $this->assertTrue($feed->items[0]->isRTL()); + $this->assertEquals('en-US', $feed->items[1]->getLanguage()); + $this->assertFalse($feed->items[1]->isRTL()); + } + + 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 |