blob: fe0d2f057c31c8bd122483c8e282bc1188fc2a69 [file] [log] [blame]
<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/mediaqueries-5/#prefers-contrast" />
<script type="text/javascript" src="/resources/testharness.js"></script>
<script type="text/javascript" src="/resources/testharnessreport.js"></script>
<script type="text/javascript" src="resources/matchmedia-utils.js"></script>
<script>
query_should_be_css_parseable("(prefers-contrast)");
query_should_be_css_parseable("(prefers-contrast: no-preference)");
query_should_be_css_parseable("(prefers-contrast: more)");
query_should_be_css_parseable("(prefers-contrast: less)");
query_should_be_css_parseable("(prefers-contrast: forced)");
query_should_not_be_css_parseable("(prefers-contrast: increase)");
query_should_not_be_css_parseable("(prefers-contrast: none)");
query_should_not_be_css_parseable("(prefers-contrast: forced high)");
query_should_not_be_css_parseable("(prefers-contrast: forced low)");
query_should_not_be_css_parseable("(prefers-contrast > increase)");
query_should_not_be_css_parseable("(prefers-increased-contrast)");
query_should_not_be_css_parseable("(prefers-decreased-contrast)");
query_should_not_be_css_parseable("(prefers-contrast: high)");
query_should_not_be_css_parseable("(prefers-contrast: low)");
query_should_be_js_parseable("(prefers-contrast)");
query_should_be_js_parseable("(prefers-contrast: no-preference)");
query_should_be_js_parseable("(prefers-contrast: more)");
query_should_be_js_parseable("(prefers-contrast: less)");
query_should_be_js_parseable("(prefers-contrast: forced)");
query_should_not_be_js_parseable("(prefers-contrast: increase)");
query_should_not_be_js_parseable("(prefers-contrast: none)");
query_should_not_be_js_parseable("(prefers-contrast: forced high)");
query_should_not_be_js_parseable("(prefers-contrast: forced low)");
query_should_not_be_js_parseable("(prefers-contrast > increase)");
query_should_not_be_js_parseable("(prefers-increased-contrast)");
query_should_not_be_js_parseable("(prefers-decreased-contrast)");
query_should_not_be_js_parseable("(prefers-contrast: high)");
query_should_not_be_js_parseable("(prefers-contrast: low)");
test(() => {
// no-preference is the default and all other values evaluate to
// true in the boolean context. If no-preference matches, then
// boolean context should be false. If no-preference does not match
// then boolean context should be true. Therefore, these two values
// should always be each others inverse irrespective of OS level
// settings.
let booleanContext = window.matchMedia("(prefers-contrast)");
let noPref = window.matchMedia("(prefers-contrast: no-preference)");
assert_equals(noPref.matches, !booleanContext.matches);
}, "Check boolean context evaluation.");
</script>