From 58fcfeb54dad13c0b62a8f80f8a8fc7c5008e083 Mon Sep 17 00:00:00 2001 From: arnav-hiwarkar Date: Thu, 12 Nov 2026 11:04:21 +0530 Subject: [PATCH] #3456: test that placed-page footage doesn't match a 0.22 key 0.22 keys are hashed without placed_page, so only footage that isn't placed as a page may match them. --- crates/engine/src/tests/legacy_analysis_keys.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/crates/engine/src/tests/legacy_analysis_keys.rs b/crates/engine/src/tests/legacy_analysis_keys.rs index 291188a17..06a05cc77 100644 --- a/crates/engine/src/tests/legacy_analysis_keys.rs +++ b/crates/engine/src/tests/legacy_analysis_keys.rs @@ -75,6 +75,15 @@ fn analyses_saved_by_0_22_survive_edits_that_keep_their_frames() { assert!(cleared(&s)); s.execute_checked("edit.undo", json!({})).unwrap(); assert_eq!(saved(&s), before); + // Footage framed as a placed page has other frames too, though 0.22 had no such field. + s.edit("place page", None, |p, _| { + if let Some(effectcraft_project::ItemKind::Footage(f)) = p.item_mut(FOOTAGE).map(|i| &mut i.kind) { + f.placed_page = true; + } + Ok(()) + }) + .unwrap(); + assert!(cleared(&s)); } /// Solving again reuses the 0.22 tracks rather than tracking the (here offline) footage again.