diff --git a/language/ar/recenttopics.php b/language/ar/recenttopics.php index 104e239..5187c75 100644 --- a/language/ar/recenttopics.php +++ b/language/ar/recenttopics.php @@ -23,7 +23,7 @@ 'RECENT_TOPICS' => 'أحدث المواضيع', 'RT_NO_TOPICS' => 'لا توجد مواضيع جديدة لعرضها.', 'LIKES' => 'إعجابات', - 'VIEWING_RECENT_TOPICS' => 'يتصفح أحدث المواضيع', + 'VIEWING_RECENT_TOPICS' => 'يتصفح أحدث المواضيع', 'EXTENSION_REQUIRES_330' => 'هذا الامتداد يتطلب phpBB 3.3.0 أو أعلى.', // is_enableable() error messages diff --git a/language/cs/recenttopics.php b/language/cs/recenttopics.php index fccc47b..b2b74e5 100644 --- a/language/cs/recenttopics.php +++ b/language/cs/recenttopics.php @@ -22,7 +22,7 @@ 'RECENT_TOPICS' => 'Nedávná témata', 'RT_NO_TOPICS' => 'Žádná nedávná témata.', 'LIKES' => 'Lajky', - 'VIEWING_RECENT_TOPICS' => 'Prohlíží Nedávná témata', + 'VIEWING_RECENT_TOPICS' => 'Prohlíží Nedávná témata', 'EXTENSION_REQUIRES_330' => 'Tato extenze vyžaduje phpBB 3.3.0 nebo vyšší.', // is_enableable() error messages diff --git a/language/de/recenttopics.php b/language/de/recenttopics.php index fae3ea0..e1b7902 100644 --- a/language/de/recenttopics.php +++ b/language/de/recenttopics.php @@ -23,7 +23,7 @@ 'RECENT_TOPICS' => 'Aktuelle Themen', 'RT_NO_TOPICS' => 'Es sind keine neuen Themen vorhanden.', 'LIKES' => 'Likes', - 'VIEWING_RECENT_TOPICS' => 'Schaut sich Aktuelle Themen an', + 'VIEWING_RECENT_TOPICS' => 'Schaut sich Aktuelle Themen an', 'EXTENSION_REQUIRES_330' => 'Diese Erweiterung benötigt phpBB 3.3.0 oder höher.', // is_enableable() error messages diff --git a/language/de_x_sie/recenttopics.php b/language/de_x_sie/recenttopics.php index 26c7eea..fac1c0f 100644 --- a/language/de_x_sie/recenttopics.php +++ b/language/de_x_sie/recenttopics.php @@ -23,7 +23,7 @@ 'RECENT_TOPICS' => 'Aktuelle Themen', 'RT_NO_TOPICS' => 'Es sind keine neuen Themen vorhanden.', 'LIKES' => 'Likes', - 'VIEWING_RECENT_TOPICS' => 'Schaut sich Aktuelle Themen an', + 'VIEWING_RECENT_TOPICS' => 'Schaut sich Aktuelle Themen an', 'EXTENSION_REQUIRES_330' => 'Diese Erweiterung benötigt phpBB 3.3.0 oder höher.', // is_enableable() error messages diff --git a/language/en/recenttopics.php b/language/en/recenttopics.php index 528fbf6..f600e12 100644 --- a/language/en/recenttopics.php +++ b/language/en/recenttopics.php @@ -23,7 +23,7 @@ 'RECENT_TOPICS' => 'Recent Topics', 'RT_NO_TOPICS' => 'There are no new topics to display.', 'LIKES' => 'Likes', - 'VIEWING_RECENT_TOPICS' => 'Viewing Recent Topics', + 'VIEWING_RECENT_TOPICS' => 'Viewing Recent Topics', 'EXTENSION_REQUIRES_330' => 'This extension requires phpBB 3.3.0 or higher.', // is_enableable() error messages diff --git a/language/es/recenttopics.php b/language/es/recenttopics.php index 3879900..fcd60f0 100644 --- a/language/es/recenttopics.php +++ b/language/es/recenttopics.php @@ -23,7 +23,7 @@ 'RECENT_TOPICS' => 'Temas Recientes', 'RT_NO_TOPICS' => 'No hay nuevos temas que mostrar.', 'LIKES' => 'Me gusta', - 'VIEWING_RECENT_TOPICS' => 'Viendo Temas Recientes', + 'VIEWING_RECENT_TOPICS' => 'Viendo Temas Recientes', 'EXTENSION_REQUIRES_330' => 'Esta extensión requiere phpBB 3.3.0 o superior.', // is_enableable() error messages diff --git a/language/es_x_tu/recenttopics.php b/language/es_x_tu/recenttopics.php index a8b8046..2c0cfa4 100644 --- a/language/es_x_tu/recenttopics.php +++ b/language/es_x_tu/recenttopics.php @@ -23,7 +23,7 @@ 'RECENT_TOPICS' => 'Temas Recientes', 'RT_NO_TOPICS' => 'No hay nuevos temas que mostrar.', 'LIKES' => 'Me gusta', - 'VIEWING_RECENT_TOPICS' => 'Viendo Temas Recientes', + 'VIEWING_RECENT_TOPICS' => 'Viendo Temas Recientes', 'EXTENSION_REQUIRES_330' => 'Esta extensión requiere phpBB 3.3.0 o superior.', // is_enableable() error messages diff --git a/language/fr/recenttopics.php b/language/fr/recenttopics.php index 937fc1a..3be7ab6 100644 --- a/language/fr/recenttopics.php +++ b/language/fr/recenttopics.php @@ -39,7 +39,7 @@ 'RECENT_TOPICS' => 'Sujets récents', 'RT_NO_TOPICS' => 'Il n’y a aucun nouveau sujet à afficher.', 'LIKES' => 'J’aime', - 'VIEWING_RECENT_TOPICS' => 'Consulte les Sujets récents', + 'VIEWING_RECENT_TOPICS' => 'Consulte les Sujets récents', 'EXTENSION_REQUIRES_330' => 'Cette extension nécessite phpBB 3.3.0 ou supérieur.', // is_enableable() error messages diff --git a/language/nl/recenttopics.php b/language/nl/recenttopics.php index ecb9562..e38fa21 100644 --- a/language/nl/recenttopics.php +++ b/language/nl/recenttopics.php @@ -23,7 +23,7 @@ 'RECENT_TOPICS' => 'Recente Onderwerpen', 'RT_NO_TOPICS' => 'Er zijn geen recente onderwerpen weer te geven.', 'LIKES' => 'Likes', - 'VIEWING_RECENT_TOPICS' => 'Bekijkt Recente Onderwerpen', + 'VIEWING_RECENT_TOPICS' => 'Bekijkt Recente Onderwerpen', 'EXTENSION_REQUIRES_330' => 'Deze extensie vereist phpBB 3.3.0 of hoger.', // is_enableable() error messages diff --git a/language/pt/recenttopics.php b/language/pt/recenttopics.php index ce8a81f..43341ad 100644 --- a/language/pt/recenttopics.php +++ b/language/pt/recenttopics.php @@ -23,7 +23,7 @@ 'RECENT_TOPICS' => 'Tópicos Recentes', 'RT_NO_TOPICS' => 'Não há novos tópicos a serem exibidos.', 'LIKES' => 'Gostos', - 'VIEWING_RECENT_TOPICS' => 'Visualizando Tópicos Recentes', + 'VIEWING_RECENT_TOPICS' => 'Visualizando Tópicos Recentes', 'EXTENSION_REQUIRES_330' => 'Esta extensão requer o phpBB 3.3.0 ou superior.', // is_enableable() error messages diff --git a/language/ru/recenttopics.php b/language/ru/recenttopics.php index a6cd46a..f200fe4 100644 --- a/language/ru/recenttopics.php +++ b/language/ru/recenttopics.php @@ -22,7 +22,7 @@ 'RECENT_TOPICS' => 'Последние темы', 'RT_NO_TOPICS' => 'Нет последних тем для отображения.', 'LIKES' => 'Лайки', - 'VIEWING_RECENT_TOPICS' => 'Просматривает Последние темы', + 'VIEWING_RECENT_TOPICS' => 'Просматривает Последние темы', 'EXTENSION_REQUIRES_330' => 'Это расширение требует phpBB 3.3.0 или выше.', // is_enableable() error messages diff --git a/language/sk/recenttopics.php b/language/sk/recenttopics.php index 3da15d6..4ed4870 100644 --- a/language/sk/recenttopics.php +++ b/language/sk/recenttopics.php @@ -23,7 +23,7 @@ 'RECENT_TOPICS' => 'Najnovšie témy', 'RT_NO_TOPICS' => 'Nie sú žiadne nové témy na zobrazenie.', 'LIKES' => 'Lajky', - 'VIEWING_RECENT_TOPICS' => 'Prezerá Najnovšie témy', + 'VIEWING_RECENT_TOPICS' => 'Prezerá Najnovšie témy', 'EXTENSION_REQUIRES_330' => 'Toto rozšírenie vyžaduje phpBB 3.3.0 alebo vyššie.', // is_enableable() error messages diff --git a/language/sv/recenttopics.php b/language/sv/recenttopics.php index d2dab47..44a1872 100644 --- a/language/sv/recenttopics.php +++ b/language/sv/recenttopics.php @@ -24,7 +24,7 @@ 'RECENT_TOPICS' => 'Senaste trådar', 'RT_NO_TOPICS' => 'Det finns inga nya trådar att visa.', 'LIKES' => 'Gillningar', - 'VIEWING_RECENT_TOPICS' => 'Visar Senaste trådar', + 'VIEWING_RECENT_TOPICS' => 'Visar Senaste trådar', 'EXTENSION_REQUIRES_330' => 'Detta tillägg kräver phpBB 3.3.0 eller högre.', // is_enableable() error messages diff --git a/language/uk/recenttopics.php b/language/uk/recenttopics.php index a51cd1d..34bd55c 100644 --- a/language/uk/recenttopics.php +++ b/language/uk/recenttopics.php @@ -23,7 +23,7 @@ 'RECENT_TOPICS' => 'Останні Теми', 'RT_NO_TOPICS' => 'Немає нових тем.', 'LIKES' => 'Вподобання', - 'VIEWING_RECENT_TOPICS' => 'Переглядає Останні Теми', + 'VIEWING_RECENT_TOPICS' => 'Переглядає Останні Теми', 'EXTENSION_REQUIRES_330' => 'Це розширення потребує phpBB 3.3.0 або вище.', // is_enableable() error messages diff --git a/tests/language/viewonline_lang_test.php b/tests/language/viewonline_lang_test.php new file mode 100644 index 0000000..51fd77e --- /dev/null +++ b/tests/language/viewonline_lang_test.php @@ -0,0 +1,47 @@ +, and the listener + * passes no argument, so VIEWING_RECENT_TOPICS must be plain text: a nested link with an + * unfilled %s broke the label (#199). + * + * @dataProvider language_data + */ + public function test_viewing_recent_topics_is_plain_text($file) + { + $lang = []; + include $file; + + $this->assertArrayHasKey('VIEWING_RECENT_TOPICS', $lang); + $this->assertStringNotContainsString('<', $lang['VIEWING_RECENT_TOPICS']); + $this->assertStringNotContainsString('%', $lang['VIEWING_RECENT_TOPICS']); + } +} diff --git a/tests/tests.md b/tests/tests.md index 664892c..f5b9346 100644 --- a/tests/tests.md +++ b/tests/tests.md @@ -46,6 +46,8 @@ tests/ │ ├── topic_count_test.php "Show all pages" count uses the forum list │ ├── topic_likes_test.php ACP "Show like counts" setting │ └── recenttopics_events_test.php Public event API contract (contrib/events.md) +├── language/ +│ └── viewonline_lang_test.php Who Is Online label in every language pack └── functional/ └── recenttopics_test.php End-to-end browser tests ``` @@ -208,7 +210,21 @@ It runs `fill_template()` for one topic with a stand-in Post Love service that r --- -## 8. Functional tests (`functional/recenttopics_test.php`) +## 8. Who Is Online label (`language/viewonline_lang_test.php`) + +**What this code does:** +When someone is on `/app.php/rt` or `/app.php/rt/simple`, the listener sets their Who Is Online location to `VIEWING_RECENT_TOPICS` and the link to the page. Core's `viewonline_body.html` wraps that label in its own ``. + +**What this test file does:** +It loads `recenttopics.php` from every language pack and checks that `VIEWING_RECENT_TOPICS` is plain text: no HTML and no `%` placeholder. + +| Test | Scenario | What it verifies | +|------|----------|-----------------| +| `test_viewing_recent_topics_is_plain_text` | Data provider: one row per language pack | The label has no `<` and no `%`. The packs used to carry `…`, which nested a link with an unfilled `%s` inside core's link (#199) | + +--- + +## 9. Functional tests (`functional/recenttopics_test.php`) **What this code does:** These tests start a real phpBB installation (using the test framework's built-in install), enable the extension, and make HTTP requests using a real browser-like crawler (Symfony DomCrawler). They check the actual rendered HTML for specific elements.