<!DOCTYPE html>
<meta charset="utf-8">
<title>Notification.onclose (basic)</title>
<link rel="author" title="Apple Inc." href="http://www.apple.com/">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(function() {
    if (Notification.permission != "granted") {
        this.force_timeout()
        this.set_status(this.NOTRUN, "You must allow notifications for this"
            + "origin before running this test.")
    } else {
        var t = async_test("Invoked the onclose event handler.")
        var notification = new Notification("New Email Received")
        notification.onshow = t.step_func(function() {
            notification.close()
        })
        notification.onclose = t.step_func(function(e) {
            assert_equals(Object.prototype.toString.call(e), "[object Event]")
            assert_equals(e.type, "close", "Checked the event type.")
            t.done()
        })
    }
}, "Checked test prerequisites.")
</script>
