mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-14 19:27:05 -04:00
Merge pull request #564 from Ni-zav/fix/542-render-queue-settings-template-s20261010T084400Z-a6e9
This commit is contained in:
2 files changed
+24
-1
No files matched your search
@@ -526,7 +526,12 @@ fn add(s: &mut Session, p: &Value) -> Result<Value> {
|
||||
}
|
||||
}
|
||||
apply_settings(&mut it.settings, &templates, p, "renderQueue.add")?;
|
||||
apply_output(&mut it.output, &templates, s.state.region_of_interest, p, "renderQueue.add")?;
|
||||
// "template" belongs to Render Settings on add, not Output Module.
|
||||
let mut output_params = p.clone();
|
||||
if let Some(object) = output_params.as_object_mut() {
|
||||
object.remove("template");
|
||||
}
|
||||
apply_output(&mut it.output, &templates, s.state.region_of_interest, &output_params, "renderQueue.add")?;
|
||||
if let Some(l) = enum_p(p, "log", "renderQueue.add", RenderLog::parse, "errorsOnly|plusSettings|plusPerFrameInfo")? {
|
||||
it.log = l;
|
||||
}
|
||||
|
||||
@@ -165,3 +165,21 @@ fn without_exporter() {
|
||||
assert_eq!(f["formats"].as_array().unwrap().len(), 12);
|
||||
assert_eq!(f["formats"][0]["available"], false);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn queue_add_accepts_render_settings_templates_without_output_module_namesakes() {
|
||||
let mut s = Session::default();
|
||||
s.execute("comp.new", json!({"name":"C","width":64,"height":64,"duration":1})).unwrap();
|
||||
let all = s.execute("renderQueue.templates", json!({})).unwrap();
|
||||
let names = all["renderSettings"].as_array().unwrap();
|
||||
assert!(!names.is_empty());
|
||||
for row in names {
|
||||
let name = row["name"].as_str().unwrap();
|
||||
let expected = s.project.render_templates.render_settings(name).unwrap();
|
||||
s.execute("renderQueue.add", json!({"comp":"C","template":name})).unwrap();
|
||||
assert_eq!(s.project.render_queue.last().unwrap().settings, expected);
|
||||
}
|
||||
let count = s.project.render_queue.len();
|
||||
assert!(s.execute("renderQueue.add", json!({"comp":"C","template":"Unknown Settings"})).is_err());
|
||||
assert_eq!(s.project.render_queue.len(), count);
|
||||
}
|
||||
Reference in new issue
Block a user