summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/notifications/common.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/notifications/common.js')
-rw-r--r--testing/web-platform/tests/notifications/common.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/testing/web-platform/tests/notifications/common.js b/testing/web-platform/tests/notifications/common.js
new file mode 100644
index 000000000..ecfa0e3c2
--- /dev/null
+++ b/testing/web-platform/tests/notifications/common.js
@@ -0,0 +1,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
+}