71 lines
1.8 KiB
HTML
71 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
|
|
<script src="../../resources/testharness.js"></script>
|
|
<script src="../../resources/testharnessreport.js"></script>
|
|
|
|
<style>
|
|
div {
|
|
background-color: red;
|
|
color: text;
|
|
}
|
|
|
|
@media (prefers-color-scheme: light) {
|
|
#test1 {
|
|
background-color: lime;
|
|
}
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
/* This is valid, but should not apply for us since there is no dark mode support. */
|
|
#test1 {
|
|
background-color: blue;
|
|
}
|
|
}
|
|
|
|
@media not (prefers-color-scheme) {
|
|
/* This is valid, but should not apply for us since there is no option for no user preference. */
|
|
#test1 {
|
|
background-color: cyan;
|
|
}
|
|
}
|
|
|
|
@media (prefers-color-scheme: foo) {
|
|
/* This is invalid and should not apply. */
|
|
#test1 {
|
|
background-color: yellow;
|
|
}
|
|
}
|
|
|
|
@media (prefers-color-scheme) {
|
|
/* This is valid and should always apply for us, since there is always a user preference currently. */
|
|
#test2 {
|
|
background-color: lime;
|
|
}
|
|
}
|
|
</style>
|
|
|
|
<div id="test1"></div>
|
|
<div id="test2"></div>
|
|
|
|
<script>
|
|
function test_prop(id, prop, expected) {
|
|
assert_equals(window.getComputedStyle(document.getElementById(id)).getPropertyValue(prop).trim(), expected);
|
|
}
|
|
|
|
test(function() {
|
|
// Styled background-color in media query should be lime green.
|
|
test_prop("test1", "background-color", "rgb(0, 255, 0)");
|
|
|
|
// The semantic text color should be black.
|
|
test_prop("test1", "color", "rgb(0, 0, 0)");
|
|
}, "Element colors are correct in light color scheme");
|
|
|
|
test(function() {
|
|
// Styled background-color in media query should be lime green.
|
|
test_prop("test2", "background-color", "rgb(0, 255, 0)");
|
|
|
|
// The semantic text color should be black.
|
|
test_prop("test2", "color", "rgb(0, 0, 0)");
|
|
}, "Element colors are correct in light color scheme with boolean context query");
|
|
</script>
|