mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-27 10:57:34 +09:00
Issue #1826 - Serialize special calc() number values
This commit is contained in:
parent
79800a9113
commit
6a0c0925e5
4 changed files with 235 additions and 14 deletions
|
|
@ -106,6 +106,44 @@ function parse2dMatrix(transformValue) {
|
|||
|
||||
div.remove();
|
||||
})();
|
||||
|
||||
(function testSpecialNumberCalcSpecifiedSerialization() {
|
||||
const div = appendTestNode();
|
||||
const cases = [
|
||||
["calc(NaN)", "calc(NaN)"],
|
||||
["calc(infinity)", "calc(infinity)"],
|
||||
["calc(-infinity)", "calc(-infinity)"],
|
||||
["calc(1 * NaN)", "calc(NaN)"],
|
||||
["calc(1 * infinity / infinity)", "calc(NaN)"],
|
||||
["calc(1 * 0 * infinity)", "calc(NaN)"],
|
||||
["calc(1 * (infinity + -infinity))", "calc(NaN)"],
|
||||
["calc(1 * (infinity - infinity))", "calc(NaN)"],
|
||||
["calc(1 * infinity)", "calc(infinity)"],
|
||||
["calc(1 * -infinity)", "calc(-infinity)"],
|
||||
["calc(1 * 1/infinity)", "calc(0)"],
|
||||
["calc(1 * infinity * infinity)", "calc(infinity)"],
|
||||
["calc(1 * max(INFinity*3, 0))", "calc(infinity)"],
|
||||
["calc(1 * min(inFInity*4, 0))", "calc(0)"],
|
||||
["calc(1 * max(nAn*2, 0))", "calc(NaN)"],
|
||||
["calc(1 * clamp(-INFINITY*20, 0, infiniTY*10))", "calc(0)"],
|
||||
["calc(1 * max(NaN, min(0,10)))", "calc(NaN)"],
|
||||
["calc(1 * clamp(NaN, 0, 10))", "calc(NaN)"],
|
||||
["calc(1 * max(0, min(10, NaN)))", "calc(NaN)"],
|
||||
["calc(1 * clamp(0, 10, NaN))", "calc(NaN)"],
|
||||
["calc(1 * max(0, min(NaN, 10)))", "calc(NaN)"],
|
||||
["calc(1 * clamp(0, NaN, 10))", "calc(NaN)"],
|
||||
["calc(1 * clamp(-Infinity, 0, infinity))", "calc(0)"],
|
||||
["calc(1 * clamp(-inFinity, infinity, 10))", "calc(10)"],
|
||||
];
|
||||
|
||||
for (const [input, expected] of cases) {
|
||||
div.style.setProperty("opacity", input, "");
|
||||
is(div.style.getPropertyValue("opacity"), expected,
|
||||
`opacity should serialize ${input} as ${expected}`);
|
||||
}
|
||||
|
||||
div.remove();
|
||||
})();
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue