Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id='container'>
<div id='element'></div>
</div>
<script>
'use strict';
var container = document.getElementById('container');
var element = document.getElementById('element');
var properties = [
'fillOpacity',
'floodOpacity',
'opacity',
'shapeImageThreshold',
'stopOpacity',
'strokeOpacity',
];
for (var property of properties) {
test(function() {
var initialKeyframe = {};
initialKeyframe[property] = 'inherit';
var finalKeyframe = {};
finalKeyframe[property] = '0.5';
var keyframes = [ initialKeyframe, finalKeyframe ];
container.style[property] = 1;
var player = element.animate(keyframes, 10);
player.pause();
player.currentTime = 5;
assert_equals(getComputedStyle(element)[property], '0.75');
container.style[property] = 0.25;
assert_equals(getComputedStyle(element)[property], '0.375');
container.style[property] = -0.5; // clamps to 0
assert_equals(getComputedStyle(element)[property], '0.25');
container.style[property] = 2; // clamps to 1
assert_equals(getComputedStyle(element)[property], '0.75');
}, property + ' responsive to inherited changes');
}
</script>