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 }
|