| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <script src=../../resources/testharness.js></script> |
| <script src=../../resources/testharnessreport.js></script> |
| <style> |
| input { |
| background-color: rgb(50, 150, 200); |
| } |
| input:focus-within { |
| background-color: rgb(250, 200, 150); |
| } |
| </style> |
| <input id="input"> |
| <script> |
| test(() => assert_not_equals(window.testRunner, undefined), |
| "Check window.testRunner is available"); |
| |
| const input = document.getElementById("input"); |
| input.focus(); |
| |
| test(() => assert_equals(getComputedStyle(input).backgroundColor, "rgb(250, 200, 150)"), |
| "Check ':focus-within' is applied after focusing the input"); |
| |
| testRunner.setWindowIsKey(false); |
| test(() => assert_equals(getComputedStyle(input).backgroundColor, "rgb(50, 150, 200)"), |
| "Check ':focus-within' is not applied when the window is inactive"); |
| |
| testRunner.setWindowIsKey(true); |
| test(() => assert_equals(getComputedStyle(input).backgroundColor, "rgb(250, 200, 150)"), |
| "Check ':focus-within' is applied when the window is active again"); |
| </script> |