Files
jaidaken f09734b0ee
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
Add custom nodes, Civitai loras (LFS), and vast.ai setup script
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>
2026-02-09 00:56:42 +00:00

187 lines
6.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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: `&`, `<`, `>`, `=`
- 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
```bash
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
```bash
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
```bash
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
```bash
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
```bash
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
```bash
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:
1.**Error Handling** - Missing wildcard files, circular references
2.**UTF-8 Encoding** - Multi-language support (emoji, CJK, RTL)
3.**Edge Cases** - Empty lines, whitespace, long lines, special chars
4.**Deep Nesting** - 7-level transitive expansion
5.**Comment Handling** - Lines starting with `#`
6.**Case Insensitivity** - Case-insensitive wildcard matching
7.**Pattern Matching** - `__*/name__` syntax
8.**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