Some checks failed
Python Linting / Run Ruff (push) Has been cancelled
Python Linting / Run Pylint (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.10, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.11, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.12, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-unix-nightly (12.1, , linux, 3.11, [self-hosted Linux], nightly) (push) Has been cancelled
Execution Tests / test (macos-latest) (push) Has been cancelled
Execution Tests / test (ubuntu-latest) (push) Has been cancelled
Execution Tests / test (windows-latest) (push) Has been cancelled
Test server launches without errors / test (push) Has been cancelled
Unit Tests / test (macos-latest) (push) Has been cancelled
Unit Tests / test (ubuntu-latest) (push) Has been cancelled
Unit Tests / test (windows-2022) (push) Has been cancelled
Includes 30 custom nodes committed directly, 7 Civitai-exclusive loras stored via Git LFS, and a setup script that installs all dependencies and downloads HuggingFace-hosted models on vast.ai. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Test Wildcard Files Documentation
This directory contains test wildcard files created to validate various features and edge cases of the wildcard system.
Test Categories
1. Error Handling Tests
test_error_cases.txt
- Purpose: Test handling of non-existent wildcard references
- Contains: References to
__nonexistent_wildcard__that should be handled gracefully - Expected: System should not crash, provide meaningful error or leave unexpanded
test_circular_a.txt + test_circular_b.txt
- Purpose: Test circular reference detection (A→B→A)
- Contains: Mutual references between two wildcards
- Expected: System should detect cycle and prevent infinite loop (max 100 iterations)
2. Encoding Tests
test_encoding_utf8.txt
- Purpose: Test UTF-8 multi-language support
- Contains:
- Emoji: 🌸🌺🌼🌻🌷
- Japanese: さくら, はな, 美しい花, 桜の木
- Chinese: 花, 玫瑰, 莲花, 牡丹
- Korean: 꽃, 장미, 벚꽃
- Arabic (RTL): زهرة, وردة
- Mixed:
🌸 beautiful 美しい flower زهرة 꽃
- Expected: All characters render correctly, no encoding errors
test_encoding_emoji.txt
- Purpose: Test emoji handling across categories
- Contains: Nature, animals, food, hearts, and mixed emoji with text
- Expected: Emojis render correctly in results
test_encoding_special.txt
- Purpose: Test special Unicode characters
- Contains:
- Mathematical symbols: ∀∂∃∅∆∇∈∉
- Greek letters: α β γ δ ε ζ
- Currency: $ € £ ¥ ₹ ₽ ₩
- Box drawing: ┌─┬─┐
- Diacritics: Café résumé naïve Zürich
- Special punctuation: … — – • · °
- Expected: All symbols preserved correctly
3. Edge Case Tests
test_edge_empty_lines.txt
- Purpose: Test handling of empty lines and whitespace-only lines
- Contains: Options separated by variable empty lines
- Expected: Empty lines ignored, only non-empty options selected
test_edge_whitespace.txt
- Purpose: Test leading/trailing whitespace handling
- Contains: Options with tabs, spaces, mixed whitespace
- Expected: Whitespace handling according to parser rules
test_edge_long_lines.txt
- Purpose: Test very long line handling
- Contains:
- Short lines
- Medium lines (~100 chars)
- Very long lines with spaces (>200 chars)
- Ultra-long lines without spaces (continuous text)
- Expected: No truncation or memory issues, proper handling
test_edge_special_chars.txt
- Purpose: Test special characters that might cause parsing issues
- Contains:
- Embedded wildcard syntax:
__wildcard__as literal text - Dynamic prompt syntax:
{option|option}as literal text - Regex special chars:
.,*,+,?,|,\,$,^ - Quote characters:
",',` - HTML special chars:
&,<,>,=
- Embedded wildcard syntax:
- Expected: Special chars treated as literal text in final output
test_edge_case_insensitive.txt
- Purpose: Validate case-insensitive wildcard matching
- Contains: Options in various case patterns
- Expected:
__test_edge_case_insensitive__and__TEST_EDGE_CASE_INSENSITIVE__return same results
test_comments.txt
- Purpose: Test comment handling with
#prefix - Contains: Lines starting with
#mixed with valid options - Expected: Comment lines ignored, only non-comment lines selected
4. Deep Nesting Tests (7 levels)
test_nesting_level1.txt → test_nesting_level7.txt
- Purpose: Test transitive wildcard expansion up to 7 levels
- Structure:
- Level 1 → references Level 2
- Level 2 → references Level 3
- ...
- Level 7 → final options (no further references)
- Usage: Access
__test_nesting_level1__to trigger 7-level expansion - Expected: All levels expand correctly, result from level 7 appears
5. Syntax Feature Tests
test_quantifier.txt
- Purpose: Test quantifier syntax
N#__wildcard__ - Contains: List of color options
- Usage:
3#__test_quantifier__should expand to 3 repeated wildcards - Expected: Correct repetition and expansion
test_pattern_match.txt
- Purpose: Test pattern matching
__*/name__ - Contains: Options with identifiable pattern
- Usage:
__*/test_pattern_match__should match this file - Expected: Depth-agnostic matching works correctly
Test Usage Examples
Basic Test
curl -X POST http://127.0.0.1:8188/impact/wildcards \
-H "Content-Type: application/json" \
-d '{"text": "__test_encoding_emoji__", "seed": 42}'
Nesting Test
curl -X POST http://127.0.0.1:8188/impact/wildcards \
-H "Content-Type: application/json" \
-d '{"text": "__test_nesting_level1__", "seed": 42}'
Error Handling Test
curl -X POST http://127.0.0.1:8188/impact/wildcards \
-H "Content-Type: application/json" \
-d '{"text": "__test_error_cases__", "seed": 42}'
Circular Reference Test
curl -X POST http://127.0.0.1:8188/impact/wildcards \
-H "Content-Type: application/json" \
-d '{"text": "__test_circular_a__", "seed": 42}'
Quantifier Test
curl -X POST http://127.0.0.1:8188/impact/wildcards \
-H "Content-Type: application/json" \
-d '{"text": "3#__test_quantifier__", "seed": 42}'
Pattern Matching Test
curl -X POST http://127.0.0.1:8188/impact/wildcards \
-H "Content-Type: application/json" \
-d '{"text": "__*/test_pattern_match__", "seed": 42}'
Test Coverage
These test files address the following critical gaps identified in the test coverage analysis:
- ✅ Error Handling - Missing wildcard files, circular references
- ✅ UTF-8 Encoding - Multi-language support (emoji, CJK, RTL)
- ✅ Edge Cases - Empty lines, whitespace, long lines, special chars
- ✅ Deep Nesting - 7-level transitive expansion
- ✅ Comment Handling - Lines starting with
# - ✅ Case Insensitivity - Case-insensitive wildcard matching
- ✅ Pattern Matching -
__*/name__syntax - ✅ Quantifiers -
N#__wildcard__syntax
Expected Test Results
All tests should:
- Not crash the system
- Return valid results or graceful error messages
- Preserve character encoding correctly
- Handle edge cases without data corruption
- Respect the 100-iteration limit for circular references
- Demonstrate deterministic behavior with same seed
Created: 2025-11-18 Purpose: Test coverage validation for wildcard system Total Files: 21 test wildcard files