diff options
Diffstat (limited to 'testing/web-platform/tests/notifications/interfaces.html')
-rw-r--r-- | testing/web-platform/tests/notifications/interfaces.html | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/testing/web-platform/tests/notifications/interfaces.html b/testing/web-platform/tests/notifications/interfaces.html new file mode 100644 index 000000000..95d648d7a --- /dev/null +++ b/testing/web-platform/tests/notifications/interfaces.html @@ -0,0 +1,80 @@ +<!doctype html> +<meta charset=utf-8> +<title>Notification interface IDL tests</title> +<div id=log></div> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=/resources/WebIDLParser.js></script> +<script src=/resources/idlharness.js></script> +<script type=text/plain class=untested> +interface EventTarget { + void addEventListener(DOMString type, EventListener? callback, optional boolean capture /* = false */); + void removeEventListener(DOMString type, EventListener? callback, optional boolean capture /* = false */); + boolean dispatchEvent(Event event); +}; +[TreatNonCallableAsNull] +callback EventHandlerNonNull = any (Event event); +typedef EventHandlerNonNull? EventHandler; +</script> +<script type=text/plain> +[Constructor(DOMString title, optional NotificationOptions options)] +interface Notification : EventTarget { + static readonly attribute NotificationPermission permission; + static Promise<NotificationPermission> requestPermission(optional NotificationPermissionCallback callback); + + attribute EventHandler onclick; + attribute EventHandler onshow; + attribute EventHandler onerror; + attribute EventHandler onclose; + + readonly attribute DOMString title; + readonly attribute NotificationDirection dir; + readonly attribute DOMString lang; + readonly attribute DOMString body; + readonly attribute DOMString tag; + readonly attribute DOMString icon; + + void close(); +}; + +dictionary NotificationOptions { + NotificationDirection dir = "auto"; + DOMString lang = ""; + DOMString body; + DOMString tag; + DOMString icon; +}; + +dictionary GetNotificationsOptions { + DOMString tag; +}; + +enum NotificationPermission { + "default", + "denied", + "granted" +}; + +callback NotificationPermissionCallback = void (NotificationPermission permission); + +enum NotificationDirection { + "auto", + "ltr", + "rtl" +}; +</script> +<script> +"use strict"; +var idlArray = new IdlArray(); +[].forEach.call(document.querySelectorAll("script[type=text\\/plain]"), function(node) { + if (node.className == "untested") { + idlArray.add_untested_idls(node.textContent); + } else { + idlArray.add_idls(node.textContent); + } +}); +idlArray.add_objects({ + Notification: ['new Notification("Running idlharness.")'], +}); +idlArray.test(); +</script> |