Plan document open actions in app core
This commit is contained in:
@@ -381,6 +381,24 @@ if(TARGET pano_cli)
|
||||
LABELS "app;integration;desktop-fast;fuzz"
|
||||
)
|
||||
|
||||
add_test(NAME pano_cli_plan_open_route_project_clean_smoke
|
||||
COMMAND pano_cli plan-open-route --path "D:/Paint/Scenes/demo.ppi")
|
||||
set_tests_properties(pano_cli_plan_open_route_project_clean_smoke PROPERTIES
|
||||
LABELS "app;integration;desktop-fast"
|
||||
PASS_REGULAR_EXPRESSION "\"command\":\"plan-open-route\".*\"kind\":\"open-project\".*\"unsaved\":false.*\"action\":\"open-project-now\"")
|
||||
|
||||
add_test(NAME pano_cli_plan_open_route_project_unsaved_smoke
|
||||
COMMAND pano_cli plan-open-route --path "D:/Paint/Scenes/demo.ppi" --unsaved)
|
||||
set_tests_properties(pano_cli_plan_open_route_project_unsaved_smoke PROPERTIES
|
||||
LABELS "app;integration;desktop-fast"
|
||||
PASS_REGULAR_EXPRESSION "\"command\":\"plan-open-route\".*\"kind\":\"open-project\".*\"unsaved\":true.*\"action\":\"prompt-discard-unsaved-project\"")
|
||||
|
||||
add_test(NAME pano_cli_plan_open_route_abr_import_smoke
|
||||
COMMAND pano_cli plan-open-route --path "D:/Paint/Brushes/clouds.ABR" --unsaved)
|
||||
set_tests_properties(pano_cli_plan_open_route_abr_import_smoke PROPERTIES
|
||||
LABELS "app;integration;desktop-fast"
|
||||
PASS_REGULAR_EXPRESSION "\"command\":\"plan-open-route\".*\"kind\":\"import-abr\".*\"unsaved\":true.*\"action\":\"prompt-import-abr\"")
|
||||
|
||||
add_test(NAME pano_cli_plan_document_file_save_now_smoke
|
||||
COMMAND pano_cli plan-document-file --work-dir D:/Paint --name demo)
|
||||
set_tests_properties(pano_cli_plan_document_file_save_now_smoke PROPERTIES
|
||||
|
||||
@@ -15,6 +15,38 @@ void project_open_dirty_document_prompts_for_discard(pp::tests::Harness& harness
|
||||
pp::app::plan_project_open(true) == pp::app::ProjectOpenDecision::prompt_discard_unsaved);
|
||||
}
|
||||
|
||||
void document_open_project_respects_unsaved_state(pp::tests::Harness& harness)
|
||||
{
|
||||
PP_EXPECT(
|
||||
harness,
|
||||
pp::app::plan_document_open(pp::app::DocumentOpenKind::open_project, false)
|
||||
== pp::app::DocumentOpenPlanAction::open_project_now);
|
||||
PP_EXPECT(
|
||||
harness,
|
||||
pp::app::plan_document_open(pp::app::DocumentOpenKind::open_project, true)
|
||||
== pp::app::DocumentOpenPlanAction::prompt_discard_unsaved_project);
|
||||
}
|
||||
|
||||
void document_open_brush_imports_prompt_regardless_of_unsaved_state(pp::tests::Harness& harness)
|
||||
{
|
||||
PP_EXPECT(
|
||||
harness,
|
||||
pp::app::plan_document_open(pp::app::DocumentOpenKind::import_abr, false)
|
||||
== pp::app::DocumentOpenPlanAction::prompt_import_abr);
|
||||
PP_EXPECT(
|
||||
harness,
|
||||
pp::app::plan_document_open(pp::app::DocumentOpenKind::import_abr, true)
|
||||
== pp::app::DocumentOpenPlanAction::prompt_import_abr);
|
||||
PP_EXPECT(
|
||||
harness,
|
||||
pp::app::plan_document_open(pp::app::DocumentOpenKind::import_ppbr, false)
|
||||
== pp::app::DocumentOpenPlanAction::prompt_import_ppbr);
|
||||
PP_EXPECT(
|
||||
harness,
|
||||
pp::app::plan_document_open(pp::app::DocumentOpenKind::import_ppbr, true)
|
||||
== pp::app::DocumentOpenPlanAction::prompt_import_ppbr);
|
||||
}
|
||||
|
||||
void close_clean_document_executes_immediately(pp::tests::Harness& harness)
|
||||
{
|
||||
PP_EXPECT(
|
||||
@@ -206,6 +238,10 @@ int main()
|
||||
pp::tests::Harness harness;
|
||||
harness.run("project open clean document executes immediately", project_open_clean_document_executes_immediately);
|
||||
harness.run("project open dirty document prompts for discard", project_open_dirty_document_prompts_for_discard);
|
||||
harness.run("document open project respects unsaved state", document_open_project_respects_unsaved_state);
|
||||
harness.run(
|
||||
"document open brush imports prompt regardless of unsaved state",
|
||||
document_open_brush_imports_prompt_regardless_of_unsaved_state);
|
||||
harness.run("close clean document executes immediately", close_clean_document_executes_immediately);
|
||||
harness.run("close dirty document opens one prompt", close_dirty_document_opens_one_prompt);
|
||||
harness.run("save clean existing document is no op", save_clean_existing_document_is_no_op);
|
||||
|
||||
Reference in New Issue
Block a user