diff --git a/build/__pycache__/sync_version.cpython-311.pyc b/build/__pycache__/sync_version.cpython-311.pyc index 323d8d7..ce73a6d 100644 Binary files a/build/__pycache__/sync_version.cpython-311.pyc and b/build/__pycache__/sync_version.cpython-311.pyc differ diff --git a/dist/text_texture_generator_v1.0.0.zip b/dist/text_texture_generator_v1.0.0.zip index e6d2cec..ce4029b 100644 Binary files a/dist/text_texture_generator_v1.0.0.zip and b/dist/text_texture_generator_v1.0.0.zip differ diff --git a/dist/text_texture_generator_v1.0.0_free.zip b/dist/text_texture_generator_v1.0.0_free.zip index 68cf2e2..cc708c3 100644 Binary files a/dist/text_texture_generator_v1.0.0_free.zip and b/dist/text_texture_generator_v1.0.0_free.zip differ diff --git a/src/__pycache__/__init__.cpython-311.pyc b/src/__pycache__/__init__.cpython-311.pyc index 71d5f3e..98d687d 100644 Binary files a/src/__pycache__/__init__.cpython-311.pyc and b/src/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/core/__pycache__/__init__.cpython-311.pyc b/src/core/__pycache__/__init__.cpython-311.pyc index 98a5526..df27591 100644 Binary files a/src/core/__pycache__/__init__.cpython-311.pyc and b/src/core/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/core/__pycache__/generation_engine.cpython-311.pyc b/src/core/__pycache__/generation_engine.cpython-311.pyc index cdf83cc..99c3fb0 100644 Binary files a/src/core/__pycache__/generation_engine.cpython-311.pyc and b/src/core/__pycache__/generation_engine.cpython-311.pyc differ diff --git a/src/core/__pycache__/normal_maps.cpython-311.pyc b/src/core/__pycache__/normal_maps.cpython-311.pyc index 3746294..0a31ffa 100644 Binary files a/src/core/__pycache__/normal_maps.cpython-311.pyc and b/src/core/__pycache__/normal_maps.cpython-311.pyc differ diff --git a/src/core/__pycache__/text_fitting.cpython-311.pyc b/src/core/__pycache__/text_fitting.cpython-311.pyc index 51b67c6..6fce800 100644 Binary files a/src/core/__pycache__/text_fitting.cpython-311.pyc and b/src/core/__pycache__/text_fitting.cpython-311.pyc differ diff --git a/src/core/__pycache__/text_processor.cpython-311.pyc b/src/core/__pycache__/text_processor.cpython-311.pyc index 1aba4a3..5a14c5f 100644 Binary files a/src/core/__pycache__/text_processor.cpython-311.pyc and b/src/core/__pycache__/text_processor.cpython-311.pyc differ diff --git a/src/operators/__pycache__/__init__.cpython-311.pyc b/src/operators/__pycache__/__init__.cpython-311.pyc index 0e6542a..e9c57e6 100644 Binary files a/src/operators/__pycache__/__init__.cpython-311.pyc and b/src/operators/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/operators/__pycache__/generation_ops.cpython-311.pyc b/src/operators/__pycache__/generation_ops.cpython-311.pyc index 8bfd308..94159ee 100644 Binary files a/src/operators/__pycache__/generation_ops.cpython-311.pyc and b/src/operators/__pycache__/generation_ops.cpython-311.pyc differ diff --git a/src/operators/__pycache__/preset_ops.cpython-311.pyc b/src/operators/__pycache__/preset_ops.cpython-311.pyc index a810a4d..0882f36 100644 Binary files a/src/operators/__pycache__/preset_ops.cpython-311.pyc and b/src/operators/__pycache__/preset_ops.cpython-311.pyc differ diff --git a/src/operators/__pycache__/utility_ops.cpython-311.pyc b/src/operators/__pycache__/utility_ops.cpython-311.pyc index e7071c5..af24256 100644 Binary files a/src/operators/__pycache__/utility_ops.cpython-311.pyc and b/src/operators/__pycache__/utility_ops.cpython-311.pyc differ diff --git a/src/presets/__pycache__/migration.cpython-311.pyc b/src/presets/__pycache__/migration.cpython-311.pyc index b965d0a..796f6fa 100644 Binary files a/src/presets/__pycache__/migration.cpython-311.pyc and b/src/presets/__pycache__/migration.cpython-311.pyc differ diff --git a/src/presets/__pycache__/storage_system.cpython-311.pyc b/src/presets/__pycache__/storage_system.cpython-311.pyc index 410ba1c..82de7fe 100644 Binary files a/src/presets/__pycache__/storage_system.cpython-311.pyc and b/src/presets/__pycache__/storage_system.cpython-311.pyc differ diff --git a/src/properties/__pycache__/property_groups.cpython-311.pyc b/src/properties/__pycache__/property_groups.cpython-311.pyc index 12cba6f..14b566b 100644 Binary files a/src/properties/__pycache__/property_groups.cpython-311.pyc and b/src/properties/__pycache__/property_groups.cpython-311.pyc differ diff --git a/src/ui/__pycache__/__init__.cpython-311.pyc b/src/ui/__pycache__/__init__.cpython-311.pyc index 9a0a997..93c5f96 100644 Binary files a/src/ui/__pycache__/__init__.cpython-311.pyc and b/src/ui/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/ui/__pycache__/panels.cpython-311.pyc b/src/ui/__pycache__/panels.cpython-311.pyc index d61d935..9720529 100644 Binary files a/src/ui/__pycache__/panels.cpython-311.pyc and b/src/ui/__pycache__/panels.cpython-311.pyc differ diff --git a/src/ui/__pycache__/preview.cpython-311.pyc b/src/ui/__pycache__/preview.cpython-311.pyc index 66c6a85..e9360a7 100644 Binary files a/src/ui/__pycache__/preview.cpython-311.pyc and b/src/ui/__pycache__/preview.cpython-311.pyc differ diff --git a/src/utils/__init__.py b/src/utils/__init__.py index 07aac9c..bce60b0 100644 --- a/src/utils/__init__.py +++ b/src/utils/__init__.py @@ -2,12 +2,40 @@ Utility modules for the Text Texture Generator addon. """ -from .constants import bl_info +from .constants import ( + bl_info, + has_image_overlays, + has_basic_utilities, + has_presets, + has_normal_maps, + has_batch_processing, + has_advanced_utilities, + has_advanced_styling, + has_stroke_effects, + has_blur_effects, + has_shadow_glow_effects, + has_shader_generation, + is_free_version, + is_full_version +) from .system import install_pillow, get_system_fonts, get_font_enum_items __all__ = [ 'bl_info', - 'install_pillow', + 'install_pillow', 'get_system_fonts', - 'get_font_enum_items' + 'get_font_enum_items', + 'has_image_overlays', + 'has_basic_utilities', + 'has_presets', + 'has_normal_maps', + 'has_batch_processing', + 'has_advanced_utilities', + 'has_advanced_styling', + 'has_stroke_effects', + 'has_blur_effects', + 'has_shadow_glow_effects', + 'has_shader_generation', + 'is_free_version', + 'is_full_version' ] \ No newline at end of file diff --git a/src/utils/__pycache__/__init__.cpython-311.pyc b/src/utils/__pycache__/__init__.cpython-311.pyc index 35c05c1..fe60bfe 100644 Binary files a/src/utils/__pycache__/__init__.cpython-311.pyc and b/src/utils/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/utils/__pycache__/constants.cpython-311.pyc b/src/utils/__pycache__/constants.cpython-311.pyc index 0412da5..6efd359 100644 Binary files a/src/utils/__pycache__/constants.cpython-311.pyc and b/src/utils/__pycache__/constants.cpython-311.pyc differ diff --git a/src/utils/__pycache__/system.cpython-311.pyc b/src/utils/__pycache__/system.cpython-311.pyc index 4039c11..743d02e 100644 Binary files a/src/utils/__pycache__/system.cpython-311.pyc and b/src/utils/__pycache__/system.cpython-311.pyc differ diff --git a/tests/__pycache__/conftest.cpython-311-pytest-8.3.5.pyc b/tests/__pycache__/conftest.cpython-311-pytest-8.3.5.pyc index 8d55a21..e488622 100644 Binary files a/tests/__pycache__/conftest.cpython-311-pytest-8.3.5.pyc and b/tests/__pycache__/conftest.cpython-311-pytest-8.3.5.pyc differ diff --git a/tests/integration/__pycache__/__init__.cpython-311.pyc b/tests/integration/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000..5176657 Binary files /dev/null and b/tests/integration/__pycache__/__init__.cpython-311.pyc differ diff --git a/tests/integration/__pycache__/test_text_generation_pipeline.cpython-311-pytest-8.3.5.pyc b/tests/integration/__pycache__/test_text_generation_pipeline.cpython-311-pytest-8.3.5.pyc new file mode 100644 index 0000000..2072785 Binary files /dev/null and b/tests/integration/__pycache__/test_text_generation_pipeline.cpython-311-pytest-8.3.5.pyc differ diff --git a/tests/unit/__pycache__/test_has_image_overlays_import.cpython-311-pytest-8.3.5.pyc b/tests/unit/__pycache__/test_has_image_overlays_import.cpython-311-pytest-8.3.5.pyc new file mode 100644 index 0000000..682df5b Binary files /dev/null and b/tests/unit/__pycache__/test_has_image_overlays_import.cpython-311-pytest-8.3.5.pyc differ diff --git a/tests/unit/__pycache__/test_import_error_handling.cpython-311-pytest-8.3.5.pyc b/tests/unit/__pycache__/test_import_error_handling.cpython-311-pytest-8.3.5.pyc index 9644e29..a8eee0f 100644 Binary files a/tests/unit/__pycache__/test_import_error_handling.cpython-311-pytest-8.3.5.pyc and b/tests/unit/__pycache__/test_import_error_handling.cpython-311-pytest-8.3.5.pyc differ diff --git a/tests/unit/__pycache__/test_text_fitting.cpython-311-pytest-8.3.5.pyc b/tests/unit/__pycache__/test_text_fitting.cpython-311-pytest-8.3.5.pyc new file mode 100644 index 0000000..3a4f0ce Binary files /dev/null and b/tests/unit/__pycache__/test_text_fitting.cpython-311-pytest-8.3.5.pyc differ diff --git a/tests/unit/__pycache__/test_version_differentiation.cpython-311-pytest-8.3.5.pyc b/tests/unit/__pycache__/test_version_differentiation.cpython-311-pytest-8.3.5.pyc index d56a5d6..7602057 100644 Binary files a/tests/unit/__pycache__/test_version_differentiation.cpython-311-pytest-8.3.5.pyc and b/tests/unit/__pycache__/test_version_differentiation.cpython-311-pytest-8.3.5.pyc differ diff --git a/tests/unit/test_has_image_overlays_import.py b/tests/unit/test_has_image_overlays_import.py new file mode 100644 index 0000000..f4f0288 --- /dev/null +++ b/tests/unit/test_has_image_overlays_import.py @@ -0,0 +1,82 @@ +""" +Test to reproduce the has_image_overlays import error. +This test verifies that has_image_overlays can be imported from utils.constants. +""" + +import pytest + + +def test_has_image_overlays_importable_from_constants(): + """Test that has_image_overlays can be imported from utils.constants""" + try: + from src.utils.constants import has_image_overlays + assert callable(has_image_overlays), "has_image_overlays should be a callable function" + except ImportError as e: + pytest.fail(f"Failed to import has_image_overlays from utils.constants: {e}") + + +def test_has_image_overlays_returns_boolean(): + """Test that has_image_overlays returns a boolean value""" + from src.utils.constants import has_image_overlays + result = has_image_overlays() + assert isinstance(result, bool), f"has_image_overlays() should return bool, got {type(result)}" + + +def test_panels_can_import_has_image_overlays(): + """Test that panels.py can successfully import has_image_overlays""" + try: + # Simulate the import as it appears in panels.py line 13 + from src.utils.constants import ( + is_free_version, get_version_badge_text, get_version_badge_icon, + get_upgrade_hint_text, should_show_feature_lock, + get_feature_availability_text, get_version_info_details, + has_image_overlays, has_basic_utilities, has_presets, + has_normal_maps, has_batch_processing, has_advanced_utilities, + has_advanced_styling + ) + + # Verify has_image_overlays is imported + assert has_image_overlays is not None + assert callable(has_image_overlays) + + except ImportError as e: + pytest.fail(f"panels.py-style import failed: {e}") + + +def test_all_feature_check_functions_importable(): + """Test that all feature check functions can be imported""" + try: + from src.utils.constants import ( + has_image_overlays, + has_basic_utilities, + has_presets, + has_normal_maps, + has_batch_processing, + has_advanced_utilities, + has_advanced_styling, + has_stroke_effects, + has_blur_effects, + has_shadow_glow_effects, + has_shader_generation + ) + + # Verify all are callable + functions = [ + has_image_overlays, + has_basic_utilities, + has_presets, + has_normal_maps, + has_batch_processing, + has_advanced_utilities, + has_advanced_styling, + has_stroke_effects, + has_blur_effects, + has_shadow_glow_effects, + has_shader_generation + ] + + for func in functions: + assert callable(func), f"{func.__name__} should be callable" + + except ImportError as e: + pytest.fail(f"Failed to import feature check functions: {e}") \ No newline at end of file