mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-24 09:57:08 -06:00
Fix engine compile error: load export presets from presets JSON
Fixes #6911
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
(cherry picked from commit bb7a5f2309)
This commit is contained in:
@@ -186,6 +186,7 @@ impl Session {
|
||||
tool_presets: take(&mut m, "tool_presets"),
|
||||
documents: take(&mut m, "documents"),
|
||||
recent_documents: take(&mut m, "recent_documents"),
|
||||
export_presets: take(&mut m, "export_presets"),
|
||||
custom_shapes: take(&mut m, "custom_shapes"),
|
||||
layer_defaults: take(&mut m, "layer_defaults"),
|
||||
swatches: take(&mut m, "swatches"),
|
||||
|
||||
@@ -774,3 +774,21 @@ fn a_damaged_preset_set_keeps_the_other_sets() {
|
||||
assert_eq!(next.presets.gradients.len(), Session::new().presets.gradients.len());
|
||||
assert_eq!(next.presets.documents, s.presets.documents);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------ export presets
|
||||
|
||||
#[test]
|
||||
fn export_presets_survive_a_presets_json_round_trip() {
|
||||
let mut s = Session::new();
|
||||
s.execute("file.export.presets.save", json!({"name": "Web", "settings": {"format": "jpg", "quality": 70}})).unwrap();
|
||||
assert_eq!(s.presets.export_presets.len(), 1);
|
||||
|
||||
let saved = s.presets.to_json(&s);
|
||||
assert_eq!(saved["export_presets"].as_array().map(Vec::len), Some(1));
|
||||
|
||||
let mut restored = Session::new();
|
||||
restored.load_presets_json(saved);
|
||||
assert_eq!(restored.presets.export_presets.len(), 1);
|
||||
assert_eq!(restored.presets.export_presets[0].name, "Web");
|
||||
assert_eq!(restored.presets.export_presets[0].settings.format, "jpg");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user