mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-31 21:48:20 -06:00
fix(script): make Item.selected=false deselect only that item (#544)
This commit is contained in:
@@ -524,3 +524,31 @@ fn comp_preserves_nested_frame_rate_and_resolution() {
|
||||
let (_, c) = comp_named(&s, "Nested");
|
||||
assert!(c.preserve_frame_rate && c.preserve_resolution);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn setting_item_selected_false_preserves_other_project_items() {
|
||||
let mut s = session();
|
||||
let o = ok(
|
||||
&mut s,
|
||||
r#"
|
||||
var target = app.project.items.addFolder("Target");
|
||||
var keep = app.project.items.addFolder("Keep");
|
||||
app.run("project.select", {items: []});
|
||||
keep.selected = true;
|
||||
target.selected = true;
|
||||
var states = [[target.selected, keep.selected]];
|
||||
target.selected = false;
|
||||
states.push([target.selected, keep.selected]);
|
||||
target.selected = false; // idempotent: never remove Keep
|
||||
states.push([target.selected, keep.selected]);
|
||||
target.selected = true;
|
||||
states.push([target.selected, keep.selected]);
|
||||
app.project.selection.map(function (item) { return item.name; }).join(",")
|
||||
+ "|" + JSON.stringify(states);
|
||||
"#,
|
||||
);
|
||||
assert_eq!(
|
||||
o.result,
|
||||
json!("Keep,Target|[[true,true],[false,true],[false,true],[true,true]]")
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user