public function TreeTableTest::testTreeTableStyle in Views tree 8.2
Tests the tree table style plugin.
File
- tests/
src/ Kernel/ Plugin/ views/ style/ TreeTableTest.php, line 45
Class
- TreeTableTest
- Tests the views tree list style plugin.
Namespace
Drupal\Tests\views_tree\Kernel\Plugin\views\styleCode
public function testTreeTableStyle() {
$view = Views::getView('views_tree_test');
$this
->executeView($view);
$this
->assertCount(15, $view->result);
// Render the view, which will re-sort the result.
// @see template_preprocess_views_tree_table()
$output = $view
->render('default');
$rendered_output = \Drupal::service('renderer')
->renderRoot($output);
// Verify parents are properly set in the result.
$result = $view->result;
$this
->assertEquals(1, $result[0]->views_tree_parent);
$this
->assertEquals(6, $result[11]->views_tree_parent);
// Verify rendered output.
$this
->setRawContent($rendered_output);
$rows = $this
->xpath('//tbody/tr');
$this
->assertEquals(1, (string) $rows[0]
->attributes()['data-hierarchy-level']);
$this
->assertEquals(2, (string) $rows[1]
->attributes()['data-hierarchy-level']);
$this
->assertEquals(3, (string) $rows[6]
->attributes()['data-hierarchy-level']);
$this
->assertEquals(1, (string) $rows[11]
->attributes()['data-hierarchy-level']);
// Verify the hierarchy display class is added to the correct cell.
$this
->assertContains('views-tree-hierarchy-cell', (string) $rows[0]->td
->attributes()->class);
$this
->assertNotContains('views-tree-hierarchy-cell', (string) $rows[0]->td[1]
->attributes()->class);
}