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 testFindItemContent() { // items[0] === <description> // items[1] === <content:encoded> $parser = new Rss10(file_get_contents('tests/fixtures/rss_10.xml')); $parser->disableContentFiltering(); $feed = $parser->execute(); $this->assertTrue(strpos($feed->items[0]->getContent(), "В наброске предисловия к «Войне и миру» Толстой\nписал, что в 1856 г.") === 0); $this->assertTrue(strpos($feed->items[1]->getContent(), "<h1>\nИстория создания\n</h1>\n<p>\nОсенью \n<a href=\"/wiki/1865_%D0%B3%D0%BE%D0%B4\"") === 0); $parser = new Rss10(file_get_contents('tests/fixtures/rss_10_no_default_namespace.xml')); $parser->disableContentFiltering(); $feed = $parser->execute(); $this->assertTrue(strpos($feed->items[0]->getContent(), "В наброске предисловия к «Войне и миру» Толстой\nписал, что в 1856 г.") === 0); $parser = new Rss10(file_get_contents('tests/fixtures/rss_10_prefixed.xml')); $parser->disableContentFiltering(); $feed = $parser->execute(); $this->assertTrue(strpos($feed->items[0]->getContent(), "В наброске предисловия к «Войне и миру» Толстой\nписал, что в 1856 г.") === 0); // <content:encoding> is preferred over <description> $parser = new Rss10(file_get_contents('tests/fixtures/rss_10_element_preference.xml')); $parser->disableContentFiltering(); $feed = $parser->execute(); $this->assertTrue(strpos($feed->items[1]->getContent(), "<h1>\nИстория создания\n</h1>\n<p>\nОсенью \n<a href=\"/wiki/1865_%D0%B3%D0%BE%D0%B4\"") === 0); $parser = new Rss10(file_get_contents('tests/fixtures/rss_10_fallback_on_invalid_item_values.xml')); $parser->disableContentFiltering(); $feed = $parser->execute(); $this->assertTrue(strpos($feed->items[1]->getContent(), "Осенью 1865 года, потеряв все свои\nденьги в казино") === 0); // <content:encoded> => <description> $parser = new Rss10(file_get_contents('tests/fixtures/rss_10_empty_item.xml')); $parser->disableContentFiltering(); $feed = $parser->execute(); $this->assertEquals('', $feed->items[0]->getContent()); }