t('Syndication parsers'), 'description' => t('Regression tests for syndication parsers Common syndication and SimplePie. Tests parsers against a set of feeds in the context of Feeds module. Requires SimplePie parser to be configured correctly.'), 'group' => t('Feeds'), ); } /** * Set up test. */ public function setUp() { parent::setUp('feeds', 'feeds_ui', 'ctools', 'job_scheduler', 'libraries'); $this->drupalLogin( $this->drupalCreateUser( array( 'administer feeds', 'administer nodes', ) ) ); } /** * Run tests. */ public function test() { $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'] .' Article nodes.'); } } } /** * Return an array of test feeds. */ protected function feedUrls() { $path = $GLOBALS['base_url'] .'/'. drupal_get_path('module', 'feeds') .'/tests/feeds/'; return array( "{$path}developmentseed.rss2" => array( 'item_count' => 10, ), "{$path}feed_without_guid.rss2" => array( 'item_count' => 10, ), ); } }