X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fviews%2Ftests%2Fsrc%2FFunctional%2FPlugin%2FStyleOpmlTest.php;fp=web%2Fcore%2Fmodules%2Fviews%2Ftests%2Fsrc%2FFunctional%2FPlugin%2FStyleOpmlTest.php;h=bf0f2a1adba82ed1fd849f021b1be28a92f35207;hp=0000000000000000000000000000000000000000;hb=0bf8d09d2542548982e81a441b1f16e75873a04f;hpb=74df008bdbb3a11eeea356744f39b802369bda3c diff --git a/web/core/modules/views/tests/src/Functional/Plugin/StyleOpmlTest.php b/web/core/modules/views/tests/src/Functional/Plugin/StyleOpmlTest.php new file mode 100644 index 000000000..bf0f2a1ad --- /dev/null +++ b/web/core/modules/views/tests/src/Functional/Plugin/StyleOpmlTest.php @@ -0,0 +1,79 @@ +enableViewsTestModule(); + + $admin_user = $this->drupalCreateUser(['administer news feeds']); + $this->drupalLogin($admin_user); + } + + /** + * Tests the rendered output. + */ + public function testOpmlOutput() { + // Create a test feed. + $values = [ + '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->getSession()->getDriver()->find('//outline[1]')[0]; + $this->assertEquals('rss', $outline->getAttribute('type')); + $this->assertEquals($feed->label(), $outline->getAttribute('text')); + $this->assertEquals($feed->getUrl(), $outline->getAttribute('xmlUrl')); + + $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->getSession()->getDriver()->find('//outline[1]')[0]; + $this->assertEquals('link', $outline->getAttribute('type')); + $this->assertEquals($feed->label(), $outline->getAttribute('text')); + $this->assertEquals($feed->getUrl(), $outline->getAttribute('url')); + // xmlUrl should not be present when type is link. + $this->assertNull($outline->getAttribute('xmlUrl')); + } + +}