servo/tests/wpt/web-platform-tests/screen_enumeration/getScreens.values.https.html

44 lines
1.7 KiB
HTML

<!DOCTYPE html>
<meta charset="utf-8">
<title>Screen Enumeration: getScreens() tentative</title>
<!-- TODO: update link to W3C whenever specifications are ready -->
<link rel="help" href="https://github.com/webscreens/screen-enumeration"/>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/screenenumeration-helpers.js"></script>
<script>
"use strict";
screen_enumeration_test(async (t, mockScreenEnum) => {
let display1 = makeDisplay(10,
{x: 0, y: 10, width: 1200, height: 800},
{x: 20, y: 30, width: 1000, height: 600},
1.0);
mockScreenEnum.addDisplay(display1);
mockScreenEnum.setIds(mockScreenEnum.displays_[0].id, mockScreenEnum.displays_[0].id);
mockScreenEnum.setSuccess(true);
// Grant window-placement permissions for testdriver.
await test_driver.set_permission({name: "window-placement"}, "granted");
// This call is calling GetDisplays, which should fall in interceptor.
const screens = await self.getScreens();
assert_equals(screens.length, 1);
assert_equals(screens[0].left, 0);
assert_equals(screens[0].top, 10);
assert_equals(screens[0].width, 1200);
assert_equals(screens[0].height, 800);
assert_equals(screens[0].availLeft, 20);
assert_equals(screens[0].availTop, 30);
assert_equals(screens[0].availWidth, 1000);
assert_equals(screens[0].availHeight, 600);
assert_equals(screens[0].primary, true);
assert_equals(screens[0].internal, true);
assert_equals(screens[0].scaleFactor, 1.0);
assert_equals(screens[0].id, "0");
}, "getScreens() returns a single mocked screen");
</script>