Newer
Older
<?php
/**
* @file
* Tests for plugins/FeedsSyndicationParser.inc.
*/
/**
* Test single feeds.
*/
class FeedsSyndicationParserTestCase extends FeedsWebTestCase {
Dave Reid
committed
public static function getInfo() {
return array(
Dave Reid
committed
'name' => 'Syndication parsers',
'description' => 'Regression tests for syndication parsers Common syndication and SimplePie. Tests parsers against a set of feeds in the context of Feeds module. <strong>Requires SimplePie parser to be configured correctly.</strong>',
'group' => 'Feeds',
);
}
/**
* Run tests.
*/
public function test() {
// Only download simplepie if the plugin doesn't already exist somewhere.
// People running tests locally might have it.
if (!feeds_simplepie_exists()) {
$this->downloadExtractSimplePie('1.3');
$this->assertTrue(feeds_simplepie_exists());
// Reset all the caches!
$this->resetAll();
}
$this->createImporterConfiguration('Syndication', 'syndication');
foreach (array('FeedsSyndicationParser', 'FeedsSimplePieParser') as $parser) {
$this->setPlugin('syndication', $parser);
foreach ($this->feedUrls() as $url => $assertions) {
$this->createFeedNode('syndication', $url);
$this->assertText('Created ' . $assertions['item_count'] . ' nodes');
}
}
}
/**
* Return an array of test feeds.
*/
protected function feedUrls() {
$path = $GLOBALS['base_url'] . '/' . drupal_get_path('module', 'feeds') . '/tests/feeds/';