You are here

feeds_parser_syndication.test in Feeds 6

Tests for plugins/FeedsSyndicationParser.inc.

File

tests/feeds_parser_syndication.test
View source
<?php

module_load_include('test', 'feeds', 'tests/feeds');

/**
 * @file
 * Tests for plugins/FeedsSyndicationParser.inc.
 */

/**
 * Test single feeds.
 */
class FeedsSyndicationParserTestCase extends FeedsWebTestCase {
  public static function getInfo() {
    return array(
      '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',
      'dependencies' => array(
        'libraries',
      ),
    );
  }

  /**
   * Set up test.
   */
  public function setUp() {
    parent::setUp(array(
      'libraries',
    ));
  }

  /**
   * 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'] . ' Story 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,
      ),
    );
  }

}

Classes

Namesort descending Description
FeedsSyndicationParserTestCase Test single feeds.