mirror of
https://github.com/aclist/dztui.git
synced 2026-10-30 14:42:54 +01:00
feat: dzgui 7 alpha
This commit is contained in:
1 parent
1acdbd58c5
commit
2e5b771137
150 files changed
+10359
No files matched your search
@@ -0,0 +1,60 @@
|
||||
import pytest
|
||||
from pathlib import Path
|
||||
|
||||
import dzgui.api.pefile as PeFile
|
||||
from dzgui.api.pefile import (VDFLoadError, AppNotInstalledError, AppMovedError)
|
||||
|
||||
from dzgui.config.query import get_config
|
||||
from dzgui.config.xdg import get_xdg_paths, parse_filepaths
|
||||
from dzgui.const.constants import APPID_DAYZ
|
||||
|
||||
from tests.fixtures import fixture_path
|
||||
pytestmark = pytest.mark.pefile
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def second_drive():
|
||||
return fixture_path("in_library_on_second_drive.vdf")
|
||||
|
||||
@pytest.fixture
|
||||
def default_steam_path():
|
||||
paths = get_xdg_paths()
|
||||
xdg = parse_filepaths(paths)
|
||||
conf = get_config(xdg.config)
|
||||
return conf["default_steam_path"]
|
||||
|
||||
def test_pefile_length(default_steam_path):
|
||||
try:
|
||||
pe_file_path = PeFile.get_pefile_path(
|
||||
Path(default_steam_path), APPID_DAYZ
|
||||
)
|
||||
vers = PeFile.get_dayz_version(pe_file_path)
|
||||
st = PeFile.dayz_version_to_str(vers).split(".")
|
||||
except Exception as e:
|
||||
raise e
|
||||
assert len(st) == 3
|
||||
|
||||
def test_invalid_pefile_path():
|
||||
with pytest.raises(VDFLoadError):
|
||||
try:
|
||||
PeFile.get_pefile_path(Path("/not/a/path"), APPID_DAYZ)
|
||||
except Exception as e:
|
||||
raise e
|
||||
|
||||
|
||||
@pytest.mark.parametrize("fixture, exception", [
|
||||
("not_in_library.vdf", AppNotInstalledError),
|
||||
("in_library_but_bad_path.vdf", AppMovedError),
|
||||
("malformed.vdf", VDFLoadError),
|
||||
])
|
||||
def test_not_in_library(fixture, exception):
|
||||
fixture = fixture_path(fixture)
|
||||
with pytest.raises(exception):
|
||||
try:
|
||||
PeFile.get_app_path(fixture, APPID_DAYZ)
|
||||
except Exception as e:
|
||||
raise e
|
||||
|
||||
def test_on_second_drive(second_drive):
|
||||
path = PeFile.get_app_path(second_drive, APPID_DAYZ)
|
||||
assert path == Path("/tmp")
|
||||
Reference in new issue
Block a user