class SortTest
Same name in this branch
- 9 core/modules/jsonapi/tests/src/Unit/Query/SortTest.php \Drupal\Tests\jsonapi\Unit\Query\SortTest
- 9 core/tests/Drupal/Tests/PhpCs/SortTest.php \Drupal\Tests\PhpCs\SortTest
Same name and namespace in other branches
- 11.x core/modules/jsonapi/tests/src/Unit/Query/SortTest.php \Drupal\Tests\jsonapi\Unit\Query\SortTest
- 11.x core/modules/views/tests/src/Kernel/Handler/SortTest.php \Drupal\Tests\views\Kernel\Handler\SortTest
- 11.x core/tests/Drupal/Tests/PhpCs/SortTest.php \Drupal\Tests\PhpCs\SortTest
- 11.x core/tests/Drupal/Tests/CSpell/SortTest.php \Drupal\Tests\CSpell\SortTest
- 10 core/modules/jsonapi/tests/src/Unit/Query/SortTest.php \Drupal\Tests\jsonapi\Unit\Query\SortTest
- 10 core/modules/views/tests/src/Kernel/Handler/SortTest.php \Drupal\Tests\views\Kernel\Handler\SortTest
- 10 core/tests/Drupal/Tests/PhpCs/SortTest.php \Drupal\Tests\PhpCs\SortTest
- 10 core/tests/Drupal/Tests/CSpell/SortTest.php \Drupal\Tests\CSpell\SortTest
- 8.9.x core/modules/jsonapi/tests/src/Unit/Query/SortTest.php \Drupal\Tests\jsonapi\Unit\Query\SortTest
- 8.9.x core/modules/views/tests/src/Kernel/Handler/SortTest.php \Drupal\Tests\views\Kernel\Handler\SortTest
Tests for core Drupal\views\Plugin\views\sort\SortPluginBase handler.
@group views
Hierarchy
- class \Drupal\KernelTests\KernelTestBase implements \Drupal\Core\DependencyInjection\ServiceProviderInterface uses \Drupal\KernelTests\AssertLegacyTrait, \Drupal\KernelTests\AssertContentTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\ExtensionListTestTrait, \Drupal\Tests\TestRequirementsTrait, \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\Tests\views\Kernel\ViewsKernelTestBase uses \Drupal\views\Tests\ViewResultAssertionTrait extends \Drupal\KernelTests\KernelTestBase
- class \Drupal\Tests\views\Kernel\Handler\SortTest extends \Drupal\Tests\views\Kernel\ViewsKernelTestBase
- class \Drupal\Tests\views\Kernel\ViewsKernelTestBase uses \Drupal\views\Tests\ViewResultAssertionTrait extends \Drupal\KernelTests\KernelTestBase
Expanded class hierarchy of SortTest
File
-
core/
modules/ views/ tests/ src/ Kernel/ Handler/ SortTest.php, line 13
Namespace
Drupal\Tests\views\Kernel\HandlerView source
class SortTest extends ViewsKernelTestBase {
/**
* Views used by this test.
*
* @var array
*/
public static $testViews = [
'test_view',
];
/**
* Tests numeric ordering of the result set.
*/
public function testNumericOrdering() {
$view = Views::getView('test_view');
$view->setDisplay();
// Change the ordering
$view->displayHandlers
->get('default')
->overrideOption('sorts', [
'age' => [
'order' => 'ASC',
'id' => 'age',
'table' => 'views_test_data',
'field' => 'age',
'relationship' => 'none',
],
]);
// Execute the view.
$this->executeView($view);
// Verify the result.
$this->assertSameSize($this->dataSet(), $view->result, 'The number of returned rows match.');
$this->assertIdenticalResultset($view, $this->orderResultSet($this->dataSet(), 'age'), [
'views_test_data_name' => 'name',
'views_test_data_age' => 'age',
]);
$view->destroy();
$view->setDisplay();
// Reverse the ordering
$view->displayHandlers
->get('default')
->overrideOption('sorts', [
'age' => [
'order' => 'DESC',
'id' => 'age',
'table' => 'views_test_data',
'field' => 'age',
'relationship' => 'none',
],
]);
// Execute the view.
$this->executeView($view);
// Verify the result.
$this->assertSameSize($this->dataSet(), $view->result, 'The number of returned rows match.');
$this->assertIdenticalResultset($view, $this->orderResultSet($this->dataSet(), 'age', TRUE), [
'views_test_data_name' => 'name',
'views_test_data_age' => 'age',
]);
}
/**
* Tests string ordering of the result set.
*/
public function testStringOrdering() {
$view = Views::getView('test_view');
$view->setDisplay();
// Change the ordering
$view->displayHandlers
->get('default')
->overrideOption('sorts', [
'name' => [
'order' => 'ASC',
'id' => 'name',
'table' => 'views_test_data',
'field' => 'name',
'relationship' => 'none',
],
]);
// Execute the view.
$this->executeView($view);
// Verify the result.
$this->assertSameSize($this->dataSet(), $view->result, 'The number of returned rows match.');
$this->assertIdenticalResultset($view, $this->orderResultSet($this->dataSet(), 'name'), [
'views_test_data_name' => 'name',
'views_test_data_age' => 'age',
]);
$view->destroy();
$view->setDisplay();
// Reverse the ordering
$view->displayHandlers
->get('default')
->overrideOption('sorts', [
'name' => [
'order' => 'DESC',
'id' => 'name',
'table' => 'views_test_data',
'field' => 'name',
'relationship' => 'none',
],
]);
// Execute the view.
$this->executeView($view);
// Verify the result.
$this->assertSameSize($this->dataSet(), $view->result, 'The number of returned rows match.');
$this->assertIdenticalResultset($view, $this->orderResultSet($this->dataSet(), 'name', TRUE), [
'views_test_data_name' => 'name',
'views_test_data_age' => 'age',
]);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.