def test_load_file(): Translator(get_folder("i18n")) # Verify the call to save assert Translator.locale() == "en" # Change to an existing language Translator.set("fr") assert Translator.locale() == "fr" # Test unkown key assert Translator.get("BOUZOUF") == "BOUZOUF" # Test fallback assert Translator.get("FALLBACK") == "Fallback" # Try to switch to bad language with pytest.raises(ValueError): Translator.set("abcd") assert Translator.locale() == "fr" # Go back to an existing one Translator.set("en") assert Translator.locale() == "en" assert Translator.get("BOUZOUF") == "BOUZOUF" # Change to an existing composed language Translator.set("de-DE") assert Translator.locale() == "de-DE" assert Translator.get("CONNECTION_REFUSED") == "Connection refused"
def test_load_file(): Translator(get_folder("i18n")) # Verify the call to save assert Translator.locale() == "en" # Change to an existing language Translator.set("fr") assert Translator.locale() == "fr" # Test unknown key assert Translator.get("BOUZOUF") == "BOUZOUF" # Test fallback assert Translator.get("FALLBACK") == "Fallback" # Try to switch to bad language with pytest.raises(ValueError): Translator.set("abcd") assert Translator.locale() == "fr" # Go back to an existing one Translator.set("en") assert Translator.locale() == "en" assert Translator.get("BOUZOUF") == "BOUZOUF" # Change to an existing composed language Translator.set("de-DE") assert Translator.locale() == "de-DE" assert Translator.get("CONNECTION_REFUSED") == "Connection refused"
def test_translate_twice(): """ Check that the values array is not mutated. """ Translator(get_folder("i18n")) values = ["value"] first = Translator.get("TOKEN_NORMAL", values) second = Translator.get("TOKEN_NORMAL", values) assert first == second assert values == ["value"]
def test_translate_twice(): """ Check that the values array is not mutated. """ Translator(MockManager(), get_folder("i18n")) values = ["value"] first = Translator.get("TOKEN_NORMAL", values) second = Translator.get("TOKEN_NORMAL", values) assert first == second assert values == ["value"]
def test_translate_twice_different_values(): """ Check that the values array is taken into account in the LRU cache. """ Translator(get_folder("i18n")) values1 = ["value1"] values2 = ["value2"] first = Translator.get("TOKEN_NORMAL", values=values1) second = Translator.get("TOKEN_NORMAL", values=values2) assert first != second
def test_load_existing_language(): Translator(get_folder("i18n"), "fr") # Should not fallback on en assert Translator.locale() == "fr" # Test the key fallback assert Translator.get("FALLBACK") == "Fallback" assert Translator.get("LANGUAGE") == "Fran\xe7ais" assert Translator.get("BOUZOUF") == "BOUZOUF"
def test_load_existing_language(): Translator(MockManager(), get_folder("i18n"), "fr") # Should not fallback on en assert Translator.locale() == "fr" # Test the key fallback assert Translator.get("FALLBACK") == "Fallback" assert Translator.get("LANGUAGE") == "Fran\xe7ais" assert Translator.get("BOUZOUF") == "BOUZOUF"
def test_load_file(): manager = MockManager() Translator(manager, get_folder("i18n")) # Verify the call to save assert manager.called assert Translator.locale() == "en" manager.called = False # Change to an existing language Translator.set("fr") assert manager.called assert Translator.locale() == "fr" # Test unkown key assert Translator.get("BOUZOUF") == "BOUZOUF" # Test fallback assert Translator.get("FALLBACK") == "Fallback" manager.called = False # Try to switch to bad language with pytest.raises(ValueError): Translator.set("abcd") assert Translator.locale() == "fr" # Nothing should be saved assert not manager.called # Go back to an existing one Translator.set("en") assert manager.called assert Translator.locale() == "en" assert Translator.get("BOUZOUF") == "BOUZOUF" # Change to an existing composed language Translator.set("de-DE") assert Translator.locale() == "de-DE" assert Translator.get("CONNECTION_REFUSED") == "Connection refused"
def check_executable_path_error_qt(path: Path, /) -> None: """Display an error using Qt about the app not running from the right path.""" from nxdrive.qt import constants as qt from nxdrive.qt.imports import QApplication, QMessageBox, QPixmap from nxdrive.translator import Translator from nxdrive.utils import find_icon, find_resource app = QApplication([]) app.setQuitOnLastWindowClosed(True) Translator(find_resource("i18n")) content = Translator.get("RUNNING_FROM_WRONG_PATH", values=[str(path), f"{APP_NAME}.app"]) icon = QPixmap(str(find_icon("app_icon.svg"))) msg = QMessageBox() msg.setIconPixmap(icon) msg.setText(content) msg.setWindowTitle(APP_NAME) msg.addButton(Translator.get("QUIT"), qt.AcceptRole) msg.exec_()
def test_token(token, result): options = ["First Token", "Another One"] Translator(get_folder("i18n")) assert Translator.get(token, options) == result
def test_non_iniialized(): Translator._singleton = None with pytest.raises(RuntimeError): Translator.get("TEST")
def test_token(token, result): options = ["First Token", "Another One"] Translator(MockManager(), get_folder("i18n")) assert Translator.get(token, options) == result
def test_token(token, result): options = ["First Token", "Another One"] Translator(get_folder("i18n")) assert Translator.get(token, values=options) == result