import shutil from pathlib import Path import mangadlp.utils as utils def test_existence_true(): path = "tests/test_file" nocbz = False test = utils.check_existence(path, nocbz) assert test def test_existence_true_nocbz(): path = "tests/test_file" nocbz = True test = utils.check_existence(path, nocbz) assert test def test_existence_false(): path = "tests/test_file_nonexistent" nocbz = False test = utils.check_existence(path, nocbz) assert not test def test_existence_false_nocbz(): path = "tests/test_file_nonexistent" nocbz = True test = utils.check_existence(path, nocbz) assert not test def test_archive_true(): img_path = Path("tests/test_dir") archive_path = Path("tests/test_dir.cbz") img_path.mkdir(parents=True, exist_ok=True) for n in range(5): img_name = img_path / f"page{n}" img_name.with_suffix(".png").touch(exist_ok=True) assert utils.make_archive("tests/test_dir") assert archive_path.exists() # cleanup archive_path.unlink(missing_ok=True) img_path.with_suffix(".zip").unlink(missing_ok=True) shutil.rmtree(img_path, ignore_errors=True) def test_archive_false(): archive_path = Path("tests/test_dir2.cbz") assert not utils.make_archive("tests/test_dir2") assert not archive_path.exists() def test_chapter_list(): chapters_in = "1-4,8,11,14-15,22" chapters_out = ["1", "2", "3", "4", "8", "11", "14", "15", "22"] assert utils.get_chapter_list(chapters_in) == chapters_out def test_chapter_list_forcevol(): chapters_in = "1:1-1:4,2:8,3:11,4:14-4:15,5:22" chapters_out = ["1:1", "1:2", "1:3", "1:4", "2:8", "3:11", "4:14", "4:15", "5:22"] assert utils.get_chapter_list(chapters_in) == chapters_out def test_fix_name(): filename_in1 = "..hello?; @test1-*<>test2.cbz" filename_in2 = "!hello: >test1-/test2