예제 #1
0
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"
예제 #2
0
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"
예제 #3
0
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"]
예제 #4
0
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"]
예제 #5
0
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
예제 #6
0
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"
예제 #7
0
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"
예제 #8
0
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"
예제 #9
0
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_()
예제 #10
0
def test_token(token, result):
    options = ["First Token", "Another One"]
    Translator(get_folder("i18n"))
    assert Translator.get(token, options) == result
예제 #11
0
def test_non_iniialized():
    Translator._singleton = None
    with pytest.raises(RuntimeError):
        Translator.get("TEST")
예제 #12
0
def test_token(token, result):
    options = ["First Token", "Another One"]
    Translator(MockManager(), get_folder("i18n"))
    assert Translator.get(token, options) == result
예제 #13
0
def test_non_iniialized():
    Translator._singleton = None
    with pytest.raises(RuntimeError):
        Translator.get("TEST")
예제 #14
0
def test_token(token, result):
    options = ["First Token", "Another One"]
    Translator(get_folder("i18n"))
    assert Translator.get(token, values=options) == result