#!/usr/bin/env python3 """Test that resource paths work correctly.""" import sys from pathlib import Path # Add current directory to path sys.path.insert(0, str(Path.cwd())) from install import get_resource_path def test_resource_path(): """Test get_resource_path function.""" print("Testing get_resource_path() function:") print() test_cases = [ ("img/knoeIcon.png", "App icon"), ("img/knoeLogoSepia.png", "Background logo (sepia)"), ("img/knoeLogo.png", "Main logo"), ("img/knoeLogoBlueprint.png", "Blueprint logo"), ("img/knoeIconblueprint.png", "Blueprint icon"), ] all_passed = True for rel_path, description in test_cases: result = get_resource_path(rel_path) exists = result.exists() status = "✓" if exists else "✗" print(f"{status} {description}") print(f" Path: {rel_path}") print(f" Resolved: {result}") print(f" Exists: {exists}") print() if not exists: all_passed = False return all_passed def test_pyinstaller_simulation(): """Simulate PyInstaller environment.""" print("Simulating PyInstaller environment:") print() # Temporarily set _MEIPASS to simulate PyInstaller test_meipass = Path.cwd() sys._MEIPASS = str(test_meipass) try: result = get_resource_path("img/knoeIcon.png") print(f" sys._MEIPASS: {sys._MEIPASS}") print(f" Resolved path: {result}") print(f" Exists: {result.exists()}") print() return result.exists() finally: # Clean up delattr(sys, "_MEIPASS") if __name__ == "__main__": print("=" * 60) print("Resource Path Tests") print("=" * 60) print() test1 = test_resource_path() test2 = test_pyinstaller_simulation() print("=" * 60) if test1 and test2: print("✓ All tests passed!") print() print("Images will be correctly included in PyInstaller build.") sys.exit(0) else: print("✗ Some tests failed!") sys.exit(1)