| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>CSS Basic User Interface Test: caret-color dynamic changes</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/css3-color/#color0"> |
| <meta name="flags" content="dom"> |
| <meta name="assert" content="Test checks checks that carret-color can be correctly changed using the style attribute, and that the computed value is done correctly."> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <div id="log"></div> |
| <div id="wrapper"> |
| <textarea id="textarea"></textarea> |
| </div> |
| |
| <script> |
| function testStyleCaretColor(element, value) { |
| assert_equals(element.style.caretColor, value, "The style attribute's caret-color should be '" + value + "'"); |
| } |
| |
| function testComputedStyleCaretColor(element, value) { |
| assert_equals(getComputedStyle(element).getPropertyValue("caret-color"), value, "caret-color computed style should be '" + value + "'"); |
| } |
| |
| function setAndCheckCaretColor(element, caretColor, styleValue, computedStyleValue, description) { |
| element.style.caretColor = caretColor; |
| test(function() { |
| testStyleCaretColor(element, styleValue); |
| testComputedStyleCaretColor(element, computedStyleValue); |
| }, description); |
| } |
| |
| var textarea = document.getElementById("textarea"); |
| setAndCheckCaretColor(textarea, "", "", "rgb(0, 0, 0)", "Test default caret-color"); |
| setAndCheckCaretColor(textarea, "initial", "initial", "rgb(0, 0, 0)", "Test caret-color: initial"); |
| setAndCheckCaretColor(textarea, "inherit", "inherit", "rgb(0, 0, 0)", "Test caret-color: inherit"); |
| setAndCheckCaretColor(textarea, "auto", "auto", "rgb(0, 0, 0)", "Test caret-color: auto"); |
| setAndCheckCaretColor(textarea, "currentcolor", "currentcolor", "rgb(0, 0, 0)", "Test caret-color: currentcolor"); |
| setAndCheckCaretColor(textarea, "lime", "lime", "rgb(0, 255, 0)", "Test caret-color: lime"); |
| setAndCheckCaretColor(textarea, "initial", "initial", "rgb(0, 0, 0)", "Reset caret-color: initial"); |
| setAndCheckCaretColor(textarea, "rgb(0, 100, 100)", "rgb(0, 100, 100)", "rgb(0, 100, 100)", "Test caret-color: rgb(0, 100, 100)"); |
| |
| var wrapper = document.getElementById("wrapper"); |
| wrapper.style.caretColor = "green"; |
| |
| setAndCheckCaretColor(textarea, "initial", "initial", "rgb(0, 0, 0)", "Test caret-color: initial (inherited)"); |
| setAndCheckCaretColor(textarea, "inherit", "inherit", "rgb(0, 128, 0)", "Test caret-color: inherit (inherited)"); |
| setAndCheckCaretColor(textarea, "blue", "blue", "rgb(0, 0, 255)", "Test caret-color: blue (inherited)"); |
| </script> |