summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/mediaqueries/prefers-contrast.html
blob: b0a67e96e4312b6166e33f53de522233637bc139 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!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_known("(prefers-contrast)");
query_should_be_known("(prefers-contrast: no-preference)");
query_should_be_known("(prefers-contrast: more)");
query_should_be_known("(prefers-contrast: less)");
query_should_be_known("(prefers-contrast: custom)");

query_should_be_unknown("(prefers-contrast: increase)");
query_should_be_unknown("(prefers-contrast: none)");
query_should_be_unknown("(prefers-contrast: forced high)");
query_should_be_unknown("(prefers-contrast: forced low)");
query_should_be_unknown("(prefers-contrast > increase)");
query_should_be_unknown("(prefers-increased-contrast)");
query_should_be_unknown("(prefers-decreased-contrast)");
query_should_be_unknown("(prefers-contrast: high)");
query_should_be_unknown("(prefers-contrast: low)");
query_should_be_unknown("(prefers-contrast: forced)");

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>