mirror of
https://github.com/ModOrganizer2/modorganizer-plugin_python.git
synced 2026-07-27 14:03:33 -07:00
36 lines
867 B
Python
36 lines
867 B
Python
import mobase
|
|||
|
|
import pytest
|
||
|
|
|
||
|
|
m = pytest.importorskip("mobase_tests.guessed_string")
|
||
|
|
|
||
|
|
|
||
|
|
def test_guessed_string():
|
||
|
|
|
||
|
|
# empty string
|
||
|
|
gs = mobase.GuessedString()
|
||
|
|
|
||
|
|
assert len(gs.variants()) == 0
|
||
|
|
assert not gs.variants()
|
||
|
|
assert str(gs) == ""
|
||
|
|
|
||
|
|
# automatic conversion from string
|
||
|
|
assert m.get_value("test") == "test"
|
||
|
|
assert m.get_variants("test") == {"test"}
|
||
|
|
|
||
|
|
# update
|
||
|
|
gs = mobase.GuessedString("fallback", mobase.GuessQuality.FALLBACK)
|
||
|
|
assert str(gs) == "fallback"
|
||
|
|
|
||
|
|
gs.update("good", mobase.GuessQuality.GOOD)
|
||
|
|
assert str(gs) == "good"
|
||
|
|
assert gs.variants() == {"fallback", "good"}
|
||
|
|
|
||
|
|
# back-and-forth
|
||
|
|
gs = mobase.GuessedString()
|
||
|
|
assert str(gs) == ""
|
||
|
|
|
||
|
|
m.set_from_callback(gs, lambda gs: gs.update("test"))
|
||
|
|
assert str(gs) == "test"
|
||
|
|
|
||
|
|
assert m.get_from_callback(lambda gs: gs.update("test")) == "test"
|