mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-14 19:27:05 -04:00
Merge pull request #561 from Ni-zav/fix/545-expression-baseline-getters-s20261010T084400Z-a6e9
This commit is contained in:
2 files changed
+37
-2
No files matched your search
@@ -932,8 +932,10 @@ __TextStyle.prototype = {
|
||||
setVerticalScaling: __styleSetter('vScale'),
|
||||
setTsume: __styleSetter('tsume'),
|
||||
setBaselineOption: __styleSetter('baseline', function (v) { return String(v).toLowerCase().replace('_baseline', ''); }),
|
||||
setSuperscript: __styleSetter('superscript', Boolean),
|
||||
setSubscript: __styleSetter('subscript', Boolean),
|
||||
// Canonical baseline operations also make the returned TextStyle's getters reflect
|
||||
// the pending edit, rather than waiting for the host to apply a superscript flag.
|
||||
setSuperscript: __styleSetter('baseline', function (v) { return v ? 'superscript' : 'normal'; }),
|
||||
setSubscript: __styleSetter('baseline', function (v) { return v ? 'subscript' : 'normal'; }),
|
||||
setKerningType: __styleSetter('kerning', function (v) { v = String(v).toLowerCase(); return v === 'manual' ? 0 : v; }),
|
||||
setKerning: __styleSetter('kerning', Number),
|
||||
setLigature: __styleSetter('ligatures', Boolean),
|
||||
|
||||
@@ -1160,3 +1160,36 @@ fn thousands_of_host_reads_on_one_thread_keep_working() {
|
||||
assert_eq!(f.num("function a() { return effect(1)(1); } function b() { return a(); } b() + 1", t), 43.0, "evaluation {i}");
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pending_text_style_baseline_setters_are_visible_to_expression_getters() {
|
||||
let x = fx();
|
||||
assert_eq!(
|
||||
x.num("thisComp.layer('Title').text.sourceText.style.setSuperscript(true).isSuperscript ? 1 : 0", 0.0),
|
||||
1.0
|
||||
);
|
||||
assert_eq!(
|
||||
x.num("thisComp.layer('Title').text.sourceText.style.setSubscript(true).isSubscript ? 1 : 0", 0.0),
|
||||
1.0
|
||||
);
|
||||
assert_eq!(
|
||||
x.num("thisComp.layer('Title').text.sourceText.style.setSuperscript(true).setSubscript(true).isSuperscript ? 1 : 0", 0.0),
|
||||
0.0
|
||||
);
|
||||
assert_eq!(
|
||||
x.num("thisComp.layer('Title').text.sourceText.style.setSuperscript(true).setSubscript(true).isSubscript ? 1 : 0", 0.0),
|
||||
1.0
|
||||
);
|
||||
assert_eq!(
|
||||
x.num("thisComp.layer('Title').text.sourceText.style.setSubscript(true).setSubscript(false).isSubscript ? 1 : 0", 0.0),
|
||||
0.0
|
||||
);
|
||||
assert_eq!(
|
||||
x.num("thisComp.layer('Title').text.sourceText.style.setBaselineOption('superscript').isSuperscript ? 1 : 0", 0.0),
|
||||
1.0
|
||||
);
|
||||
assert_eq!(
|
||||
x.text("var s = text.sourceText.style.setSuperscript(true); s.setText(s.isSuperscript ? 'super' : 'normal')", 0.0),
|
||||
"super"
|
||||
);
|
||||
}
|
||||
Reference in new issue
Block a user