Tests interdire_scripts en erreur avec changement de Flag de htmlspecialchars en PHP 8.1
/Applications/MAMP/bin/php/php8.0.14/bin/php vendor/bin/phpunit --colors tests --filter=interdire
OK (14 tests, 28 assertions)
/Applications/MAMP/bin/php/php8.1.0/bin/php vendor/bin/phpunit --colors tests --filter=interdire
Tests: 14, Assertions: 24, Failures: 4.
Exemple :
4) Spip\Core\Tests\EssaisTest::testEssai with data set "texte/interdire_script_parano_03" ('test_texte_interdire_script_parano', array('<script language='javascript'...cript>'), '<code class="echappe-js"><.../code>')
Failed asserting that two strings are identical.
--- Expected
+++ Actual
@@ @@
-'<code class="echappe-js"><script language='javascript' src='spip.php?page=toto'></script></code>'
+'<code class="echappe-js"><script language='javascript' src='spip.php?page=toto'></script></code>'
Cela est du à un changement sur https://www.php.net/manual/fr/function.htmlspecialchars.php dont le flag par défaut est passé de ENT_COMPAT
à ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401