aboutsummaryrefslogtreecommitdiffstats
path: root/tests/wpt/tests/viewport-segments/viewport-segments-change-event.https.html
diff options
context:
space:
mode:
Diffstat (limited to 'tests/wpt/tests/viewport-segments/viewport-segments-change-event.https.html')
-rw-r--r--tests/wpt/tests/viewport-segments/viewport-segments-change-event.https.html51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/wpt/tests/viewport-segments/viewport-segments-change-event.https.html b/tests/wpt/tests/viewport-segments/viewport-segments-change-event.https.html
new file mode 100644
index 00000000000..f039d5514d0
--- /dev/null
+++ b/tests/wpt/tests/viewport-segments/viewport-segments-change-event.https.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script>
+'use strict';
+
+promise_test(async (t) => {
+ t.add_cleanup(async () => {
+ await test_driver.clear_display_features();
+ });
+
+ // There is always one segment the dimension of the viewport.
+ assert_true(matchMedia('(horizontal-viewport-segments: 1)').matches);
+ assert_true(matchMedia('(vertical-viewport-segments: 1)').matches);
+
+ assert_false(matchMedia('(horizontal-viewport-segments: 2)').matches);
+ assert_false(matchMedia('(vertical-viewport-segments: 2)').matches);
+
+ const horizontalViewportSegmentsMQL = window.matchMedia('(horizontal-viewport-segments: 2)');
+ const verticalViewportSegmentsMQL = window.matchMedia('(vertical-viewport-segments: 2)');
+ let promise = new Promise(resolve => {
+ horizontalViewportSegmentsMQL.addEventListener(
+ 'change',
+ () => { resolve(horizontalViewportSegmentsMQL.matches); },
+ { once: true }
+ );
+ });
+ await test_driver.set_display_features([{
+ orientation: 'vertical', maskLength: 20, offset: 20
+ }]);
+ assert_true(await promise, 'The horizontal viewport segments media query should match.');
+
+ promise = new Promise(resolve => {
+ verticalViewportSegmentsMQL.addEventListener(
+ 'change',
+ () => { resolve(verticalViewportSegmentsMQL.matches); },
+ { once: true }
+ );
+ });
+ await test_driver.set_display_features([{
+ orientation: 'horizontal', maskLength: 20, offset: 20
+ }]);
+ assert_true(await promise, 'The vertical viewport segments media query should match.');
+}, 'Tests the Viewport Segments Media Query change event handler.');
+</script>
+</head>
+<body>
+</body>
+</html>