Aria 2.0.0
C++23 MVVM framework (C++20 minimum) — reactive, coroutine-first, ABI-layered
Loading...
Searching...
No Matches
aria::binding::testing::conformance Namespace Reference

Functions

template<class Harness>
BindingEngine make_engine (Harness &h)
template<class Harness>
void run_text_two_way (Harness &h)
 VM → View → VM round trip on a text widget.
template<class Harness>
void run_text_engine_two_way (Harness &h)
 Two-way binding via BindingEngine: VM → View and View → VM both work.
template<class Harness>
void run_bool_two_way (Harness &h)
template<class Harness>
void run_bool_engine_two_way (Harness &h)
template<class Harness>
void run_int_two_way (Harness &h)
template<class Harness>
void run_double_two_way (Harness &h)
template<class Harness>
void run_int64_two_way_via_int_view (Harness &h)
template<class Harness>
void run_uint64_two_way_via_int_view (Harness &h)
template<class Harness>
void run_float_two_way_via_double_view (Harness &h)
template<class Harness>
void run_click (Harness &h)
template<class Harness>
void run_command_enabled (Harness &h)
template<class Harness>
void run_view_destroy_safety (Harness &h)
 When the native view dies before the BindingEngine, property writes that would otherwise reach the adapter must become no-ops.
template<class Harness>
void run_all (Harness &h)

Function Documentation

◆ make_engine()

template<class Harness>
BindingEngine aria::binding::testing::conformance::make_engine ( Harness & h)
inlinenodiscard

◆ run_text_two_way()

template<class Harness>
void aria::binding::testing::conformance::run_text_two_way ( Harness & h)
inline

VM → View → VM round trip on a text widget.

Contract:

  • set_text() is visible via get_text().
  • on_text_changed subscribers fire when user_type arrives.
  • Two-way binding: Property::set pushes to the widget, and user_type flows back into the Property.

◆ run_text_engine_two_way()

template<class Harness>
void aria::binding::testing::conformance::run_text_engine_two_way ( Harness & h)
inline

Two-way binding via BindingEngine: VM → View and View → VM both work.

◆ run_bool_two_way()

template<class Harness>
void aria::binding::testing::conformance::run_bool_two_way ( Harness & h)
inline

◆ run_bool_engine_two_way()

template<class Harness>
void aria::binding::testing::conformance::run_bool_engine_two_way ( Harness & h)
inline

◆ run_int_two_way()

template<class Harness>
void aria::binding::testing::conformance::run_int_two_way ( Harness & h)
inline

◆ run_double_two_way()

template<class Harness>
void aria::binding::testing::conformance::run_double_two_way ( Harness & h)
inline

◆ run_int64_two_way_via_int_view()

template<class Harness>
void aria::binding::testing::conformance::run_int64_two_way_via_int_view ( Harness & h)
inline

◆ run_uint64_two_way_via_int_view()

template<class Harness>
void aria::binding::testing::conformance::run_uint64_two_way_via_int_view ( Harness & h)
inline

◆ run_float_two_way_via_double_view()

template<class Harness>
void aria::binding::testing::conformance::run_float_two_way_via_double_view ( Harness & h)
inline

◆ run_click()

template<class Harness>
void aria::binding::testing::conformance::run_click ( Harness & h)
inline

◆ run_command_enabled()

template<class Harness>
void aria::binding::testing::conformance::run_command_enabled ( Harness & h)
inline

◆ run_view_destroy_safety()

template<class Harness>
void aria::binding::testing::conformance::run_view_destroy_safety ( Harness & h)
inline

When the native view dies before the BindingEngine, property writes that would otherwise reach the adapter must become no-ops.

Every conforming adapter needs to emit the IView::on_destroy signal in such a way that BindingEngine drops the per-view subscription bucket before the view's storage is reclaimed.

◆ run_all()

template<class Harness>
void aria::binding::testing::conformance::run_all ( Harness & h)
inline