Files
ltdrdata-ComfyUI-Impact-Pack/tests
..

Wildcard System Test Suite

Comprehensive test suite for ComfyUI Impact Pack wildcard system.

Test Suites

test_encoding.sh (15 tests)

Purpose: UTF-8 multi-language encoding validation Port: 8198 Coverage:

  • Korean Hangul characters
  • Emoji support
  • Chinese characters
  • Arabic RTL text
  • Mathematical and currency symbols
  • Mixed multi-language content
  • UTF-8 in dynamic prompts, quantifiers, multi-select

test_error_handling.sh (10 tests)

Purpose: Graceful error handling verification Port: 8197 Coverage:

  • Non-existent wildcards
  • Circular reference detection (max 100 iterations)
  • Malformed syntax
  • Deep nesting without crashes
  • Multiple circular references

test_edge_cases.sh (20 tests)

Purpose: Edge case and boundary condition validation Port: 8196 Coverage:

  • Empty lines and whitespace filtering
  • Very long lines (>1000 characters)
  • Special characters preservation
  • Case-insensitive matching
  • Comment line filtering
  • Pattern matching (*/name)
  • Quantifiers (N#wildcard)
  • Complex syntax combinations

test_deep_nesting.sh (17 tests)

Purpose: Transitive wildcard expansion and depth-agnostic pattern matching Port: 8194 Coverage:

  • 7-level transitive expansion (directory depth + file references)
  • All depth levels (1-7) individually
  • Mixed depth combinations
  • Nesting with quantifiers and multi-select
  • Nesting with weighted selection
  • Depth-agnostic pattern matching (__*/name__)
  • Complex multi-wildcard prompts

test_ondemand_loading.sh (8 tests)

Purpose: Progressive on-demand wildcard loading Port: 8193 Coverage:

  • Small cache (1MB) - on-demand enabled
  • Moderate cache (10MB) - progressive loading
  • Large cache (100MB) - eager loading
  • Aggressive lazy loading (0.5MB)
  • Balanced mode (50MB default)
  • On-demand with deep nesting
  • On-demand with multiple wildcards
  • Cache boundary testing

test_config_quotes.sh (5 tests)

Purpose: Configuration path handling validation Port: 8192 Coverage:

  • Unquoted paths
  • Double-quoted paths
  • Single-quoted paths
  • Paths with spaces
  • Mixed quote scenarios

test_dynamic_prompts_full.sh (11 tests)

Purpose: Comprehensive dynamic prompt feature validation with statistical analysis Port: 8188 Coverage:

  • Multiselect (4 tests): 2-item, 3-item, single-item, max-item with separator validation
  • Weighted Selection (5 tests): 10:1 ratio, equal weights, extreme bias, multi-level weights, default mixing
  • Basic Selection (2 tests): Simple random, nested selection
  • Statistical distribution verification (100+ iterations per test)
  • Duplicate detection and item count validation
  • Separator correctness validation

Quick Start

# Run individual test
bash test_encoding.sh

# Run all tests
bash test_encoding.sh
bash test_error_handling.sh
bash test_edge_cases.sh
bash test_deep_nesting.sh
bash test_ondemand_loading.sh
bash test_config_quotes.sh
bash test_dynamic_prompts_full.sh

Test Infrastructure

  • Configuration: Each test creates impact-pack.ini with test wildcard path
  • Server Lifecycle: Automatic server start/stop with dedicated ports
  • Cleanup: Automatic cleanup on test completion
  • Logging: Detailed logs in /tmp/*_test.log

Test Samples

Located in wildcards/samples/:

  • 아름다운색.txt - Korean UTF-8 test with 12 symbolic colors
  • test_encoding_*.txt - UTF-8 encoding test files
  • test_edge_*.txt - Edge case test files
  • test_error_*.txt - Error handling test files
  • test_nesting_*.txt - Nesting test files (7 levels)
  • patterns/ - Subdirectory for pattern matching tests

Status

✅ 86 tests, 100% pass rate (15+10+20+17+8+5+11) ✅ Production ready ✅ Complete PRD coverage ✅ On-demand loading validated ✅ Config quotes handling validated ✅ Dynamic prompts statistically validated ✅ Weighted selection verified (correct {weight::option} syntax) ✅ Pattern matching validated (depth-agnostic */name)

Documentation