diff --git a/crates/script/src/model.rs b/crates/script/src/model.rs index d3c084af..4813743a 100644 --- a/crates/script/src/model.rs +++ b/crates/script/src/model.rs @@ -394,6 +394,8 @@ fn alias(k: &str) -> Option<&'static str> { "content" | "contents" => "contents", "maskshape" | "maskpath" => "path", "maskfeather" => "feather", + // A light's options name it "ADBE Casts Shadows" in After Effects (#1063). + "adbecastsshadows" => "castsShadows", "maskopacity" => "opacity", "maskexpansion" | "maskoffset" => "expansion", "sourcetext" => "sourceText", diff --git a/crates/script/src/tests.rs b/crates/script/src/tests.rs index 34333fe6..a838a866 100644 --- a/crates/script/src/tests.rs +++ b/crates/script/src/tests.rs @@ -1104,3 +1104,19 @@ fn source_point_conversions_follow_the_layer_transform() { assert!(near(&v[0], 350.0) && near(&v[1], 275.0), "{v}"); assert!(near(&v[2], 100.0) && near(&v[3], 50.0), "{v}"); } + +/// #1063: a script asks a light's options for After Effects' "ADBE Casts Shadows". +#[test] +fn light_options_accept_the_after_effects_casts_shadows_name() { + let mut s = session(); + let o = ok( + &mut s, + r#" + var comp = app.project.items.addComp("Repro", 1920, 1080, 1, 10, 25); + var light = comp.layers.addLight("Key", [100, 100]); + var c = light.property("ADBE Light Options Group").property("ADBE Casts Shadows"); + c == null ? "null" : c.name + "#, + ); + assert_ne!(o.result, json!("null"), "{:?}", o.result); +}