function FilterUnitTest::assertFilteredString in Zircon Profile 8.0
Same name and namespace in other branches
- 8 core/modules/filter/src/Tests/FilterUnitTest.php \Drupal\filter\Tests\FilterUnitTest::assertFilteredString()
Asserts multiple filter output expectations for multiple input strings.
$tests = array(
'Input string' => array(
'<p>Input string</p>' => TRUE,
'Input string<br' => FALSE,
),
);
Parameters
FilterInterface $filter: A input filter object.
$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:
3 calls to FilterUnitTest::assertFilteredString()
- FilterUnitTest::testHtmlEscapeFilter in core/
modules/ filter/ src/ Tests/ FilterUnitTest.php - Tests the HTML escaping filter.
- FilterUnitTest::testLineBreakFilter in core/
modules/ filter/ src/ Tests/ FilterUnitTest.php - Tests the line break filter.
- FilterUnitTest::testUrlFilter in core/
modules/ filter/ src/ Tests/ FilterUnitTest.php - Tests the URL filter.
File
- core/
modules/ filter/ src/ Tests/ FilterUnitTest.php, line 881 - Contains \Drupal\filter\Tests\FilterUnitTest.
Class
- FilterUnitTest
- Tests Filter module filters individually.
Namespace
Drupal\filter\TestsCode
function assertFilteredString($filter, $tests) {
foreach ($tests as $source => $tasks) {
$result = $filter
->process($source, $filter)
->getProcessedText();
foreach ($tasks as $value => $is_expected) {
// Not using assertIdentical, since combination with strpos() is hard to grok.
if ($is_expected) {
$success = $this
->assertTrue(strpos($result, $value) !== FALSE, format_string('@source: @value found. Filtered result: @result.', array(
'@source' => var_export($source, TRUE),
'@value' => var_export($value, TRUE),
'@result' => var_export($result, TRUE),
)));
}
else {
$success = $this
->assertTrue(strpos($result, $value) === FALSE, format_string('@source: @value not found. Filtered result: @result.', array(
'@source' => var_export($source, TRUE),
'@value' => var_export($value, TRUE),
'@result' => var_export($result, TRUE),
)));
}
if (!$success) {
$this
->verbose('Source:<pre>' . Html::escape(var_export($source, TRUE)) . '</pre>' . '<hr />' . 'Result:<pre>' . Html::escape(var_export($result, TRUE)) . '</pre>' . '<hr />' . ($is_expected ? 'Expected:' : 'Not expected:') . '<pre>' . Html::escape(var_export($value, TRUE)) . '</pre>');
}
}
}
}