mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-11-02 07:34:35 -05:00
* Fix non-ASCII characters in scripts of fetched HTML pages To add a <base> to a fetched HTML page, enforceHtmlBase() re-serialises it with libxml2 saveHTML(). For a whole document, libxml2 2.9 only knows the charset from <meta http-equiv="Content-Type">: with <meta charset="UTF-8"> or a byte order mark, it writes every non-ASCII character as an HTML entity. In text that is harmless, but inside <script> entities are not decoded, so e.g. the JSON read by HTML + XPath + JSON feeds gets "Wall Street’s" instead of "Wall Street’s", which then shows in titles. UTF-8 documents are now serialised node by node, which writes UTF-8. Other charsets keep the previous output. * Clarify comment about the byte order mark * Remove comment about the byte order mark * Minor test syntax preference --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
FreshRSS tests
See our documentation about running tests.
make test-all
See test.yml for the GitHub Actions automated tests.
See composer.json for the different tests and versions, to be run locally.
Details about this tests folder
Unit tests are based on PHPUnit. Here is an example of manual install:
cd ./tests/
wget -O phpunit.phar https://phar.phpunit.de/phpunit-10.phar
php phpunit.phar --bootstrap bootstrap.php
The shellchecks.sh script is used to safeguard shell scripts from common
shell script bugs and to ensure a consistent style.
It requires ShellCheck and shfmt.