You are here

protected function ViewKernelTestBase::orderResultSet in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/views/src/Tests/ViewKernelTestBase.php \Drupal\views\Tests\ViewKernelTestBase::orderResultSet()

Orders a nested array containing a result set based on a given column.

Parameters

array $result_set: An array of rows from a result set, with each row as an associative array keyed by column name.

string $column: The column name by which to sort the result set.

bool $reverse: (optional) Boolean indicating whether to sort the result set in reverse order. Defaults to FALSE.

Return value

array The sorted result set.

2 calls to ViewKernelTestBase::orderResultSet()
SortTest::testNumericOrdering in core/modules/views/src/Tests/Handler/SortTest.php
Tests numeric ordering of the result set.
SortTest::testStringOrdering in core/modules/views/src/Tests/Handler/SortTest.php
Tests string ordering of the result set.

File

core/modules/views/src/Tests/ViewKernelTestBase.php, line 100
Contains \Drupal\views\Tests\ViewKernelTestBase.

Class

ViewKernelTestBase
Defines a base class for Views unit testing.

Namespace

Drupal\views\Tests

Code

protected function orderResultSet($result_set, $column, $reverse = FALSE) {
  $order = $reverse ? -1 : 1;
  usort($result_set, function ($a, $b) use ($column, $order) {
    if ($a[$column] == $b[$column]) {
      return 0;
    }
    return $order * ($a[$column] < $b[$column] ? -1 : 1);
  });
  return $result_set;
}