Integrate dialog export and Apple service teams
This commit is contained in:
@@ -3,6 +3,51 @@
|
||||
|
||||
namespace {
|
||||
|
||||
class TestProgressDialog final : public pp::app::AppProgressDialog {
|
||||
public:
|
||||
[[nodiscard]] pp::app::AppDialogKind kind() const noexcept override
|
||||
{
|
||||
return pp::app::AppDialogKind::progress;
|
||||
}
|
||||
};
|
||||
|
||||
class TestMessageDialog final : public pp::app::AppMessageDialog {
|
||||
public:
|
||||
[[nodiscard]] pp::app::AppDialogKind kind() const noexcept override
|
||||
{
|
||||
return pp::app::AppDialogKind::message;
|
||||
}
|
||||
};
|
||||
|
||||
class TestInputDialog final : public pp::app::AppInputDialog {
|
||||
public:
|
||||
[[nodiscard]] pp::app::AppDialogKind kind() const noexcept override
|
||||
{
|
||||
return pp::app::AppDialogKind::input;
|
||||
}
|
||||
};
|
||||
|
||||
class TestDialogFactory final : public pp::app::AppDialogFactory {
|
||||
public:
|
||||
std::shared_ptr<pp::app::AppProgressDialog> show_progress_dialog(
|
||||
const pp::app::AppProgressDialogPlan&) override
|
||||
{
|
||||
return std::make_shared<TestProgressDialog>();
|
||||
}
|
||||
|
||||
std::shared_ptr<pp::app::AppMessageDialog> show_message_dialog(
|
||||
const pp::app::AppMessageDialogPlan&) override
|
||||
{
|
||||
return std::make_shared<TestMessageDialog>();
|
||||
}
|
||||
|
||||
std::shared_ptr<pp::app::AppInputDialog> show_input_dialog(
|
||||
const pp::app::AppInputDialogPlan&) override
|
||||
{
|
||||
return std::make_shared<TestInputDialog>();
|
||||
}
|
||||
};
|
||||
|
||||
void progress_dialog_initializes_progress_state(pp::tests::Harness& harness)
|
||||
{
|
||||
const auto plan = pp::app::plan_app_progress_dialog("Saving", 12);
|
||||
@@ -62,6 +107,14 @@ void input_dialog_rejects_empty_ok_caption(pp::tests::Harness& harness)
|
||||
PP_EXPECT(harness, plan.status().code == pp::foundation::StatusCode::invalid_argument);
|
||||
}
|
||||
|
||||
void dialog_factory_uses_pure_app_core_dialog_types(pp::tests::Harness& harness)
|
||||
{
|
||||
TestDialogFactory factory;
|
||||
PP_EXPECT(harness, factory.show_progress_dialog({})->kind() == pp::app::AppDialogKind::progress);
|
||||
PP_EXPECT(harness, factory.show_message_dialog({})->kind() == pp::app::AppDialogKind::message);
|
||||
PP_EXPECT(harness, factory.show_input_dialog({})->kind() == pp::app::AppDialogKind::input);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int main()
|
||||
@@ -74,5 +127,6 @@ int main()
|
||||
harness.run("message dialog allows custom button captions", message_dialog_allows_custom_button_captions);
|
||||
harness.run("input dialog preserves ok caption", input_dialog_preserves_ok_caption);
|
||||
harness.run("input dialog rejects empty ok caption", input_dialog_rejects_empty_ok_caption);
|
||||
harness.run("dialog factory uses pure app-core dialog types", dialog_factory_uses_pure_app_core_dialog_types);
|
||||
return harness.finish();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user