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>
6.3 KiB
6.3 KiB
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