Plan app dialog factories
This commit is contained in:
@@ -545,6 +545,16 @@ add_test(NAME pp_app_core_app_status_tests COMMAND pp_app_core_app_status_tests)
|
||||
set_tests_properties(pp_app_core_app_status_tests PROPERTIES
|
||||
LABELS "app;desktop-fast;fuzz")
|
||||
|
||||
add_executable(pp_app_core_app_dialog_tests
|
||||
app_core/app_dialog_tests.cpp)
|
||||
target_link_libraries(pp_app_core_app_dialog_tests PRIVATE
|
||||
pp_app_core
|
||||
pp_test_harness)
|
||||
|
||||
add_test(NAME pp_app_core_app_dialog_tests COMMAND pp_app_core_app_dialog_tests)
|
||||
set_tests_properties(pp_app_core_app_dialog_tests PROPERTIES
|
||||
LABELS "app;desktop-fast;fuzz")
|
||||
|
||||
add_executable(pp_app_core_app_startup_tests
|
||||
app_core/app_startup_tests.cpp)
|
||||
target_link_libraries(pp_app_core_app_startup_tests PRIVATE
|
||||
@@ -948,6 +958,31 @@ if(TARGET pano_cli)
|
||||
LABELS "app;integration;desktop-fast;fuzz"
|
||||
PASS_REGULAR_EXPRESSION "\"command\":\"plan-cloud-transfer\".*\"action\":\"start-transfer\".*\"notify\":false.*\"fraction\":0")
|
||||
|
||||
add_test(NAME pano_cli_plan_app_dialog_progress_smoke
|
||||
COMMAND pano_cli plan-app-dialog --kind progress --title Saving --total -4)
|
||||
set_tests_properties(pano_cli_plan_app_dialog_progress_smoke PROPERTIES
|
||||
LABELS "app;integration;desktop-fast;fuzz"
|
||||
PASS_REGULAR_EXPRESSION "\"command\":\"plan-app-dialog\".*\"kind\":\"progress\".*\"title\":\"Saving\".*\"total\":0.*\"count\":0.*\"progressFraction\":0")
|
||||
|
||||
add_test(NAME pano_cli_plan_app_dialog_message_smoke
|
||||
COMMAND pano_cli plan-app-dialog --kind message --title Import --message Brushes --cancel)
|
||||
set_tests_properties(pano_cli_plan_app_dialog_message_smoke PROPERTIES
|
||||
LABELS "app;integration;desktop-fast"
|
||||
PASS_REGULAR_EXPRESSION "\"command\":\"plan-app-dialog\".*\"kind\":\"message\".*\"title\":\"Import\".*\"message\":\"Brushes\".*\"okCaption\":\"Ok\".*\"showCancel\":true")
|
||||
|
||||
add_test(NAME pano_cli_plan_app_dialog_input_smoke
|
||||
COMMAND pano_cli plan-app-dialog --kind input --title Rename --field-name Layer --ok-caption Save)
|
||||
set_tests_properties(pano_cli_plan_app_dialog_input_smoke PROPERTIES
|
||||
LABELS "app;integration;desktop-fast"
|
||||
PASS_REGULAR_EXPRESSION "\"command\":\"plan-app-dialog\".*\"kind\":\"input\".*\"title\":\"Rename\".*\"fieldName\":\"Layer\".*\"okCaption\":\"Save")
|
||||
|
||||
add_test(NAME pano_cli_plan_app_dialog_rejects_empty_ok_caption
|
||||
COMMAND pano_cli plan-app-dialog --kind input --ok-caption "")
|
||||
set_tests_properties(pano_cli_plan_app_dialog_rejects_empty_ok_caption PROPERTIES
|
||||
LABELS "app;integration;desktop-fast;fuzz"
|
||||
WILL_FAIL TRUE
|
||||
PASS_REGULAR_EXPRESSION "\"command\":\"plan-app-dialog\".*\"message\":\"input dialog ok caption")
|
||||
|
||||
add_test(NAME pano_cli_plan_recording_session_stopped_smoke
|
||||
COMMAND pano_cli plan-recording-session --frame-count 12)
|
||||
set_tests_properties(pano_cli_plan_recording_session_stopped_smoke PROPERTIES
|
||||
|
||||
68
tests/app_core/app_dialog_tests.cpp
Normal file
68
tests/app_core/app_dialog_tests.cpp
Normal file
@@ -0,0 +1,68 @@
|
||||
#include "app_core/app_dialog.h"
|
||||
#include "test_harness.h"
|
||||
|
||||
namespace {
|
||||
|
||||
void progress_dialog_initializes_progress_state(pp::tests::Harness& harness)
|
||||
{
|
||||
const auto plan = pp::app::plan_app_progress_dialog("Saving", 12);
|
||||
PP_EXPECT(harness, plan.title == "Saving");
|
||||
PP_EXPECT(harness, plan.total == 12);
|
||||
PP_EXPECT(harness, plan.count == 0);
|
||||
PP_EXPECT(harness, plan.progress_fraction == 0.0F);
|
||||
}
|
||||
|
||||
void progress_dialog_clamps_negative_total(pp::tests::Harness& harness)
|
||||
{
|
||||
const auto plan = pp::app::plan_app_progress_dialog("Broken", -4);
|
||||
PP_EXPECT(harness, plan.total == 0);
|
||||
PP_EXPECT(harness, plan.count == 0);
|
||||
PP_EXPECT(harness, plan.progress_fraction == 0.0F);
|
||||
}
|
||||
|
||||
void message_dialog_preserves_cancel_policy(pp::tests::Harness& harness)
|
||||
{
|
||||
const auto plan = pp::app::plan_app_message_dialog("Import", "Import brushes?", true);
|
||||
PP_EXPECT(harness, plan.title == "Import");
|
||||
PP_EXPECT(harness, plan.message == "Import brushes?");
|
||||
PP_EXPECT(harness, plan.ok_caption == "Ok");
|
||||
PP_EXPECT(harness, plan.show_cancel);
|
||||
}
|
||||
|
||||
void message_dialog_defaults_to_no_cancel(pp::tests::Harness& harness)
|
||||
{
|
||||
const auto plan = pp::app::plan_app_message_dialog("License", "Disabled", false);
|
||||
PP_EXPECT(harness, plan.title == "License");
|
||||
PP_EXPECT(harness, plan.message == "Disabled");
|
||||
PP_EXPECT(harness, !plan.show_cancel);
|
||||
}
|
||||
|
||||
void input_dialog_preserves_ok_caption(pp::tests::Harness& harness)
|
||||
{
|
||||
const auto plan = pp::app::plan_app_input_dialog("Rename", "Layer", "Save");
|
||||
PP_EXPECT(harness, plan);
|
||||
PP_EXPECT(harness, plan.value().title == "Rename");
|
||||
PP_EXPECT(harness, plan.value().field_name == "Layer");
|
||||
PP_EXPECT(harness, plan.value().ok_caption == "Save");
|
||||
}
|
||||
|
||||
void input_dialog_rejects_empty_ok_caption(pp::tests::Harness& harness)
|
||||
{
|
||||
const auto plan = pp::app::plan_app_input_dialog("Rename", "Layer", "");
|
||||
PP_EXPECT(harness, !plan);
|
||||
PP_EXPECT(harness, plan.status().code == pp::foundation::StatusCode::invalid_argument);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
pp::tests::Harness harness;
|
||||
harness.run("progress dialog initializes progress state", progress_dialog_initializes_progress_state);
|
||||
harness.run("progress dialog clamps negative total", progress_dialog_clamps_negative_total);
|
||||
harness.run("message dialog preserves cancel policy", message_dialog_preserves_cancel_policy);
|
||||
harness.run("message dialog defaults to no cancel", message_dialog_defaults_to_no_cancel);
|
||||
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);
|
||||
return harness.finish();
|
||||
}
|
||||
Reference in New Issue
Block a user