Version 1
[yaffs-website] / web / core / modules / views / tests / src / Kernel / Plugin / StyleHtmlListTest.php
diff --git a/web/core/modules/views/tests/src/Kernel/Plugin/StyleHtmlListTest.php b/web/core/modules/views/tests/src/Kernel/Plugin/StyleHtmlListTest.php
new file mode 100644 (file)
index 0000000..0e99439
--- /dev/null
@@ -0,0 +1,53 @@
+<?php
+
+namespace Drupal\Tests\views\Kernel\Plugin;
+
+use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
+use Drupal\views\Views;
+
+/**
+ * Tests the HTML list style plugin.
+ *
+ * @group views
+ * @see \Drupal\views\Plugin\views\style\HtmlList
+ */
+class StyleHtmlListTest extends ViewsKernelTestBase {
+
+  /**
+   * Views used by this test.
+   *
+   * @var array
+   */
+  public static $testViews = ['test_style_html_list'];
+
+  /**
+   * Make sure that the HTML list style markup is correct.
+   */
+  public function testDefaultRowClasses() {
+    $view = Views::getView('test_style_html_list');
+    $output = $view->preview();
+    $output = \Drupal::service('renderer')->renderRoot($output);
+
+    // Check that an empty class attribute is not added if the wrapper class is
+    // not set.
+    $this->assertTrue(strpos($output, '<div>') !== FALSE, 'Empty class is not added to DIV when class is not set');
+
+    // Check that an empty class attribute is not added if the list class is
+    // not set.
+    $this->assertTrue(strpos($output, '<ul>') !== FALSE, 'Empty class is not added to UL when class is not set');
+
+    // Set wrapper class and list class in style options.
+    $view->style_plugin->options['class'] = 'class';
+    $view->style_plugin->options['wrapper_class'] = 'wrapper-class';
+
+    $output = $view->preview();
+    $output = \Drupal::service('renderer')->renderRoot($output);
+
+    // Check that class attribute is present if the wrapper class is set.
+    $this->assertTrue(strpos($output, '<div class="wrapper-class">') !== FALSE, 'Class is added to DIV');
+
+    // Check that class attribute is present if the list class is set.
+    $this->assertTrue(strpos($output, '<ul class="class">') !== FALSE, 'Class is added to UL');
+  }
+
+}