mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Update web-platform-tests to revision b'6275bd0cf6fcfbfb531d371666602ddf4ca6dbf6'
This commit is contained in:
parent
2a45f247c4
commit
afd92e9e80
214 changed files with 6026 additions and 531 deletions
|
@ -124,3 +124,57 @@ function test_with_at_property(desc, fn, description) {
|
|||
function test_with_style_node(text, fn, description) {
|
||||
test(() => with_style_node(text, fn), description);
|
||||
}
|
||||
|
||||
function animation_test(property, values, description) {
|
||||
const name = generate_name();
|
||||
property.name = name;
|
||||
CSS.registerProperty(property);
|
||||
|
||||
test(() => {
|
||||
const duration = 1000;
|
||||
const keyframes = {};
|
||||
keyframes[name] = values.keyframes;
|
||||
|
||||
const iterations = 3;
|
||||
const composite = values.composite || "replace";
|
||||
const iterationComposite = values.iterationComposite || "replace";
|
||||
const animation = target.animate(keyframes, { composite, iterationComposite, iterations, duration });
|
||||
animation.pause();
|
||||
// We seek to the middle of the third iteration which will allow to test cases where
|
||||
// iterationComposite is set to something other than "replace".
|
||||
animation.currentTime = duration * 2.5;
|
||||
|
||||
assert_equals(getComputedStyle(target).getPropertyValue(name), values.expected);
|
||||
}, description);
|
||||
};
|
||||
|
||||
function discrete_animation_test(syntax, fromValue, toValue) {
|
||||
test(() => {
|
||||
const name = generate_name();
|
||||
|
||||
CSS.registerProperty({
|
||||
name,
|
||||
syntax,
|
||||
inherits: false,
|
||||
initialValue: fromValue
|
||||
});
|
||||
|
||||
const duration = 1000;
|
||||
const keyframes = [];
|
||||
keyframes[name] = toValue;
|
||||
const animation = target.animate(keyframes, duration);
|
||||
animation.pause();
|
||||
|
||||
const checkAtProgress = (progress, expected) => {
|
||||
animation.currentTime = duration * 0.25;
|
||||
assert_equals(getComputedStyle(target).getPropertyValue(name), fromValue, `The correct value is used at progress = ${progress}`);
|
||||
};
|
||||
|
||||
checkAtProgress(0, fromValue);
|
||||
checkAtProgress(0.25, fromValue);
|
||||
checkAtProgress(0.49, fromValue);
|
||||
checkAtProgress(0.5, toValue);
|
||||
checkAtProgress(0.75, toValue);
|
||||
checkAtProgress(1, toValue);
|
||||
}, `Animating a custom property of type ${syntax} is discrete`);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue