diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-11-05 11:30:27 +0100 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-11-05 11:30:38 +0100 |
commit | 95530f62513a82c385d9378b4a59da57d74092d9 (patch) | |
tree | a4d17994548999b42e99371f381da8c256ee39bf /3rdparty/fguillot/picofeed/tests/Parser/Rss10ParserTest.php | |
parent | 57163ad25a7dc63abd8aff8663c185ddad398466 (diff) |
update picofeed, add max size setting, fix #642
Diffstat (limited to '3rdparty/fguillot/picofeed/tests/Parser/Rss10ParserTest.php')
-rw-r--r-- | 3rdparty/fguillot/picofeed/tests/Parser/Rss10ParserTest.php | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/3rdparty/fguillot/picofeed/tests/Parser/Rss10ParserTest.php b/3rdparty/fguillot/picofeed/tests/Parser/Rss10ParserTest.php new file mode 100644 index 000000000..bc0824502 --- /dev/null +++ b/3rdparty/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 |