# retoor import re import pytest PAGES = ["/", "/roll", "/standard", "/flyers", "/memes", "/people", "/people/retoor", "/join", "/terms", "/privacy", "/auth/login", "/docs", "/docs/welcome", "/docs/api/content"] DUTCH = ("Ik schrijf mee", "Mensen", "Binnen", "Voorwaarden", "Inloggen", "Meldingen", "Beheer", "Naar inhoud", "Nog niets", "Intro bewerken", "Een zes is", "Eenendertig", "Gezet in serif", "Verder lezen") @pytest.mark.parametrize("path", PAGES) def test_pages_are_english(anon, path): html = anon.get(path).text assert '' in html assert 'content="en_US"' in html visible = re.sub(r"", "", html, flags=re.S) for word in DUTCH: assert word not in visible, (path, word) def test_nav_uses_english_paths(anon): html = anon.get("/").text for href, label in (("/roll", "Roll"), ("/standard", "Standard"), ("/people", "People"), ("/join", "Join")): assert f'href="{href}"' in html and f">{label}" in html for old in ('href="/rol"', 'href="/standaard"', 'href="/mensen"', 'href="/binnen"', 'href="/voorwaarden"'): assert old not in html assert ">I'm in" in html or ">I'm in" in html def test_admin_sees_edit_intro(admin): html = admin.get("/").text assert "Edit intro" in html assert "Intro bewerken" not in html def test_sitemap_lists_english_paths(anon): xml = anon.get("/sitemap.xml").text for path in ("/roll<", "/standard<", "/people<", "/join<", "/terms<", "/docs/welcome<"): assert path in xml, path for old in ("/rol<", "/mensen", "/binnen", "/voorwaarden", "/docs/welkom"): assert old not in xml, old def test_gallery_captions_are_english(anon): flyers = anon.get("/flyers", headers={"Accept": "application/json"}).json()["items"] captions = {item["caption"] for item in flyers} assert "Taste does not autocomplete." in captions assert not any(" geen " in f" {caption.lower()} " or " een " in f" {caption.lower()} " for caption in captions) def test_english_migration_helpers(): from molodetz.bootstrap import _translate_notification assert _translate_notification("Ada wil meeschrijven") == "Ada wants to write along" assert _translate_notification("Gepubliceerd: Geen cursus.") == "Published: No course." assert _translate_notification("Back-up database klaar") == "Backup database finished" assert _translate_notification("Je API-sleutel is vernieuwd.") == "Your API key was renewed." assert _translate_notification("Already English") == "Already English"