ui::testing::TestMessageBoxHost¶
Header: winui/testing/TestMessageBoxHost.hpp.
Derives from ui::MessageBoxHost.
MessageBoxHost test double: shows nothing, records every box it was asked for and answers with answer.
Install it with set_message_box_host(); ui::message_box() then reaches it. It uninstalls itself when destroyed.
Example:
ui::testing::TestMessageBoxHost boxes;
ui::testing::set_message_box_host(&boxes);
boxes.answer = ui::MessageBoxResult::No;
const ui::MessageBoxResult result =
ui::message_box({.text = "Save changes?", .buttons = ui::MessageBoxButtons::YesNo});
REQUIRE(result == ui::MessageBoxResult::No);
REQUIRE(boxes.shown.size() == 1);
REQUIRE(boxes.shown[0].text == "Save changes?");
answer¶
What every box answers.
shown¶
Every box shown so far, oldest first.
owners¶
The owner of each box in shown, nullptr for a box without one.
TestMessageBoxHost¶
~TestMessageBoxHost¶
Uninstalls it if it is still the installed host.
TestMessageBoxHost¶
operator=¶
show¶
Appends options to shown and owner to owners, and returns answer.