summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/notifications/common.js
blob: ecfa0e3c2d9418253ae48d75fec39e662b6f862f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function createPassFail(condition, test, cleanup, cleanupParam) {
    var div = document.querySelector("#passfail")
    var para = document.createElement("p")
    var pass = document.createElement("button")
    var fail = document.createElement("button")
    var style = "font-family: monospace"
    para.innerHTML = condition
        + ', press the PASS button;'
        + ' otherwise press the FAIL button.',
    pass.innerHTML = "PASS"
    fail.innerHTML = "FAIL"
    pass.setAttribute("style", style)
    fail.setAttribute("style", style)
    pass.addEventListener("click", function () {
        clearPassFail()
        cleanup(cleanupParam)
        test.done()
    }, false)
    fail.addEventListener("click", function () {
        clearPassFail()
        cleanup(cleanupParam)
        test.force_timeout()
        test.set_status(test.FAIL)
        test.done()
    }, false)
    document.body.appendChild(div)
    div.appendChild(para)
    div.appendChild(pass)
    div.appendChild(fail)
}
function clearPassFail() {
    document.querySelector("#passfail").innerHTML = ""
}
function closeNotifications(notifications) {
    for (var i=0; i < notifications.length; i++) {
        notifications[i].close()
    }
}
function hasNotificationPermission() {
    Notification.requestPermission()
    if (Notification.permission != "granted") {
        alert("TEST NOT RUN. Change your browser settings so that"
            + " notifications for this origin are allowed, and then re-run"
            + " this test.")
        return false
    }
    return true
}