wip
This commit is contained in:
@@ -94,7 +94,6 @@ def make_default_props(**overrides):
|
||||
manual_position_x=50.0,
|
||||
manual_position_y=50.0,
|
||||
constrain_to_canvas=True,
|
||||
composition_active_tab="TEXT",
|
||||
image_overlays=[],
|
||||
active_overlay_index=0,
|
||||
)
|
||||
@@ -134,14 +133,24 @@ def test_positioning_section_drops_additional_text(monkeypatch):
|
||||
assert "append_text" not in prop_names
|
||||
|
||||
|
||||
def test_composition_section_shows_text_controls(monkeypatch):
|
||||
"""Composition panel should surface text controls when text tab is active."""
|
||||
def test_composition_section_renders_text_component(monkeypatch):
|
||||
"""Composition panel should show text component controls within the proper section."""
|
||||
layout = FakeLayout()
|
||||
props = make_default_props(
|
||||
composition_active_tab="TEXT",
|
||||
prepend_text="Intro",
|
||||
append_text="Outro",
|
||||
text_component = SimpleNamespace(
|
||||
enabled=True,
|
||||
name="Intro Text",
|
||||
component_type="TEXT",
|
||||
placement_mode="PREPEND",
|
||||
text_content="Intro",
|
||||
text_spacing=10.0,
|
||||
image_spacing=5.0,
|
||||
x_position=0.5,
|
||||
y_position=0.5,
|
||||
scale=1.0,
|
||||
rotation=0.0,
|
||||
z_index=0,
|
||||
)
|
||||
props = make_default_props(image_overlays=[text_component])
|
||||
|
||||
monkeypatch.setattr(panels, "safe_operator_call", lambda *args, **kwargs: SimpleNamespace())
|
||||
monkeypatch.setattr(panels, "has_image_overlays", lambda: True)
|
||||
@@ -151,21 +160,24 @@ def test_composition_section_shows_text_controls(monkeypatch):
|
||||
calls = collect_calls(layout)
|
||||
prop_names = [data["name"] for kind, data in calls if kind == "prop"]
|
||||
labels = [data["text"] for kind, data in calls if kind == "label"]
|
||||
sections = [text for text in labels if "Components" in text]
|
||||
|
||||
assert "composition_active_tab" in prop_names
|
||||
assert "prepend_text" in prop_names
|
||||
assert "append_text" in prop_names
|
||||
assert any("Text" in text for text in labels)
|
||||
assert "component_type" in prop_names
|
||||
assert "text_content" in prop_names
|
||||
assert "placement_mode" in prop_names
|
||||
assert "text_spacing" in prop_names
|
||||
assert "Prepended Components" in sections
|
||||
|
||||
|
||||
def test_composition_section_shows_overlay_controls(monkeypatch):
|
||||
"""Composition panel should surface overlay controls when image tab is active."""
|
||||
def test_composition_section_renders_image_component(monkeypatch):
|
||||
"""Composition panel should show image component controls within the proper section."""
|
||||
layout = FakeLayout()
|
||||
overlay = SimpleNamespace(
|
||||
image_component = SimpleNamespace(
|
||||
enabled=True,
|
||||
name="Logo",
|
||||
component_type="IMAGE",
|
||||
placement_mode="ABSOLUTE",
|
||||
image_path="/tmp/logo.png",
|
||||
positioning_mode="ABSOLUTE",
|
||||
x_position=0.5,
|
||||
y_position=0.5,
|
||||
text_spacing=10.0,
|
||||
@@ -174,10 +186,7 @@ def test_composition_section_shows_overlay_controls(monkeypatch):
|
||||
rotation=0.0,
|
||||
z_index=1,
|
||||
)
|
||||
props = make_default_props(
|
||||
composition_active_tab="IMAGE",
|
||||
image_overlays=[overlay],
|
||||
)
|
||||
props = make_default_props(image_overlays=[image_component])
|
||||
|
||||
monkeypatch.setattr(panels, "safe_operator_call", lambda *args, **kwargs: SimpleNamespace())
|
||||
monkeypatch.setattr(panels, "has_image_overlays", lambda: True)
|
||||
@@ -187,7 +196,10 @@ def test_composition_section_shows_overlay_controls(monkeypatch):
|
||||
calls = collect_calls(layout)
|
||||
prop_names = [data["name"] for kind, data in calls if kind == "prop"]
|
||||
labels = [data["text"] for kind, data in calls if kind == "label"]
|
||||
sections = [text for text in labels if "Components" in text]
|
||||
|
||||
assert "composition_active_tab" in prop_names
|
||||
assert "positioning_mode" in prop_names
|
||||
assert any("Image" in text for text in labels)
|
||||
assert "component_type" in prop_names
|
||||
assert "image_path" in prop_names
|
||||
assert "placement_mode" in prop_names
|
||||
assert "x_position" in prop_names
|
||||
assert "Absolute Components" in sections
|
||||
|
||||
Reference in New Issue
Block a user