| <!doctype html> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| <style> |
| .test-case { |
| color: rgb(1, 2, 3); |
| } |
| .wrapper { |
| color: rgb(4, 5, 6); |
| } |
| target { |
| border-color: currentcolor; |
| background-color: currentcolor; |
| } |
| </style> |
| <script> |
| jsTestIsAsync = true; |
| function testColor(expectedColor) { |
| var allTargets = document.querySelectorAll(".test-case target"); |
| for (var i = 0; i < allTargets.length; ++i) { |
| shouldBeEqualToString('getComputedStyle(document.querySelectorAll(".test-case target")[' + i + ']).borderColor', expectedColor); |
| shouldBeEqualToString('getComputedStyle(document.querySelectorAll(".test-case target")[' + i + ']).backgroundColor', expectedColor); |
| } |
| } |
| |
| function runTest() { |
| description('Test that the properties that use the CSS Value "currentcolor" to define the color are updated correctly when the inherited color changes.'); |
| |
| debug(""); |
| debug("Initial state."); |
| testColor("rgb(4, 5, 6)"); |
| |
| debug(""); |
| debug("Let's override the style of the wrapper through their style object."); |
| var allWrappers = document.querySelectorAll(".wrapper"); |
| for (var i = 0; i < allWrappers.length; ++i) { |
| allWrappers[i].style.color = "rgb(7, 8, 9)"; |
| } |
| testColor("rgb(7, 8, 9)"); |
| |
| debug(""); |
| debug("Let's remove the style attribute on the wrapper."); |
| for (var i = 0; i < allWrappers.length; ++i) { |
| allWrappers[i].removeAttribute("style"); |
| } |
| testColor("rgb(4, 5, 6)"); |
| |
| debug(""); |
| debug("Let's remove class on the wrappers."); |
| for (var i = 0; i < allWrappers.length; ++i) { |
| allWrappers[i].classList.remove("wrapper"); |
| } |
| testColor("rgb(1, 2, 3)"); |
| |
| debug(""); |
| debug("Then add it back."); |
| for (var i = 0; i < allWrappers.length; ++i) { |
| allWrappers[i].classList.add("wrapper"); |
| } |
| testColor("rgb(4, 5, 6)"); |
| |
| finishJSTest(); |
| } |
| window.addEventListener("load", runTest); |
| </script> |
| </head> |
| <body> |
| <div class="test-case"> |
| <div class="wrapper"> |
| <target></target> |
| </div> |
| <div class="wrapper"> |
| <target></target> |
| </div> |
| </div> |
| <div class="test-case" style="display:none;"> |
| <div class="wrapper"> |
| <target></target> |
| </div> |
| <div class="wrapper"> |
| <target></target> |
| </div> |
| </div> |
| </body> |
| <script src="../../resources/js-test-post.js"></script> |
| </html> |