From 93ac4f291385ebeaad7d124e6dc5a74fb2eac86e Mon Sep 17 00:00:00 2001 From: Sly LaMenace Date: Mon, 19 Oct 2026 10:35:53 +0000 Subject: [PATCH] test(engine): cover enabled live states across history --- crates/engine/src/cmd/mix.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/crates/engine/src/cmd/mix.rs b/crates/engine/src/cmd/mix.rs index 5e8a0372..296d1868 100644 --- a/crates/engine/src/cmd/mix.rs +++ b/crates/engine/src/cmd/mix.rs @@ -994,6 +994,19 @@ mod tests { let mixer = &e.session().track(track).unwrap().mixer; assert!(!mixer.record_arm && !mixer.input_monitor); assert!(e.is_dirty()); + + // Live states that are enabled after another document edit survive both directions too. + e.execute("mix.volume", &json!({"tracks": [track.0], "db": -12.0})).unwrap(); + e.execute("mix.record_arm", &json!({"tracks": [track.0], "value": true})).unwrap(); + e.execute("mix.input_monitor", &json!({"tracks": [track.0], "value": true})).unwrap(); + + assert!(e.undo()); + let mixer = &e.session().track(track).unwrap().mixer; + assert!(mixer.record_arm && mixer.input_monitor); + + assert!(e.redo()); + let mixer = &e.session().track(track).unwrap().mixer; + assert!(mixer.record_arm && mixer.input_monitor); } fn volumes(e: &Engine) -> Vec {