Skip to content
docsv0.17.0

RendersTheSameComponent

The conformance every surface renderer must satisfy, shipped by the package that owns the contract. The claim this exists to keep honest is the one the architecture is built on: **a component definition is written once and projects on every surface, and adding a surface changes no component.** Two renderers declaring the same list of component names does not establish it — they can drift into rendering different things under matching labels, and nothing would say so. It lives here, and not in a test that imports both surfaces, because such a test cannot exist: `milpa/live-web` and `milpa/live-tui` do not depend on each other and must not start. So the contract package ships the suite and each surface runs it against its own implementation — the same reason `contracts/` outranks any one skill that implements a station. What is asserted is deliberately surface-agnostic. Not "the HTML has a div" or "the frame has a * box" — those are each surface's business. Only that the *component's data reaches the output*, which is the part that must be true everywhere or the promise is empty.

RendersTheSameComponent::test_it_declares_the_target_it_renders_for()

public function test_it_declares_the_target_it_renders_for(): void

Claims its own target and refuses the others.

RendersTheSameComponent::test_an_unmounted_component_is_mounted_and_its_snapshot_returned()

public function test_an_unmounted_component_is_mounted_and_its_snapshot_returned(): void

Mounts when the caller did not, and hands back what it drew.

RendersTheSameComponent::test_the_components_data_reaches_the_output()

public function test_the_components_data_reaches_the_output(): void

The component's data survives the trip to this surface.

RendersTheSameComponent::test_it_renders_the_same_definition_nobody_adapted()

public function test_it_renders_the_same_definition_nobody_adapted(): void

Renders a definition written for no surface in particular.

RendersTheSameComponent::test_a_component_it_does_not_support_is_refused_loudly()

public function test_a_component_it_does_not_support_is_refused_loudly(): void

Refuses a component outside its allow-list instead of drawing something empty.