Commit a1b464db authored by miguelg@chromium.org's avatar miguelg@chromium.org

Add layout tests for hasPermission

BUG=401424

Requires https://codereview.chromium.org/677073002

Review URL: https://codereview.chromium.org/676003002

git-svn-id: svn://svn.chromium.org/blink/trunk@185135 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent ce49396c
...@@ -6,6 +6,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE ...@@ -6,6 +6,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
PASS error.name is "AbortError" PASS error.name is "AbortError"
PASS registration.pushEndpoint is "endpoint" PASS registration.pushEndpoint is "endpoint"
PASS registration.pushRegistrationId is "registrationId" PASS registration.pushRegistrationId is "registrationId"
PASS status is "granted"
PASS successfullyParsed is true PASS successfullyParsed is true
TEST COMPLETE TEST COMPLETE
......
Tests for the Push API hasPermission method.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS status is "default"
PASS status is "denied"
PASS status is "granted"
PASS successfullyParsed is true
TEST COMPLETE
<!DOCTYPE html>
<html>
<head>
<script src="../resources/js-test.js"></script>
</head>
<body>
<script>
description('Tests for the Push API hasPermission method.');
if (!window.testRunner)
debug('This test can not run without testRunner');
window.jsTestIsAsync = true;
function testPushHasPermissionDefault() {
window.testRunner.setMockPushClientError('permission_default');
testPushHasPermission('default', testPushHasPermissionDenied);
}
function testPushHasPermissionDenied() {
window.testRunner.setMockPushClientError('deny_permission');
testPushHasPermission('denied', testPushHasPermissionGranted);
}
function testPushHasPermissionGranted() {
window.testRunner.setMockPushClientSuccess('endpoint', 'registrationId');
testPushHasPermission('granted');
}
function testPushHasPermission(expectedStatus, runNext) {
navigator.push.hasPermission().then(function(permissionStatus) {
status = permissionStatus;
shouldBeEqualToString('status', expectedStatus);
if (runNext)
runNext();
else
finishJSTest();
}, function() {
testFailed('Promise rejected unexpectedly.');
finishJSTest();
});
}
testPushHasPermissionDefault();
</script>
</body>
</html>
...@@ -31,12 +31,24 @@ function testPushRegistrationSuccess() { ...@@ -31,12 +31,24 @@ function testPushRegistrationSuccess() {
registration = reg; registration = reg;
shouldBeEqualToString('registration.pushEndpoint', 'endpoint'); shouldBeEqualToString('registration.pushEndpoint', 'endpoint');
shouldBeEqualToString('registration.pushRegistrationId', 'registrationId'); shouldBeEqualToString('registration.pushRegistrationId', 'registrationId');
finishJSTest(); testPushHasPermission();
}, function(e) { }, function(e) {
testFailed('Error callback invoked unexpectedly.'); testFailed('Error callback invoked unexpectedly.');
finishJSTest(); finishJSTest();
}); });
} }
function testPushHasPermission() {
navigator.push.hasPermission().then(function(permissionStatus) {
status = permissionStatus;
shouldBeEqualToString('status', 'granted');
finishJSTest();
}, function() {
testFailed('Error callback invoked unexpectedly.');
finishJSTest();
});
}
</script> </script>
</body> </body>
</html> </html>
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