mirror of
https://github.com/Comfy-Org/ComfyUI.git
synced 2026-09-26 07:57:50 -05:00
62 lines
2.0 KiB
Python
62 lines
2.0 KiB
Python
from comfy_api.latest._io import ResolutionPreview
|
|
from comfy_extras.nodes_resolution import ResolutionSelector
|
|
|
|
|
|
def test_resolution_preview_defaults_optional_and_socketless():
|
|
preview = ResolutionPreview.Input("preview")
|
|
|
|
assert preview.optional is True
|
|
assert preview.socketless is True
|
|
|
|
|
|
def test_resolution_preview_serializes_default_widget_names():
|
|
serialized = ResolutionPreview.Input("preview").as_dict()
|
|
|
|
assert serialized["socketless"] is True
|
|
assert serialized["ratio_widget"] == "aspect_ratio"
|
|
assert serialized["megapixels_widget"] == "megapixels"
|
|
assert serialized["multiple_widget"] == "multiple"
|
|
|
|
|
|
def test_resolution_preview_serializes_custom_widget_names():
|
|
serialized = ResolutionPreview.Input(
|
|
"preview",
|
|
ratio_widget="ratio",
|
|
megapixels_widget="mp",
|
|
multiple_widget="resolution_steps",
|
|
).as_dict()
|
|
|
|
assert serialized["ratio_widget"] == "ratio"
|
|
assert serialized["megapixels_widget"] == "mp"
|
|
assert serialized["multiple_widget"] == "resolution_steps"
|
|
|
|
|
|
def test_resolution_preview_carries_no_default_value():
|
|
serialized = ResolutionPreview.Input("preview").as_dict()
|
|
|
|
assert "default" not in serialized
|
|
|
|
|
|
def test_resolution_selector_schema_exposes_optional_preview():
|
|
schema = ResolutionSelector.define_schema()
|
|
preview = next(i for i in schema.inputs if i.id == "preview")
|
|
|
|
assert preview.optional is True
|
|
assert str(preview.get_io_type()) == "RESOLUTION_PREVIEW"
|
|
|
|
|
|
def test_resolution_selector_executes_without_preview():
|
|
"""The frontend never sends the preview value in the API prompt."""
|
|
output = ResolutionSelector.execute("16:9 (Widescreen)", 1.0, 8)
|
|
|
|
assert output.result == (1368, 768)
|
|
|
|
|
|
def test_resolution_selector_ignores_preview_value():
|
|
baseline = ResolutionSelector.execute("3:4 (Portrait Standard)", 2.0, 32)
|
|
with_preview = ResolutionSelector.execute(
|
|
"3:4 (Portrait Standard)", 2.0, 32, preview={"stale": True}
|
|
)
|
|
|
|
assert baseline.result == with_preview.result == (1248, 1664)
|