| <!DOCTYPE html> |
| <link rel="help" href="https://drafts.csswg.org/mediaqueries-5/#prefers-reduced-data" /> |
| <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-reduced-data)"); |
| query_should_be_css_parseable("(prefers-reduced-data: no-preference)"); |
| query_should_be_css_parseable("(prefers-reduced-data: reduce)"); |
| |
| query_should_not_be_css_parseable("(prefers-reduced-data: 0)"); |
| query_should_not_be_css_parseable("(prefers-reduced-data: none)"); |
| query_should_not_be_css_parseable("(prefers-reduced-data: 10px)"); |
| query_should_not_be_css_parseable("(prefers-reduced-data: no-preference reduce)"); |
| query_should_not_be_css_parseable("(prefers-reduced-data: reduced)"); |
| query_should_not_be_css_parseable("(prefers-reduced-data: no-preference/reduce)"); |
| |
| query_should_be_js_parseable("(prefers-reduced-data)"); |
| query_should_be_js_parseable("(prefers-reduced-data: no-preference)"); |
| query_should_be_js_parseable("(prefers-reduced-data: reduce)"); |
| |
| query_should_not_be_js_parseable("(prefers-reduced-data: 0)"); |
| query_should_not_be_js_parseable("(prefers-reduced-data: none)"); |
| query_should_not_be_js_parseable("(prefers-reduced-data: 10px)"); |
| query_should_not_be_js_parseable("(prefers-reduced-data: no-preference reduce)"); |
| query_should_not_be_js_parseable("(prefers-reduced-data: reduced)"); |
| query_should_not_be_js_parseable("(prefers-reduced-data: no-preference/reduce)"); |
| |
| test(() => { |
| // https://drafts.csswg.org/mediaqueries-5/#boolean-context |
| let booleanContext = window.matchMedia("(prefers-reduced-data)"); |
| let noPreference = window.matchMedia("(prefers-reduced-data: no-preference)"); |
| assert_equals(booleanContext.matches, !noPreference.matches); |
| }, "Check that no-preference evaluates to false in the boolean context"); |
| |
| test(() => { |
| let invalid = window.matchMedia("(prefers-reduced-data: 10px)"); |
| assert_equals(invalid.matches, false); |
| }, "Check that invalid evaluates to false"); |
| </script> |