| <!DOCTYPE html> |
| <script src="/resources/js-test-pre.js"></script> |
| <script src="/resources/notifications-test-pre.js"></script> |
| <p id="description"></p> |
| <div id="console"></div> |
| <script> |
| if (window.testRunner) |
| testRunner.waitUntilDone(); |
| |
| description("This test looks for the dispatch of the onshow event handler."); |
| |
| var n = null; |
| function part1() { |
| shouldBeEqualToString("Notification.permission", "default"); |
| |
| n = new Notification("title 1"); |
| n.onshow = function() { |
| testFailed("onshow event handler should not be called"); |
| setTimeout(part2, 0); |
| }; |
| n.onerror = function() { |
| testPassed("onerror event handler was called"); |
| setTimeout(part2, 0); |
| }; |
| } |
| |
| function part2() { |
| debug("Granting permission to " + testURL); |
| testRunner.grantWebNotificationPermission(testURL); |
| shouldBeEqualToString("Notification.permission", "granted"); |
| |
| n = new Notification("title 2"); |
| n.onshow = function() { |
| testPassed("onshow event handler was called"); |
| setTimeout(part3, 0); |
| }; |
| n.onerror = function() { |
| testFailed("onerror event handler should not be called"); |
| setTimeout(part3, 0); |
| }; |
| } |
| |
| function part3() { |
| debug("Denying permission to " + testURL); |
| testRunner.denyWebNotificationPermission(testURL); |
| shouldBeEqualToString("Notification.permission", "denied"); |
| |
| n = new Notification("title 3"); |
| n.onshow = function() { |
| testFailed("onshow event handler should not be called"); |
| setTimeout(part4, 0); |
| }; |
| n.onerror = function() { |
| testPassed("onerror event handler was called"); |
| setTimeout(part4, 0); |
| }; |
| } |
| |
| function part4() { |
| debug("Resetting all permissions"); |
| testRunner.removeAllWebNotificationPermissions(); |
| shouldBeEqualToString("Notification.permission", "default"); |
| testCompleted(); |
| } |
| |
| part1(); |
| </script> |