You are here

public function BetterExposedFiltersTest::providerTestRewriteOptions in Better Exposed Filters 8.3

File

tests/src/Unit/BetterExposedFiltersTest.php, line 33

Class

BetterExposedFiltersTest
@coversDefaultClass \Drupal\better_exposed_filters\Plugin\views\exposed_form\BetterExposedFilters @group bef

Namespace

Drupal\better_exposed_filters\Tests

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;
}