From 3e9b15db463267f078fd1a420f7c605ab9f7b448 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 28 May 2025 00:51:49 +0200 Subject: [PATCH] tests: Check encoding was preserved in `testHtmlLang` The fix introduced in efbbc86df9716a3ab1ed8a351d9e8316f3a2aab0 alongside this test also manipulates `meta[charset]` but we were not checking if it does not break encoding. --- tests/ReadabilityTest.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/ReadabilityTest.php b/tests/ReadabilityTest.php index d32b29e..2ed1236 100644 --- a/tests/ReadabilityTest.php +++ b/tests/ReadabilityTest.php @@ -536,21 +536,21 @@ class ReadabilityTest extends \PHPUnit\Framework\TestCase { return [ 'meta' => [ - '
' . str_repeat('

This is the awesome content :)

', 7) . '
', + '
' . str_repeat('

Tous les êtres humains naissent libres et égaux en dignité et en droits. Ils sont doués de raison et de conscience et doivent agir les uns envers les autres dans un esprit de fraternité.

', 7) . '
', 'fr', ], 'head' => [ - 'Foo
' . str_repeat('

This is the awesome content :)

', 7) . '
', + 'Foo
' . str_repeat('

Tous les êtres humains naissent libres et égaux en dignité et en droits. Ils sont doués de raison et de conscience et doivent agir les uns envers les autres dans un esprit de fraternité.

', 7) . '
', 'fr', ], 'headless' => [ - '
' . str_repeat('

This is the awesome content :)

', 7) . '
', + '
' . str_repeat('

Tous les êtres humains naissent libres et égaux en dignité et en droits. Ils sont doués de raison et de conscience et doivent agir les uns envers les autres dans un esprit de fraternité.

', 7) . '
', 'fr', // tidy would add tag. false, ], 'fragment' => [ - '
' . str_repeat('

This is the awesome content :)

', 7) . '
', + '
' . str_repeat('

Tous les êtres humains naissent libres et égaux en dignité et en droits. Ils sont doués de raison et de conscience et doivent agir les uns envers les autres dans un esprit de fraternité.

', 7) . '
', '', // tidy would add . false, @@ -569,6 +569,8 @@ class ReadabilityTest extends \PHPUnit\Framework\TestCase $this->assertTrue($res); $this->assertInstanceOf(\DOMDocument::class, $readability->dom); $this->assertSame($lang, $readability->dom->documentElement->getAttribute('lang')); + $this->assertInstanceOf('Readability\JSLikeHTMLElement', $readability->getContent()); + $this->assertStringContainsString('êtres', $readability->getContent()->getInnerHtml()); } private function getReadability(string $html, ?string $url = null, string $parser = 'libxml', bool $useTidy = true): Readability