diff --git a/tests/styles/views_plugin_style_grid.test b/tests/styles/views_plugin_style_grid.test new file mode 100644 index 00000000..ce7e8493 --- /dev/null +++ b/tests/styles/views_plugin_style_grid.test @@ -0,0 +1,74 @@ + 'Style: grid', + 'description' => 'Test grid style functionality.', + 'group' => 'Views Plugins', + ); + } + + /** + * Take sure that the default css classes works as expected. + */ + public function testDefaultRowClasses() { + $view = $this->getBasicView(); + $rendered_output = $view->preview(); + $this->storeViewPreview($rendered_output); + + $table_rows = $this->elements->body->div->div->table->tbody->tr; + $row_count = 0; + $total_rows_count = ceil(count($view->result) / static::COLUMNS_COUNT); + + foreach ($table_rows as $table_row) { + $row_count++; + $attributes = $table_row->attributes(); + $class = (string) $attributes['class'][0]; + // Take sure that each table row has a row css class. + $this->assertTrue(strpos($class, "row-$row_count") !== FALSE, 'Take sure that each table row has a row css class.'); + + // Check row-first table row class. + if ($row_count == 1) { + $this->assertTrue(strpos($class, 'row-first') !== FALSE, 'Take sure that the row-first class is set right.'); + } + + // Check row-last table row class. + if ($row_count == $total_rows_count) { + $this->assertTrue(strpos($class, 'row-last') !== FALSE, 'Take sure that the row-last class is set right.'); + } + + // Check row-[odd|even] table row classes. + $row_class = 'row-' . ($row_count % 2 ? 'odd' : 'even'); + $this->assertTrue(strpos($class, $row_class) !== FALSE, "Take sure that the $row_class class is set right."); + } + } + + /** + * Overrides ViewsTestCase::getBasicView(). + */ + protected function getBasicView() { + $view = parent::getBasicView(); + // Apply Grid style. + $view->display['default']->handler->override_option('style_plugin', 'grid'); + $view->display['default']->handler->override_option('style_options', array( + 'columns' => static::COLUMNS_COUNT, + )); + return $view; + } + +} diff --git a/views.info b/views.info index 10f2f616..9d11988d 100644 --- a/views.info +++ b/views.info @@ -298,6 +298,7 @@ files[] = tests/styles/views_plugin_style.test files[] = tests/styles/views_plugin_style_base.test files[] = tests/styles/views_plugin_style_mapping.test files[] = tests/styles/views_plugin_style_unformatted.test +files[] = tests/styles/views_plugin_style_grid.test files[] = tests/views_access.test files[] = tests/views_analyze.test files[] = tests/views_basic.test