public function TextSummaryTest::testNormalization in Drupal 10
Same name and namespace in other branches
- 9 core/modules/text/tests/src/Kernel/TextSummaryTest.php \Drupal\Tests\text\Kernel\TextSummaryTest::testNormalization()
Test text normalization when filter_html or filter_htmlcorrector enabled.
File
- core/
modules/ text/ tests/ src/ Kernel/ TextSummaryTest.php, line 314
Class
- TextSummaryTest
- Tests text_summary() with different strings and lengths.
Namespace
Drupal\Tests\text\KernelCode
public function testNormalization() {
FilterFormat::create([
'format' => 'filter_html_enabled',
'name' => 'Filter HTML enabled',
'filters' => [
'filter_html' => [
'status' => 1,
'settings' => [
'allowed_html' => '<strong>',
],
],
],
])
->save();
FilterFormat::create([
'format' => 'filter_htmlcorrector_enabled',
'name' => 'Filter HTML corrector enabled',
'filters' => [
'filter_htmlcorrector' => [
'status' => 1,
],
],
])
->save();
FilterFormat::create([
'format' => 'neither_filter_enabled',
'name' => 'Neither filter enabled',
'filters' => [],
])
->save();
$filtered_markup = FilteredMarkup::create('<div><strong><span>Hello World</span></strong></div>');
// With either HTML filter enabled, text_summary() will normalize the text
// using HTML::normalize().
$summary = text_summary($filtered_markup, 'filter_html_enabled', 30);
$this
->assertStringContainsString('<div><strong><span>', $summary);
$this
->assertStringContainsString('</span></strong></div>', $summary);
$summary = text_summary($filtered_markup, 'filter_htmlcorrector_enabled', 30);
$this
->assertStringContainsString('<div><strong><span>', $summary);
$this
->assertStringContainsString('</span></strong></div>', $summary);
// If neither filter is enabled, the text will not be normalized.
$summary = text_summary($filtered_markup, 'neither_filter_enabled', 30);
$this
->assertStringContainsString('<div><strong><span>', $summary);
$this
->assertStringNotContainsString('</span></strong></div>', $summary);
}