StyleOpmlTest.php in Zircon Profile 8
Same filename and directory in other branches
Contains \Drupal\views\Tests\Plugin\StyleOpmlTest.
Namespace
Drupal\views\Tests\PluginFile
core/modules/views/src/Tests/Plugin/StyleOpmlTest.phpView source
<?php
/**
* @file
* Contains \Drupal\views\Tests\Plugin\StyleOpmlTest.
*/
namespace Drupal\views\Tests\Plugin;
/**
* Tests the OPML feed style plugin.
*
* @group views
* @see \Drupal\views\Plugin\views\style\Opml
*/
class StyleOpmlTest extends PluginTestBase {
/**
* Views used by this test.
*
* @var array
*/
public static $testViews = array(
'test_style_opml',
);
/**
* Modules to enable.
*
* @var array
*/
public static $modules = array(
'aggregator',
);
/**
* {@inheritdoc}
*/
protected function setUp() {
parent::setUp();
$this
->enableViewsTestModule();
$admin_user = $this
->drupalCreateUser(array(
'administer news feeds',
));
$this
->drupalLogin($admin_user);
}
/**
* Tests the rendered output.
*/
public function testOpmlOutput() {
// Create a test feed.
$values = array(
'title' => $this
->randomMachineName(10),
'url' => 'http://example.com/rss.xml',
'refresh' => '900',
);
$feed = $this->container
->get('entity.manager')
->getStorage('aggregator_feed')
->create($values);
$feed
->save();
$this
->drupalGet('test-feed-opml-style');
$outline = $this
->xpath('//outline[1]');
$this
->assertEqual($outline[0]['type'], 'rss', 'The correct type attribute is used for rss OPML.');
$this
->assertEqual($outline[0]['text'], $feed
->label(), 'The correct text attribute is used for rss OPML.');
$this
->assertEqual($outline[0]['xmlurl'], $feed
->getUrl(), 'The correct xmlUrl attribute is used for rss OPML.');
$view = $this->container
->get('entity.manager')
->getStorage('view')
->load('test_style_opml');
$display =& $view
->getDisplay('feed_1');
$display['display_options']['row']['options']['type_field'] = 'link';
$display['display_options']['row']['options']['url_field'] = 'url';
$view
->save();
$this
->drupalGet('test-feed-opml-style');
$outline = $this
->xpath('//outline[1]');
$this
->assertEqual($outline[0]['type'], 'link', 'The correct type attribute is used for link OPML.');
$this
->assertEqual($outline[0]['text'], $feed
->label(), 'The correct text attribute is used for link OPML.');
$this
->assertEqual($outline[0]['url'], $feed
->getUrl(), 'The correct url attribute is used for link OPML.');
// xmlUrl should not be present when type is link.
$this
->assertNull($outline[0]['xmlUrl'], 'The xmlUrl attribute is not used for link OPML.');
}
}
Classes
Name | Description |
---|---|
StyleOpmlTest | Tests the OPML feed style plugin. |