mirror of
https://github.com/servo/servo.git
synced 2025-06-28 19:13:41 +01:00
148 lines
4.9 KiB
HTML
148 lines
4.9 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset=utf-8>
|
|
<title>duration tests</title>
|
|
<link rel="help" href="http://w3c.github.io/web-animations/#dom-animationeffecttiming-duration">
|
|
<link rel="author" title="Ryo Motozawa" href="mailto:motozawa@mozilla-japan.org">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="../../testcommon.js"></script>
|
|
<body>
|
|
<div id="log"></div>
|
|
<script>
|
|
'use strict';
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
var anim = div.animate({ opacity: [ 0, 1 ] }, 2000);
|
|
anim.effect.timing.duration = 123.45;
|
|
assert_times_equal(anim.effect.timing.duration, 123.45,
|
|
'set duration 123.45');
|
|
assert_times_equal(anim.effect.getComputedTiming().duration, 123.45,
|
|
'getComputedTiming() after set duration 123.45');
|
|
}, 'set duration 123.45');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
var anim = div.animate({ opacity: [ 0, 1 ] }, 2000);
|
|
anim.effect.timing.duration = 'auto';
|
|
assert_equals(anim.effect.timing.duration, 'auto', 'set duration \'auto\'');
|
|
assert_equals(anim.effect.getComputedTiming().duration, 0,
|
|
'getComputedTiming() after set duration \'auto\'');
|
|
}, 'set duration auto');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
var anim = div.animate({ opacity: [ 0, 1 ] }, { duration: 'auto' });
|
|
assert_equals(anim.effect.timing.duration, 'auto', 'set duration \'auto\'');
|
|
assert_equals(anim.effect.getComputedTiming().duration, 0,
|
|
'getComputedTiming() after set duration \'auto\'');
|
|
}, 'set auto duration in animate as object');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
var anim = div.animate({ opacity: [ 0, 1 ] }, 2000);
|
|
anim.effect.timing.duration = Infinity;
|
|
assert_equals(anim.effect.timing.duration, Infinity, 'set duration Infinity');
|
|
assert_equals(anim.effect.getComputedTiming().duration, Infinity,
|
|
'getComputedTiming() after set duration Infinity');
|
|
}, 'set duration Infinity');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
assert_throws({ name: 'TypeError' }, function() {
|
|
div.animate({ opacity: [ 0, 1 ] }, -1);
|
|
});
|
|
}, 'set negative duration in animate using a duration parameter');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
assert_throws({ name: 'TypeError' }, function() {
|
|
div.animate({ opacity: [ 0, 1 ] }, -Infinity);
|
|
});
|
|
}, 'set negative Infinity duration in animate using a duration parameter');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
assert_throws({ name: 'TypeError' }, function() {
|
|
div.animate({ opacity: [ 0, 1 ] }, NaN);
|
|
});
|
|
}, 'set NaN duration in animate using a duration parameter');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
assert_throws({ name: 'TypeError' }, function() {
|
|
div.animate({ opacity: [ 0, 1 ] }, { duration: -1 });
|
|
});
|
|
}, 'set negative duration in animate using an options object');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
assert_throws({ name: 'TypeError' }, function() {
|
|
div.animate({ opacity: [ 0, 1 ] }, { duration: -Infinity });
|
|
});
|
|
}, 'set negative Infinity duration in animate using an options object');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
assert_throws({ name: 'TypeError' }, function() {
|
|
div.animate({ opacity: [ 0, 1 ] }, { duration: NaN });
|
|
});
|
|
}, 'set NaN duration in animate using an options object');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
assert_throws({ name: 'TypeError' }, function() {
|
|
div.animate({ opacity: [ 0, 1 ] }, { duration: 'abc' });
|
|
});
|
|
}, 'set abc string duration in animate using an options object');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
assert_throws({ name: 'TypeError' }, function() {
|
|
div.animate({ opacity: [ 0, 1 ] }, { duration: '100' });
|
|
});
|
|
}, 'set 100 string duration in animate using an options object');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
var anim = div.animate({ opacity: [ 0, 1 ] }, 2000);
|
|
assert_throws({ name: 'TypeError' }, function() {
|
|
anim.effect.timing.duration = -1;
|
|
});
|
|
}, 'set negative duration');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
var anim = div.animate({ opacity: [ 0, 1 ] }, 2000);
|
|
assert_throws({ name: 'TypeError' }, function() {
|
|
anim.effect.timing.duration = -Infinity;
|
|
});
|
|
}, 'set negative Infinity duration');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
var anim = div.animate({ opacity: [ 0, 1 ] }, 2000);
|
|
assert_throws({ name: 'TypeError' }, function() {
|
|
anim.effect.timing.duration = NaN;
|
|
});
|
|
}, 'set NaN duration');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
var anim = div.animate({ opacity: [ 0, 1 ] }, 2000);
|
|
assert_throws({ name: 'TypeError' }, function() {
|
|
anim.effect.timing.duration = 'abc';
|
|
});
|
|
}, 'set duration abc');
|
|
|
|
test(function(t) {
|
|
var div = createDiv(t);
|
|
var anim = div.animate({ opacity: [ 0, 1 ] }, 2000);
|
|
assert_throws({ name: 'TypeError' }, function() {
|
|
anim.effect.timing.duration = '100';
|
|
});
|
|
}, 'set duration string 100');
|
|
|
|
|
|
</script>
|
|
</body>
|