| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>CSS Basic User Interface Test: caret-color currentcolor test animation</title> |
| <link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> |
| <link rel="help" href="http://www.w3.org/TR/css3-ui/#caret-color"> |
| <link rel="help" href="https://www.w3.org/TR/web-animations-1/#dom-animatable-animate"> |
| <link rel="help" href="https://www.w3.org/TR/css3-color/#color0"> |
| <meta name="assert" content="Test checks that 'currentcolor' value for caret-color property is interpolable."> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <style> |
| textarea { |
| color: magenta; |
| } |
| </style> |
| <body> |
| <textarea id="textarea"></textarea> |
| <div id=log></div> |
| |
| <script> |
| test( |
| function(){ |
| var textarea = document.getElementById("textarea"); |
| var keyframes = [ |
| { caretColor: 'currentcolor' }, |
| { caretColor: 'lime' } |
| ]; |
| var options = { |
| duration: 10, |
| fill: "forwards" |
| }; |
| |
| var player = textarea.animate(keyframes, options); |
| player.pause(); |
| player.currentTime = 5; |
| var rgb = getComputedStyle(textarea).caretColor.match(/\d+/g); |
| /* Only testing that the rgb value is some intermediary value, |
| but not checking which, as we only care that the value is interpolated, |
| not about the numerical accuracy of interpolation, |
| which is something tests for the animation spec ought to worry about. */ |
| assert_true( rgb[0] < 255 && rgb[0] > 0, "the red channel is interpolated"); |
| assert_true( rgb[1] < 255 && rgb[1] > 0, "the green channel is interpolated"); |
| assert_true( rgb[2] < 255 && rgb[2] > 0, "the blue channel is interpolated"); |
| }, "caret-color: currentcolor is interpolable"); |
| </script> |
| </body> |