Spaces:
Running
Running
| from poetic.styles import DEFAULT_IMAGE_STYLE, apply_image_style, is_image_style_id | |
| def test_recognizes_only_supported_style_ids(): | |
| assert is_image_style_id("inkWash") is True | |
| assert is_image_style_id("posterColor") is True | |
| assert is_image_style_id("oilPainting") is False | |
| def test_appends_curated_style_clause(): | |
| brief = apply_image_style("A lotus pond at dawn.", "watercolor") | |
| assert "A lotus pond at dawn." in brief | |
| assert "selected visual style is authoritative" in brief | |
| assert "soft transparent watercolor painting" in brief | |
| def test_realistic_style_overrides_chinese_painting_wording(): | |
| brief = apply_image_style("A shui-mo Chinese painting of red flowers.", "realistic") | |
| assert "Selected style / 已选画风: Realistic / 写实" in brief | |
| assert "selection is mandatory" in brief | |
| assert "Avoid stylized Chinese painting" in brief | |
| assert "red flowers" in brief | |
| assert "A shui-mo Chinese painting of red flowers." not in brief | |
| def test_removes_conflicting_art_direction_words_from_realistic_prompts(): | |
| brief = apply_image_style( | |
| "A watercolor Chinese ink-wash shan-shui painting of red blossoms" | |
| " on antique paper with decorative seal motifs.", | |
| "realistic", | |
| ) | |
| marker = "Real-world scene description extracted from the poem, with conflicting art-style words removed:" | |
| cleaned_scene = brief.split(marker)[1].split("Make it look like a believable real-world scene first")[0] | |
| assert "red blossoms" in cleaned_scene | |
| assert "believable real-world scene" in brief | |
| assert "on with" not in cleaned_scene | |
| assert "watercolor Chinese ink-wash shan-shui painting" not in cleaned_scene | |
| assert "antique paper" not in cleaned_scene | |
| assert "decorative seal motifs" not in cleaned_scene | |
| def test_defaults_to_watercolor(): | |
| assert DEFAULT_IMAGE_STYLE == "watercolor" | |
| assert "soft transparent watercolor painting" in apply_image_style("A mountain.") | |