mirror of
https://github.com/servo/servo.git
synced 2025-08-17 11:25:35 +01:00
Update web-platform-tests to revision 60220357131c65146444da1f54624d5b54d0975d
This commit is contained in:
parent
c45192614c
commit
775b784f79
2144 changed files with 58115 additions and 29658 deletions
|
@ -1,29 +0,0 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>Animation IDL</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/web-animations/#animation">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/WebIDLParser.js"></script>
|
||||
<script src="/resources/idlharness.js"></script>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
promise_test(async () => {
|
||||
const idl = await fetch('/interfaces/web-animations.idl').then(r => r.text());
|
||||
const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
|
||||
const html = await fetch('/interfaces/html.idl').then(r => r.text());
|
||||
|
||||
const idlArray = new IdlArray();
|
||||
idlArray.add_idls(idl, {only: ['Animation', 'AnimationPlayState']});
|
||||
idlArray.add_dependency_idls(idl);
|
||||
idlArray.add_dependency_idls(dom);
|
||||
idlArray.add_dependency_idls(html);
|
||||
idlArray.add_untested_idls('interface CSSPseudoElement {};');
|
||||
idlArray.add_objects( { Animation: ['new Animation()'] } );
|
||||
idlArray.test();
|
||||
done();
|
||||
}, 'Animation interface.');
|
||||
|
||||
</script>
|
|
@ -0,0 +1,21 @@
|
|||
// META: script=/resources/WebIDLParser.js
|
||||
// META: script=/resources/idlharness.js
|
||||
|
||||
// https://w3c.github.io/web-animations/#animation
|
||||
|
||||
'use strict';
|
||||
|
||||
promise_test(async () => {
|
||||
const srcs = ['web-animations', 'dom', 'html'];
|
||||
const [idl, dom, html] = await Promise.all(
|
||||
srcs.map(i => fetch(`/interfaces/${i}.idl`).then(r => r.text())));
|
||||
|
||||
const idlArray = new IdlArray();
|
||||
idlArray.add_idls(idl, {only: ['Animation', 'AnimationPlayState']});
|
||||
idlArray.add_dependency_idls(idl);
|
||||
idlArray.add_dependency_idls(dom);
|
||||
idlArray.add_dependency_idls(html);
|
||||
idlArray.add_untested_idls('interface CSSPseudoElement {};');
|
||||
idlArray.add_objects( { Animation: ['new Animation()'] } );
|
||||
idlArray.test();
|
||||
}, 'Animation interface.');
|
|
@ -71,7 +71,7 @@ async_test(t => {
|
|||
animation.finish();
|
||||
}, 'onfinish event is fired when animation.finish() is called');
|
||||
|
||||
promise_test(t => {
|
||||
promise_test(async t => {
|
||||
const div = createDiv(t);
|
||||
const animation = div.animate({}, 100 * MS_PER_SEC);
|
||||
|
||||
|
@ -82,38 +82,36 @@ promise_test(t => {
|
|||
animation.currentTime = 100 * MS_PER_SEC / 2;
|
||||
animation.pause();
|
||||
|
||||
return animation.ready.then(() => {
|
||||
animation.currentTime = 100 * MS_PER_SEC;
|
||||
return waitForAnimationFrames(2);
|
||||
});
|
||||
await animation.ready;
|
||||
animation.currentTime = 100 * MS_PER_SEC;
|
||||
await waitForAnimationFrames(2);
|
||||
}, 'onfinish event is not fired when paused');
|
||||
|
||||
promise_test(t => {
|
||||
promise_test(async t => {
|
||||
const div = createDiv(t);
|
||||
const animation = div.animate({}, 100 * MS_PER_SEC);
|
||||
animation.onfinish = event => {
|
||||
assert_unreached('onfinish event should not be fired');
|
||||
};
|
||||
|
||||
return animation.ready.then(() => {
|
||||
animation.playbackRate = 0;
|
||||
animation.currentTime = 100 * MS_PER_SEC;
|
||||
return waitForAnimationFrames(2);
|
||||
});
|
||||
await animation.ready;
|
||||
animation.playbackRate = 0;
|
||||
animation.currentTime = 100 * MS_PER_SEC;
|
||||
await waitForAnimationFrames(2);
|
||||
}, 'onfinish event is not fired when the playbackRate is zero');
|
||||
|
||||
promise_test(t => {
|
||||
promise_test(async t => {
|
||||
const div = createDiv(t);
|
||||
const animation = div.animate({}, 100 * MS_PER_SEC);
|
||||
|
||||
animation.onfinish = event => {
|
||||
assert_unreached('onfinish event should not be fired');
|
||||
};
|
||||
|
||||
return animation.ready.then(() => {
|
||||
animation.currentTime = 100 * MS_PER_SEC;
|
||||
animation.currentTime = 100 * MS_PER_SEC / 2;
|
||||
return waitForAnimationFrames(2);
|
||||
});
|
||||
await animation.ready;
|
||||
animation.currentTime = 100 * MS_PER_SEC;
|
||||
animation.currentTime = 100 * MS_PER_SEC / 2;
|
||||
await waitForAnimationFrames(2);
|
||||
}, 'onfinish event is not fired when the animation falls out ' +
|
||||
'finished state immediately');
|
||||
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>AnimationPlaybackEvent IDL</title>
|
||||
<link rel="help"
|
||||
href="https://drafts.csswg.org/web-animations/#animationplaybackevent">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/WebIDLParser.js"></script>
|
||||
<script src="/resources/idlharness.js"></script>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
promise_test(async () => {
|
||||
const text = await fetch('/interfaces/web-animations.idl').then(response =>
|
||||
response.text(),
|
||||
);
|
||||
const idlArray = new IdlArray();
|
||||
idlArray.add_untested_idls(`dictionary EventInit {
|
||||
boolean bubbles = false;
|
||||
boolean cancelable = false;
|
||||
boolean composed = false;
|
||||
};`);
|
||||
idlArray.add_idls(text, {
|
||||
only: [
|
||||
'AnimationPlaybackEventInit',
|
||||
'AnimationPlaybackEvent',
|
||||
]
|
||||
});
|
||||
|
||||
idlArray.add_untested_idls('interface Event {};');
|
||||
idlArray.add_objects({
|
||||
AnimationPlaybackEvent: ['new AnimationPlaybackEvent(\'cancel\')'],
|
||||
});
|
||||
|
||||
idlArray.test();
|
||||
done();
|
||||
}, 'AnimationPlaybackEvent interface.');
|
||||
</script>
|
|
@ -0,0 +1,26 @@
|
|||
// META: script=/resources/WebIDLParser.js
|
||||
// META: script=/resources/idlharness.js
|
||||
|
||||
// https://w3c.github.io/web-animations/#animationplaybackevent
|
||||
|
||||
'use strict';
|
||||
|
||||
promise_test(async () => {
|
||||
const srcs = ['web-animations', 'dom'];
|
||||
const [idl, dom] = await Promise.all(
|
||||
srcs.map(i => fetch(`/interfaces/${i}.idl`).then(r => r.text())));
|
||||
|
||||
const idlArray = new IdlArray();
|
||||
idlArray.add_idls(idl, {
|
||||
only: [
|
||||
'AnimationPlaybackEventInit',
|
||||
'AnimationPlaybackEvent',
|
||||
]
|
||||
});
|
||||
idlArray.add_dependency_idls(dom);
|
||||
idlArray.add_objects({
|
||||
AnimationPlaybackEvent: ['new AnimationPlaybackEvent("cancel")'],
|
||||
});
|
||||
|
||||
idlArray.test();
|
||||
}, 'AnimationPlaybackEvent interface.');
|
|
@ -1,30 +0,0 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>DocumentTimeline IDL</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/web-animations/#documenttimeline">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/WebIDLParser.js"></script>
|
||||
<script src="/resources/idlharness.js"></script>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
promise_test(async () => {
|
||||
const text = await fetch('/interfaces/web-animations.idl').then(response =>
|
||||
response.text(),
|
||||
);
|
||||
const idlArray = new IdlArray();
|
||||
idlArray.add_idls(text, {
|
||||
only: [
|
||||
'AnimationTimeline',
|
||||
'DocumentTimelineOptions',
|
||||
'DocumentTimeline',
|
||||
]
|
||||
});
|
||||
idlArray.add_objects({ DocumentTimeline: ['document.timeline'] });
|
||||
|
||||
idlArray.test();
|
||||
done();
|
||||
}, 'DocumentTimeline interface.');
|
||||
</script>
|
|
@ -0,0 +1,22 @@
|
|||
// META: script=/resources/WebIDLParser.js
|
||||
// META: script=/resources/idlharness.js
|
||||
|
||||
// https://w3c.github.io/web-animations/#documenttimeline
|
||||
|
||||
'use strict';
|
||||
|
||||
promise_test(async () => {
|
||||
const text = await fetch('/interfaces/web-animations.idl').then(r => r.text());
|
||||
const idlArray = new IdlArray();
|
||||
idlArray.add_idls(text, {
|
||||
only: [
|
||||
'AnimationTimeline',
|
||||
'DocumentTimelineOptions',
|
||||
'DocumentTimeline',
|
||||
]
|
||||
});
|
||||
idlArray.add_objects({ DocumentTimeline: ['document.timeline'] });
|
||||
|
||||
idlArray.test();
|
||||
done();
|
||||
}, 'DocumentTimeline interface.');
|
|
@ -1,79 +0,0 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>KeyframeEffect IDL</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/web-animations/#keyframeeffect">
|
||||
<link rel="help"
|
||||
href="https://drafts.csswg.org/web-animations/#keyframeeffectreadonly">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/WebIDLParser.js"></script>
|
||||
<script src="/resources/idlharness.js"></script>
|
||||
<div id="log"></div>
|
||||
<script type="text/plain" id="AnimationEffect-IDL">
|
||||
dictionary EffectTiming {
|
||||
double delay = 0.0;
|
||||
double endDelay = 0.0;
|
||||
FillMode fill = "auto";
|
||||
double iterationStart = 0.0;
|
||||
unrestricted double iterations = 1.0;
|
||||
(unrestricted double or DOMString) duration = "auto";
|
||||
PlaybackDirection direction = "normal";
|
||||
DOMString easing = "linear";
|
||||
};
|
||||
|
||||
dictionary OptionalEffectTiming {
|
||||
double delay;
|
||||
double endDelay;
|
||||
FillMode fill;
|
||||
double iterationStart;
|
||||
unrestricted double iterations;
|
||||
(unrestricted double or DOMString) duration;
|
||||
PlaybackDirection direction;
|
||||
DOMString easing;
|
||||
};
|
||||
|
||||
dictionary ComputedEffectTiming : EffectTiming {
|
||||
unrestricted double endTime = 0.0;
|
||||
unrestricted double activeDuration = 0.0;
|
||||
double? localTime = null;
|
||||
double? progress = null;
|
||||
unrestricted double? currentIteration = null;
|
||||
};
|
||||
|
||||
[Exposed=Window]
|
||||
interface AnimationEffect {
|
||||
EffectTiming getTiming();
|
||||
ComputedEffectTiming getComputedTiming();
|
||||
void updateTiming(optional OptionalEffectTiming timing);
|
||||
};
|
||||
</script>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
promise_test(async () => {
|
||||
const idlArray = new IdlArray();
|
||||
idlArray.add_untested_idls(
|
||||
document.getElementById('AnimationEffect-IDL').textContent
|
||||
);
|
||||
const text = await fetch('/interfaces/web-animations.idl').then(response =>
|
||||
response.text(),
|
||||
);
|
||||
idlArray.add_idls(text, {
|
||||
only: [
|
||||
'IterationCompositeOperation',
|
||||
'CompositeOperation',
|
||||
'KeyframeEffectOptions',
|
||||
'KeyframeEffect',
|
||||
]
|
||||
});
|
||||
|
||||
idlArray.add_untested_idls('interface CSSPseudoElement {};');
|
||||
idlArray.add_untested_idls('interface Element {};');
|
||||
idlArray.add_objects({
|
||||
KeyframeEffect: ['new KeyframeEffect(null, null)'],
|
||||
});
|
||||
|
||||
idlArray.test();
|
||||
done();
|
||||
}, 'KeyframeEffect interface.');
|
||||
</script>
|
|
@ -0,0 +1,31 @@
|
|||
// META: script=/resources/WebIDLParser.js
|
||||
// META: script=/resources/idlharness.js
|
||||
|
||||
// https://w3c.github.io/web-animations/#keyframeeffect
|
||||
|
||||
'use strict';
|
||||
|
||||
promise_test(async () => {
|
||||
const srcs = ['web-animations', 'html'];
|
||||
const [idl, html] = await Promise.all(
|
||||
srcs.map(i => fetch(`/interfaces/${i}.idl`).then(r => r.text())));
|
||||
|
||||
const idlArray = new IdlArray();
|
||||
idlArray.add_idls(idl, {
|
||||
only: [
|
||||
'IterationCompositeOperation',
|
||||
'CompositeOperation',
|
||||
'KeyframeEffectOptions',
|
||||
'KeyframeEffect',
|
||||
]
|
||||
});
|
||||
idlArray.add_untested_idls('interface CSSPseudoElement {};');
|
||||
idlArray.add_dependency_idls(idl);
|
||||
idlArray.add_dependency_idls(html);
|
||||
idlArray.add_objects({
|
||||
KeyframeEffect: ['new KeyframeEffect(null, null)'],
|
||||
});
|
||||
|
||||
idlArray.test();
|
||||
done();
|
||||
}, 'KeyframeEffect interface.');
|
|
@ -35,8 +35,16 @@ const gNonAnimatableProps = [
|
|||
'transitionDuration',
|
||||
'transitionProperty',
|
||||
'transitionTimingFunction',
|
||||
'contain',
|
||||
'direction',
|
||||
'display',
|
||||
'textOrientation',
|
||||
'unicodeBidi',
|
||||
'willChange',
|
||||
'writingMode',
|
||||
|
||||
'unsupportedProperty',
|
||||
|
||||
'font-size', // Supported property that uses dashes
|
||||
];
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue