annotate modules/contrib/views_slideshow/src/Tests/Plugin/StyleSlideshowTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents c69a71b4f40f
children
rev   line source
Chris@5 1 <?php
Chris@5 2
Chris@5 3 namespace Drupal\views_slideshow\Tests\Plugin;
Chris@5 4
Chris@5 5 use Drupal\views\Entity\View;
Chris@5 6 use Drupal\views\Tests\Plugin\PluginTestBase;
Chris@5 7 use Drupal\views\Tests\ViewTestData;
Chris@5 8
Chris@5 9 /**
Chris@5 10 * Tests the slideshow style views plugin.
Chris@5 11 *
Chris@5 12 * @group views
Chris@5 13 */
Chris@5 14 class StyleSlideshowTest extends PluginTestBase {
Chris@5 15
Chris@5 16 /**
Chris@5 17 * Modules to enable.
Chris@5 18 *
Chris@5 19 * @var array
Chris@5 20 */
Chris@5 21 public static $modules = [
Chris@5 22 'views',
Chris@5 23 'views_slideshow',
Chris@5 24 'views_slideshow_cycle',
Chris@5 25 'views_test_config',
Chris@5 26 'views_slideshow_test',
Chris@5 27 ];
Chris@5 28
Chris@5 29 /**
Chris@5 30 * Views used by this test.
Chris@5 31 *
Chris@5 32 * @var array
Chris@5 33 */
Chris@5 34 public static $testViews = ['test_style_slideshow'];
Chris@5 35
Chris@5 36 /**
Chris@5 37 * {@inheritdoc}
Chris@5 38 */
Chris@5 39 protected function setUp($import_test_views = TRUE) {
Chris@5 40 parent::setUp();
Chris@5 41
Chris@5 42 $this->enableViewsTestModule();
Chris@5 43 if ($import_test_views) {
Chris@5 44 ViewTestData::createTestViews(get_class($this), ['views_slideshow_test']);
Chris@5 45 }
Chris@5 46 }
Chris@5 47
Chris@5 48 /**
Chris@5 49 * Test slideshow display.
Chris@5 50 */
Chris@5 51 public function testSlideshow() {
Chris@5 52 $this->drupalGet('test-style-slideshow');
Chris@5 53
Chris@5 54 $result = $this->cssSelect('.views_slideshow_main');
Chris@5 55 $this->assertEqual(count($result), 1, 'Slideshow displayed on page');
Chris@5 56 }
Chris@5 57
Chris@5 58 /**
Chris@5 59 * Test slideshow control widgets.
Chris@5 60 */
Chris@5 61 public function testSlideshowWidgets() {
Chris@5 62 $this->drupalGet('test-style-slideshow');
Chris@5 63
Chris@5 64 // Ensure no controls are displayed.
Chris@5 65 $this->assertFalse(count($this->cssSelect('.views-slideshow-controls-top')));
Chris@5 66 $this->assertFalse(count($this->cssSelect('.views-slideshow-controls-bottom')));
Chris@5 67
Chris@5 68 // Test top widget position.
Chris@5 69 $view = View::load('test_style_slideshow');
Chris@5 70 $display = &$view->getDisplay('default');
Chris@5 71 $display['display_options']['style']['options']['widgets'] = [
Chris@5 72 'top' => [
Chris@5 73 'views_slideshow_controls' => [
Chris@5 74 'enable' => TRUE,
Chris@5 75 'weight' => 1,
Chris@5 76 'hide_on_single_slide' => 0,
Chris@5 77 'type' => 'views_slideshow_controls_text',
Chris@5 78 ],
Chris@5 79 ],
Chris@5 80 ];
Chris@5 81 $view->save();
Chris@5 82
Chris@5 83 $this->drupalGet('test-style-slideshow');
Chris@5 84 $this->assertTrue(count($this->cssSelect('.views-slideshow-controls-top')));
Chris@5 85 $this->assertFalse(count($this->cssSelect('.views-slideshow-controls-bottom')));
Chris@5 86
Chris@5 87 // Test bottom widget position.
Chris@5 88 $view = View::load('test_style_slideshow');
Chris@5 89 $display = &$view->getDisplay('default');
Chris@5 90 $display['display_options']['style']['options']['widgets'] = [
Chris@5 91 'bottom' => [
Chris@5 92 'views_slideshow_controls' => [
Chris@5 93 'enable' => TRUE,
Chris@5 94 'weight' => 1,
Chris@5 95 'hide_on_single_slide' => 0,
Chris@5 96 'type' => 'views_slideshow_controls_text',
Chris@5 97 ],
Chris@5 98 ],
Chris@5 99 'top' => [],
Chris@5 100 ];
Chris@5 101 $view->save();
Chris@5 102
Chris@5 103 $this->drupalGet('test-style-slideshow');
Chris@5 104 $this->assertFalse(count($this->cssSelect('.views-slideshow-controls-top')));
Chris@5 105 $this->assertTrue(count($this->cssSelect('.views-slideshow-controls-bottom')));
Chris@5 106 }
Chris@5 107
Chris@5 108 }