Bug 1809205 - Make css-fonts/animations/font-variation-settings-composition.html less finicky about serialization order for font-variation-settings. r=emilio

Variation axis-value pairs are an unordered set, not an ordered list, so the test should not be
requiring any particular ordering in the serialization. The order we get when we serialize the
interpolated value is arbitrary, and that's OK.

Differential Revision: https://phabricator.services.mozilla.com/D166372
This commit is contained in:
Jonathan Kew 2023-01-17 15:37:47 +00:00
parent 6a0d860e76
commit 4b07cd43d9
3 changed files with 11 additions and 32 deletions

View File

@ -1,32 +0,0 @@
[font-variation-settings-composition.html]
expected:
if (os == "android") and fission: [OK, TIMEOUT]
[Compositing: property <font-variation-settings> underlying ['aaaa' 100, 'bbbb' 200\] from add ['aaaa' 20, 'bbbb' 50\] to add ['aaaa' 30, 'bbbb' 100\] at (0) should be ['aaaa' 120, 'bbbb' 250\]]
expected: FAIL
[Compositing: property <font-variation-settings> underlying ['test' 100\] from add ['aaaa' 20, 'bbbb' 50\] to add ['aaaa' 30, 'bbbb' 100\] at (1.5) should be ['aaaa' 35, 'bbbb' 125\]]
expected: FAIL
[Compositing: property <font-variation-settings> underlying ['aaaa' 100, 'bbbb' 200\] from add ['aaaa' 20, 'bbbb' 50\] to add ['aaaa' 30, 'bbbb' 100\] at (1) should be ['aaaa' 130, 'bbbb' 300\]]
expected: FAIL
[Compositing: property <font-variation-settings> underlying ['test' 100\] from add ['aaaa' 20, 'bbbb' 50\] to add ['aaaa' 30, 'bbbb' 100\] at (-0.3) should be ['aaaa' 17, 'bbbb' 35\]]
expected: FAIL
[Compositing: property <font-variation-settings> underlying ['aaaa' 100, 'bbbb' 200\] from add ['aaaa' 20, 'bbbb' 50\] to add ['aaaa' 30, 'bbbb' 100\] at (1.5) should be ['aaaa' 135, 'bbbb' 325\]]
expected: FAIL
[Compositing: property <font-variation-settings> underlying ['aaaa' 100, 'bbbb' 200\] from add ['aaaa' 20, 'bbbb' 50\] to add ['aaaa' 30, 'bbbb' 100\] at (-0.3) should be ['aaaa' 117, 'bbbb' 235\]]
expected: FAIL
[Compositing: property <font-variation-settings> underlying ['test' 100\] from add ['aaaa' 20, 'bbbb' 50\] to add ['aaaa' 30, 'bbbb' 100\] at (1) should be ['aaaa' 30, 'bbbb' 100\]]
expected: FAIL
[Compositing: property <font-variation-settings> underlying ['aaaa' 100, 'bbbb' 200\] from add ['aaaa' 20, 'bbbb' 50\] to add ['aaaa' 30, 'bbbb' 100\] at (0.5) should be ['aaaa' 125, 'bbbb' 275\]]
expected: FAIL
[Compositing: property <font-variation-settings> underlying ['test' 100\] from add ['aaaa' 20, 'bbbb' 50\] to add ['aaaa' 30, 'bbbb' 100\] at (0) should be ['aaaa' 20, 'bbbb' 50\]]
expected: FAIL
[Compositing: property <font-variation-settings> underlying ['test' 100\] from add ['aaaa' 20, 'bbbb' 50\] to add ['aaaa' 30, 'bbbb' 100\] at (0.5) should be ['aaaa' 25, 'bbbb' 75\]]
expected: FAIL

View File

@ -11,6 +11,14 @@
<body></body>
<script>
function compareVariationSettings(actual, expected) {
// The order of <axis, value> pairs in the variation-settings list is arbitrary,
// so we sort the pairs before attempting to compare. (We only need to use this
// when multiple settings are expected, otherwise the default comparison is OK.)
assert_equals(normalizeValue(actual).split(", ").sort().join(", "),
normalizeValue(expected).split(", ").sort().join(", "));
};
test_composition({
property: 'font-variation-settings',
underlying: "'test' 50",
@ -68,6 +76,7 @@ test_composition({
underlying: "'aaaa' 100, 'bbbb' 200",
addFrom: "'aaaa' 20, 'bbbb' 50",
addTo: "'aaaa' 30, 'bbbb' 100",
comparisonFunction: compareVariationSettings,
}, [
{at: -0.3, expect: "'aaaa' 117, 'bbbb' 235"},
{at: 0, expect: "'aaaa' 120, 'bbbb' 250"},
@ -81,6 +90,7 @@ test_composition({
underlying: "'test' 100",
addFrom: "'aaaa' 20, 'bbbb' 50",
addTo: "'aaaa' 30, 'bbbb' 100",
comparisonFunction: compareVariationSettings,
}, [
{at: -0.3, expect: "'aaaa' 17, 'bbbb' 35"},
{at: 0, expect: "'aaaa' 20, 'bbbb' 50"},

View File

@ -461,4 +461,5 @@
window.test_composition = test_composition;
window.neutralKeyframe = neutralKeyframe;
window.roundNumbers = roundNumbers;
window.normalizeValue = normalizeValue;
})();