Commit aa6fd572 authored by Reilly Grant's avatar Reilly Grant Committed by Commit Bot

[wakelock] Upstream remaining tests to WPT

Now that test_runner.set_permission() is available these Wake Lock API
tests can be upstreamed to Web Platform Tests.

Bug: 1015327
Change-Id: I7bb1c7cbc458c8b7b05c0c2361fbe5ea50444e8b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2089968Reviewed-by: default avatarRaphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Auto-Submit: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#747928}
parent c731edae
...@@ -5,9 +5,6 @@ ...@@ -5,9 +5,6 @@
<script src="/resources/testdriver.js"></script> <script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script> <script src="/resources/testdriver-vendor.js"></script>
<script> <script>
// TODO(https://crbug.com/1015327): Move this to WPT once we can change
// permissions via testdriver.js.
async_test(async t => { async_test(async t => {
await test_driver.set_permission({name: 'wake-lock', type: 'screen'}, 'granted', false); await test_driver.set_permission({name: 'wake-lock', type: 'screen'}, 'granted', false);
......
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<body> <body>
<script src="../resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="../resources/testdriver.js"></script> <script src="/resources/testdriver.js"></script>
<script src="../resources/testdriver-vendor.js"></script> <script src="/resources/testdriver-vendor.js"></script>
<script> <script>
'use strict'; 'use strict';
promise_test(async t => { promise_test(async t => {
await test_driver.set_permission({name: 'wake-lock', type: 'screen'}, 'denied', false); await test_driver.set_permission({name: 'wake-lock', type: 'screen'}, 'denied', false);
return promise_rejects(t, "NotAllowedError", navigator.wakeLock.request('screen')); return promise_rejects_dom(t, "NotAllowedError", navigator.wakeLock.request('screen'));
}, 'Denied requests should abort with NotAllowedError'); }, 'Denied requests should abort with NotAllowedError');
</script> </script>
</body> </body>
......
...@@ -2,10 +2,9 @@ ...@@ -2,10 +2,9 @@
<link rel="help" href="https://w3c.github.io/wake-lock/#the-wakelockpermissiondescriptor-dictionary"> <link rel="help" href="https://w3c.github.io/wake-lock/#the-wakelockpermissiondescriptor-dictionary">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script> <script>
// Checking for the permission status requires testdriver.js support for permissions.
// See https://github.com/web-platform-tests/wpt/issues/5671.
promise_test(t => { promise_test(t => {
return promise_rejects_js(t, TypeError, navigator.permissions.query({ name:'wake-lock' })); return promise_rejects_js(t, TypeError, navigator.permissions.query({ name:'wake-lock' }));
}, "WakeLockPermissionDescriptor's type attribute is required"); }, "WakeLockPermissionDescriptor's type attribute is required");
...@@ -13,4 +12,22 @@ promise_test(t => { ...@@ -13,4 +12,22 @@ promise_test(t => {
promise_test(t => { promise_test(t => {
return promise_rejects_js(t, TypeError, navigator.permissions.query({ name: 'wake-lock', type: 'foo' })); return promise_rejects_js(t, TypeError, navigator.permissions.query({ name: 'wake-lock', type: 'foo' }));
}, "WakeLockPermissionDescriptor's type attribute must be a WakeLockType"); }, "WakeLockPermissionDescriptor's type attribute must be a WakeLockType");
</script>
\ No newline at end of file promise_test(async t => {
await test_driver.set_permission({name: 'wake-lock', type: 'screen'}, 'denied', false);
return navigator.permissions.query({name:'wake-lock', type: 'screen'}).then(status => {
assert_class_string(status, "PermissionStatus");
assert_equals(status.state, "denied");
});
}, "WakeLockPermissionDescriptor with type=screen works");
promise_test(async t => {
await test_driver.set_permission({name: 'wake-lock', type: 'system'}, 'denied', false);
return navigator.permissions.query({ name: 'wake-lock', type: 'system' }).then(status => {
assert_class_string(status, "PermissionStatus");
assert_equals(status.state, "denied");
});
}, "WakeLockPermissionDescriptor with type=system works");
</script>
<!DOCTYPE html>
<link rel="help" href="https://w3c.github.io/wake-lock/#the-wakelockpermissiondescriptor-dictionary">
<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>
// TODO(https://crbug.com/1015327): Move this to WPT once we can change
// permissions via testdriver.js.
promise_test(async t => {
await test_driver.set_permission({name: 'wake-lock', type: 'screen'}, 'denied', false);
return navigator.permissions.query({name:'wake-lock', type: 'screen'}).then(status => {
assert_class_string(status, "PermissionStatus");
assert_equals(status.state, "denied");
});
}, "WakeLockPermissionDescriptor with type=screen works");
promise_test(async t => {
await test_driver.set_permission({name: 'wake-lock', type: 'system'}, 'denied', false);
return navigator.permissions.query({ name: 'wake-lock', type: 'system' }).then(status => {
assert_class_string(status, "PermissionStatus");
assert_equals(status.state, "denied");
});
}, "WakeLockPermissionDescriptor with type=system works");
</script>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment