mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
77 lines
2.1 KiB
HTML
77 lines
2.1 KiB
HTML
<!DOCTYPE HTML>
|
|
<!-- Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ -->
|
|
<html>
|
|
<head>
|
|
<title>Test for Alerts Service</title>
|
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
</head>
|
|
|
|
<body>
|
|
<p id="display"></p>
|
|
|
|
<br>Alerts service, without observer "asynchronous" case.
|
|
<br>
|
|
<br>A notification should soon appear somewhere.
|
|
<br>If there has been no crash when the notification (later) disappears, assume all is good.
|
|
|
|
<pre id="test">
|
|
<script class="testbody" type="text/javascript">
|
|
|
|
const Cc = SpecialPowers.Cc;
|
|
const Ci = SpecialPowers.Ci;
|
|
|
|
const wm = Cc["@mozilla.org/appshell/window-mediator;1"]
|
|
.getService(Ci.nsIWindowMediator);
|
|
|
|
function anyXULAlertsVisible() {
|
|
var windows = wm.getEnumerator('alert:alert');
|
|
return windows.hasMoreElements();
|
|
}
|
|
|
|
function waitForAlertsThenFinish() {
|
|
if (anyXULAlertsVisible()) {
|
|
setTimeout(waitForAlertsThenFinish, 1000);
|
|
} else {
|
|
ok(true, "Alert disappeared.");
|
|
SimpleTest.finish();
|
|
}
|
|
}
|
|
|
|
function runTest() {
|
|
if (!("@mozilla.org/alerts-service;1" in Cc)) {
|
|
todo(false, "Alerts service does not exist in this application");
|
|
} else {
|
|
ok(true, "Alerts service exists in this application");
|
|
|
|
var notifier;
|
|
try {
|
|
notifier = Cc["@mozilla.org/alerts-service;1"].
|
|
getService(Ci.nsIAlertsService);
|
|
ok(true, "Alerts service is available");
|
|
} catch (ex) {
|
|
todo(false, "Alerts service is not available.", ex);
|
|
}
|
|
|
|
if (notifier) {
|
|
try {
|
|
notifier.showAlertNotification(null, "Notification test",
|
|
"This notification has no observer");
|
|
ok(true, "showAlertNotification() succeeded");
|
|
} catch (ex) {
|
|
todo(false, "showAlertNotification() failed.", ex);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
ok(!anyXULAlertsVisible(), "Alerts should not be present at the start of the test.");
|
|
runTest();
|
|
setTimeout(waitForAlertsThenFinish, 1000);
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|