Extend app input planning to UI state
This commit is contained in:
@@ -102,6 +102,37 @@ void simple_input_plan_tracks_main_layout_availability(pp::tests::Harness& harne
|
||||
PP_EXPECT(harness, !missing.dispatch_main);
|
||||
}
|
||||
|
||||
void ui_visibility_toggle_plan_flips_state_and_targets_panel_children(pp::tests::Harness& harness)
|
||||
{
|
||||
const auto hidden = pp::app::plan_app_ui_visibility_toggle(true, true, 2U, 4U);
|
||||
const auto visible = pp::app::plan_app_ui_visibility_toggle(false, true, 3U, 1U);
|
||||
|
||||
PP_EXPECT(harness, hidden);
|
||||
PP_EXPECT(harness, !hidden.value().next_ui_visible);
|
||||
PP_EXPECT(harness, hidden.value().first_panel_child_index == 1U);
|
||||
PP_EXPECT(harness, hidden.value().panel_child_count == 4U);
|
||||
PP_EXPECT(harness, visible);
|
||||
PP_EXPECT(harness, visible.value().next_ui_visible);
|
||||
PP_EXPECT(harness, visible.value().panel_child_count == 1U);
|
||||
}
|
||||
|
||||
void ui_visibility_toggle_plan_rejects_missing_panel_container(pp::tests::Harness& harness)
|
||||
{
|
||||
PP_EXPECT(harness, !pp::app::plan_app_ui_visibility_toggle(true, false, 0U, 0U));
|
||||
PP_EXPECT(harness, !pp::app::plan_app_ui_visibility_toggle(true, true, 1U, 0U));
|
||||
}
|
||||
|
||||
void stylus_attach_plan_sets_touch_lock_only_when_canvas_exists(pp::tests::Harness& harness)
|
||||
{
|
||||
const auto with_canvas = pp::app::plan_app_stylus_attach(true);
|
||||
const auto without_canvas = pp::app::plan_app_stylus_attach(false);
|
||||
|
||||
PP_EXPECT(harness, with_canvas.set_has_stylus);
|
||||
PP_EXPECT(harness, with_canvas.enable_canvas_touch_lock);
|
||||
PP_EXPECT(harness, without_canvas.set_has_stylus);
|
||||
PP_EXPECT(harness, !without_canvas.enable_canvas_touch_lock);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
int main()
|
||||
@@ -114,5 +145,8 @@ int main()
|
||||
harness.run("gesture plan rejects invalid input", gesture_plan_rejects_invalid_input);
|
||||
harness.run("key plan tracks state and VR spacebar sync", key_plan_tracks_state_and_vr_spacebar_sync);
|
||||
harness.run("simple input plan tracks main layout availability", simple_input_plan_tracks_main_layout_availability);
|
||||
harness.run("UI visibility toggle plan flips state and targets panel children", ui_visibility_toggle_plan_flips_state_and_targets_panel_children);
|
||||
harness.run("UI visibility toggle plan rejects missing panel container", ui_visibility_toggle_plan_rejects_missing_panel_container);
|
||||
harness.run("stylus attach plan sets touch lock only when canvas exists", stylus_attach_plan_sets_touch_lock_only_when_canvas_exists);
|
||||
return harness.finish();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user