Route live save snapshots through PPI policy
This commit is contained in:
@@ -208,6 +208,38 @@ void snapshot_plan_attaches_captured_face_payloads(pp::tests::Harness& harness)
|
||||
}
|
||||
}
|
||||
|
||||
void save_writer_route_uses_ppi_writer_for_complete_payloads(pp::tests::Harness& harness)
|
||||
{
|
||||
pp::app::DocumentCanvasSaveSnapshotReport report;
|
||||
report.payload_complete = true;
|
||||
report.can_export_ppi = true;
|
||||
|
||||
const auto plan = pp::app::plan_document_canvas_save_writer_route(report);
|
||||
|
||||
PP_EXPECT(harness, plan.action == pp::app::DocumentCanvasSaveWriterAction::use_document_ppi_writer);
|
||||
PP_EXPECT(harness, plan.uses_document_ppi_writer);
|
||||
PP_EXPECT(harness, plan.payload_complete);
|
||||
PP_EXPECT(harness, plan.can_export_ppi);
|
||||
PP_EXPECT(harness, plan.fallback_reason.empty());
|
||||
}
|
||||
|
||||
void save_writer_route_falls_back_for_pending_payloads(pp::tests::Harness& harness)
|
||||
{
|
||||
pp::app::DocumentCanvasSaveSnapshotReport report;
|
||||
report.payload_complete = false;
|
||||
report.can_export_ppi = false;
|
||||
|
||||
const auto plan = pp::app::plan_document_canvas_save_writer_route(report);
|
||||
|
||||
PP_EXPECT(harness, plan.action == pp::app::DocumentCanvasSaveWriterAction::use_legacy_project_save);
|
||||
PP_EXPECT(harness, !plan.uses_document_ppi_writer);
|
||||
PP_EXPECT(harness, !plan.payload_complete);
|
||||
PP_EXPECT(harness, !plan.can_export_ppi);
|
||||
PP_EXPECT(
|
||||
harness,
|
||||
plan.fallback_reason == "canvas document snapshot still requires renderer payload readback");
|
||||
}
|
||||
|
||||
void snapshot_plan_rejects_invalid_canvas_state(pp::tests::Harness& harness)
|
||||
{
|
||||
const std::uint32_t frames[] { 100U };
|
||||
@@ -387,6 +419,8 @@ int main()
|
||||
harness.run("snapshot plan projects canvas metadata", snapshot_plan_projects_canvas_metadata);
|
||||
harness.run("snapshot plan defaults empty names and frames", snapshot_plan_defaults_empty_names_and_frames);
|
||||
harness.run("snapshot plan attaches captured face payloads", snapshot_plan_attaches_captured_face_payloads);
|
||||
harness.run("save writer route uses ppi writer for complete payloads", save_writer_route_uses_ppi_writer_for_complete_payloads);
|
||||
harness.run("save writer route falls back for pending payloads", save_writer_route_falls_back_for_pending_payloads);
|
||||
harness.run("snapshot plan rejects invalid canvas state", snapshot_plan_rejects_invalid_canvas_state);
|
||||
harness.run("clear plan records legacy canvas effects", clear_plan_records_legacy_canvas_effects);
|
||||
harness.run("clear plan noops without canvas", clear_plan_noops_without_canvas);
|
||||
|
||||
Reference in New Issue
Block a user