You are here

public function BetterExposedFiltersHelperUnitTest::providerTestRewriteOptions in Better Exposed Filters 8.4

Same name and namespace in other branches
  1. 8.5 tests/src/Unit/BetterExposedFiltersHelperUnitTest.php \Drupal\Tests\better_exposed_filters\Unit\BetterExposedFiltersHelperUnitTest::providerTestRewriteOptions()

Data provider for ::testRewriteOptions.

File

tests/src/Unit/BetterExposedFiltersHelperUnitTest.php, line 35

Class

BetterExposedFiltersHelperUnitTest
Tests the helper functions for better exposed filters.

Namespace

Drupal\Tests\better_exposed_filters\Unit

Code

public function providerTestRewriteOptions() {
  $data = [];

  // Super basic rewrite.
  $data[] = [
    [
      'foo' => 'bar',
    ],
    "bar|baz",
    [
      'foo' => 'baz',
    ],
  ];

  // Removes an option.
  $data[] = [
    [
      'foo' => 'bar',
    ],
    "bar|",
    [],
  ];

  // An option in the middle is removed -- preserves order.
  $data[] = [
    [
      'foo' => '1',
      'bar' => '2',
      'baz' => '3',
    ],
    "2|",
    [
      'foo' => '1',
      'baz' => '3',
    ],
  ];

  // Ensure order is preserved.
  $data[] = [
    [
      'foo' => '1',
      'bar' => '2',
      'baz' => '3',
    ],
    "2|Two",
    [
      'foo' => '1',
      'bar' => 'Two',
      'baz' => '3',
    ],
  ];

  // No options are replaced.
  $data[] = [
    [
      'foo' => '1',
      'bar' => '2',
      'baz' => '3',
    ],
    "4|Two",
    [
      'foo' => '1',
      'bar' => '2',
      'baz' => '3',
    ],
  ];

  // All options are replaced.
  $data[] = [
    [
      'foo' => '1',
      'bar' => '2',
      'baz' => '3',
    ],
    "1|One\n2|Two\n3|Three",
    [
      'foo' => 'One',
      'bar' => 'Two',
      'baz' => 'Three',
    ],
  ];
  return $data;
}