Minor fixes to testing whether a demo exists. #14

Merged
yrriban merged 1 commit from iss13 into trunk 2026-01-19 18:09:33 +00:00
2 changed files with 32 additions and 2 deletions
Showing only changes of commit 116c21456f - Show all commits

View file

@ -132,8 +132,10 @@ class WadMap(Wad):
] ]
if len(candidates) == 0: if len(candidates) == 0:
raise Exception( raise Exception(
"no suitable demo candidates for WAD {} MAP {} name {}.".format( "no suitable demo candidates for WAD {} MAP {}{}.".format(
self.wad, self.map, self.name_string self.wad,
self.map,
f" name {self._name}" if self._name else "",
) )
) )
if len(candidates) == 1: if len(candidates) == 1:

28
tests/doom_base_test.py Normal file
View file

@ -0,0 +1,28 @@
import doomcc.doom_base
import os
import pathlib
import pytest
import tempfile
class Workbench:
pass
def test_demo_in_path():
w = Workbench()
w.demo_in_path = lambda: doomcc.doom_base.WadMap.demo_in_path(w)
w._file_base = lambda path: doomcc.doom_base.WadMap._file_base(w, path)
w.wad = pathlib.Path("scythe")
w.map = "01"
w.name_string = "_index"
w._name = "index"
with tempfile.TemporaryDirectory() as td:
w.demos = pathlib.Path(td)
with pytest.raises(Exception):
w.demo_in_path()
dp = pathlib.Path(td).joinpath("scythe")
os.mkdir(dp)
dp.joinpath("scythe_map01_index.lmp").touch()
assert w.demo_in_path() == dp.joinpath("scythe_map01_index.lmp")
dp.joinpath("scythe_map01_index-00028.lmp").touch()
assert w.demo_in_path() == dp.joinpath("scythe_map01_index-00028.lmp")