Files
AnyImage/tests/test_pack.py
nan d694980da7 feat: Add BEN2 background removal functionality and integrate into SnapForm
- Introduced BEN2 model for background removal in the panel and properties.
- Updated runtime to handle background removal commands and model downloads.
- Implemented background removal logic in worker, including image processing and saving results.
- Enhanced tests to cover new background removal features and ensure proper integration.
- Updated version to 0.9.28 to reflect new features and improvements.
2026-08-03 20:18:00 +08:00

43 lines
1.3 KiB
Python

import importlib.util
import tempfile
import unittest
from pathlib import Path
from zipfile import ZipFile
PROJECT_ROOT = Path(__file__).resolve().parents[1]
def load_pack():
specification = importlib.util.spec_from_file_location(
"snapform_pack",
PROJECT_ROOT / "pack.py",
)
module = importlib.util.module_from_spec(specification)
specification.loader.exec_module(module)
return module
class PackTest(unittest.TestCase):
def test_builds_extension_root_layout(self):
pack = load_pack()
with tempfile.TemporaryDirectory() as directory:
original_dist = pack.DIST_DIR
pack.DIST_DIR = Path(directory)
try:
output_path = pack.build_extension()
finally:
pack.DIST_DIR = original_dist
self.assertEqual(output_path.name, "SnapForm.v0.9.28.zip")
with ZipFile(output_path) as archive:
names = set(archive.namelist())
self.assertIn("__init__.py", names)
self.assertIn("blender_manifest.toml", names)
self.assertIn("image_depth.py", names)
self.assertNotIn("snapform_depth_plane.py", names)
self.assertIn("worker.py", names)
self.assertNotIn("importer.py", names)
self.assertNotIn("snapform/__init__.py", names)