mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-05-06 08:26:45 -03:00
fix(prompt): invalidate dynamic wildcard cache without seed (#895)
This commit is contained in:
@@ -59,3 +59,26 @@ def test_text_lm_input_types_expose_input_only_seed():
|
||||
assert seed_type == "INT"
|
||||
assert seed_options["forceInput"] is True
|
||||
assert "wildcard generation" in seed_options["tooltip"]
|
||||
|
||||
|
||||
def test_text_lm_is_changed_forces_rerun_without_seed_when_text_is_dynamic():
|
||||
result = TextLM.IS_CHANGED("__flower__", seed=None)
|
||||
|
||||
assert result != result
|
||||
|
||||
|
||||
def test_text_lm_is_changed_keeps_cache_for_seeded_or_static_text():
|
||||
assert TextLM.IS_CHANGED("__flower__", seed=7) is False
|
||||
assert TextLM.IS_CHANGED("plain text", seed=None) is False
|
||||
assert TextLM.IS_CHANGED("{red|blue}", seed=7) is False
|
||||
|
||||
|
||||
def test_prompt_lm_is_changed_forces_rerun_without_seed_when_text_is_dynamic():
|
||||
result = PromptLM.IS_CHANGED("{red|blue}", clip="clip", seed=None)
|
||||
|
||||
assert result != result
|
||||
|
||||
|
||||
def test_prompt_lm_is_changed_keeps_cache_for_seeded_or_static_text():
|
||||
assert PromptLM.IS_CHANGED("__flower__", clip="clip", seed=11) is False
|
||||
assert PromptLM.IS_CHANGED("plain text", clip="clip", seed=None) is False
|
||||
|
||||
@@ -2,7 +2,7 @@ from __future__ import annotations
|
||||
|
||||
import json
|
||||
|
||||
from py.services.wildcard_service import WildcardService
|
||||
from py.services.wildcard_service import WildcardService, contains_dynamic_syntax
|
||||
|
||||
|
||||
def _make_service(monkeypatch, tmp_path):
|
||||
@@ -121,3 +121,10 @@ def test_expand_text_leaves_unresolved_reference_visible(monkeypatch, tmp_path):
|
||||
wildcards_dir.mkdir()
|
||||
|
||||
assert service.expand_text("__missing__", seed=1) == "__missing__"
|
||||
|
||||
|
||||
def test_contains_dynamic_syntax_detects_wildcards_and_options():
|
||||
assert contains_dynamic_syntax("plain text") is False
|
||||
assert contains_dynamic_syntax("__flower__") is True
|
||||
assert contains_dynamic_syntax("{red|blue}") is True
|
||||
assert contains_dynamic_syntax("{2$$, $$red|blue|green}") is True
|
||||
|
||||
Reference in New Issue
Block a user