| <!DOCTYPE html> |
| |
| <!-- webkit-test-runner [ experimental:DarkModeCSSEnabled=true ] --> |
| |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| |
| <body></body> |
| |
| <script> |
| function test_prop(element, prop, expected) { |
| assert_equals(window.getComputedStyle(element).getPropertyValue(prop), expected); |
| } |
| |
| test(function() { |
| test_prop(document.body, "color", "rgb(0, 0, 0)"); |
| }, "Body text color is black, since the page isn't in dark mode"); |
| |
| test(function() { |
| assert_equals(internals.viewBaseBackgroundColor(), "rgb(255, 255, 255)"); |
| }, "View base background color is white, since the page isn't in dark mode"); |
| |
| test(function() { |
| if (!window.internals) |
| return; |
| internals.settings.setUseDarkAppearance(true); |
| }, "Set dark appearance"); |
| |
| test(function() { |
| test_prop(document.body, "color", "rgb(0, 0, 0)"); |
| }, "Body text color is black, since the page hasn't set a supported color scheme"); |
| |
| test(function() { |
| assert_equals(internals.viewBaseBackgroundColor(), "rgb(255, 255, 255)"); |
| }, "View base background color is white, since the page hasn't set a supported color scheme"); |
| |
| test(function() { |
| let styleElement = document.createElement("style"); |
| styleElement.textContent = ":root { color-scheme: light dark; }"; |
| document.head.appendChild(styleElement); |
| }, "Set prefers-color-schemes: light dark on the body"); |
| |
| test(function() { |
| test_prop(document.body, "color", "rgb(255, 255, 255)"); |
| }, "Body text color is white"); |
| |
| test(function() { |
| if (!window.internals) |
| return; |
| assert_equals(internals.viewBaseBackgroundColor(), "rgb(30, 30, 30)"); |
| }, "View base background color is a dark grey"); |
| </script> |