You are here

public function FilterKernelTest::assertFilteredString in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/filter/tests/src/Kernel/FilterKernelTest.php \Drupal\Tests\filter\Kernel\FilterKernelTest::assertFilteredString()

Asserts multiple filter output expectations for multiple input strings.

Parameters

FilterInterface $filter: A input filter object.

array $tests: An associative array, whereas each key is an arbitrary input string and each value is again an associative array whose keys are filter output strings and whose values are Booleans indicating whether the output is expected or not. For example:

$tests = array(
  'Input string' => array(
    '<p>Input string</p>' => TRUE,
    'Input string<br' => FALSE,
  ),
);
3 calls to FilterKernelTest::assertFilteredString()
FilterKernelTest::testHtmlEscapeFilter in core/modules/filter/tests/src/Kernel/FilterKernelTest.php
Tests the HTML escaping filter.
FilterKernelTest::testLineBreakFilter in core/modules/filter/tests/src/Kernel/FilterKernelTest.php
Tests the line break filter.
FilterKernelTest::testUrlFilter in core/modules/filter/tests/src/Kernel/FilterKernelTest.php
Tests the URL filter.

File

core/modules/filter/tests/src/Kernel/FilterKernelTest.php, line 878

Class

FilterKernelTest
Tests Filter module filters individually.

Namespace

Drupal\Tests\filter\Kernel

Code

public function assertFilteredString($filter, $tests) {
  foreach ($tests as $source => $tasks) {
    $result = $filter
      ->process($source, $filter)
      ->getProcessedText();
    foreach ($tasks as $value => $is_expected) {
      if ($is_expected) {
        $this
          ->assertStringContainsString($value, $result, new FormattableMarkup('@source: @value found. Filtered result: @result.', [
          '@source' => var_export($source, TRUE),
          '@value' => var_export($value, TRUE),
          '@result' => var_export($result, TRUE),
        ]));
      }
      else {
        $this
          ->assertStringNotContainsString($value, $result, new FormattableMarkup('@source: @value not found. Filtered result: @result.', [
          '@source' => var_export($source, TRUE),
          '@value' => var_export($value, TRUE),
          '@result' => var_export($result, TRUE),
        ]));
      }
    }
  }
}