Add history command service boundary
This commit is contained in:
@@ -7,9 +7,24 @@ class FakeMainToolbarServices final : public pp::app::MainToolbarServices {
|
||||
public:
|
||||
void show_open_dialog() override { open_dialogs += 1; }
|
||||
void show_save_dialog() override { save_dialogs += 1; }
|
||||
void invoke_undo() override { undo_calls += 1; }
|
||||
void invoke_redo() override { redo_calls += 1; }
|
||||
void clear_history() override { clear_history_calls += 1; }
|
||||
void invoke_undo(const pp::app::HistoryUiPlan& plan) override
|
||||
{
|
||||
undo_calls += 1;
|
||||
last_history = plan;
|
||||
}
|
||||
|
||||
void invoke_redo(const pp::app::HistoryUiPlan& plan) override
|
||||
{
|
||||
redo_calls += 1;
|
||||
last_history = plan;
|
||||
}
|
||||
|
||||
void clear_history(const pp::app::HistoryUiPlan& plan) override
|
||||
{
|
||||
clear_history_calls += 1;
|
||||
last_history = plan;
|
||||
}
|
||||
|
||||
void clear_canvas(const pp::app::DocumentCanvasClearPlan& plan) override
|
||||
{
|
||||
clear_canvas_calls += 1;
|
||||
@@ -38,6 +53,7 @@ public:
|
||||
int clear_canvas_calls = 0;
|
||||
int message_boxes = 0;
|
||||
int settings_dialogs = 0;
|
||||
pp::app::HistoryUiPlan last_history;
|
||||
pp::app::DocumentCanvasClearPlan last_clear;
|
||||
};
|
||||
|
||||
@@ -74,6 +90,8 @@ void history_commands_reuse_history_breakpoints(pp::tests::Harness& harness)
|
||||
PP_EXPECT(harness, undo.value().action == pp::app::MainToolbarAction::invoke_undo);
|
||||
PP_EXPECT(harness, undo.value().updates_memory_label);
|
||||
PP_EXPECT(harness, undo.value().updates_title);
|
||||
PP_EXPECT(harness, undo.value().history.operation == pp::app::HistoryUiOperation::undo);
|
||||
PP_EXPECT(harness, undo.value().history.invokes_undo);
|
||||
PP_EXPECT(harness, !undo.value().no_op);
|
||||
}
|
||||
|
||||
@@ -95,6 +113,8 @@ void history_commands_reuse_history_breakpoints(pp::tests::Harness& harness)
|
||||
PP_EXPECT(harness, clear.value().action == pp::app::MainToolbarAction::clear_history);
|
||||
PP_EXPECT(harness, clear.value().updates_memory_label);
|
||||
PP_EXPECT(harness, !clear.value().updates_title);
|
||||
PP_EXPECT(harness, clear.value().history.operation == pp::app::HistoryUiOperation::clear);
|
||||
PP_EXPECT(harness, clear.value().history.clears_history);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,6 +181,8 @@ void executor_dispatches_to_service_boundary(pp::tests::Harness& harness)
|
||||
const auto status = pp::app::execute_main_toolbar_plan(undo.value(), services);
|
||||
PP_EXPECT(harness, status.ok());
|
||||
PP_EXPECT(harness, services.undo_calls == 1);
|
||||
PP_EXPECT(harness, services.last_history.operation == pp::app::HistoryUiOperation::undo);
|
||||
PP_EXPECT(harness, services.last_history.undo_count == 1);
|
||||
}
|
||||
|
||||
auto clear_canvas = pp::app::plan_main_toolbar_command(
|
||||
|
||||
Reference in New Issue
Block a user