summaryrefslogtreecommitdiffstats
path: root/toolkit/components/alerts/test/test_image.html
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/alerts/test/test_image.html')
-rw-r--r--toolkit/components/alerts/test/test_image.html118
1 files changed, 0 insertions, 118 deletions
diff --git a/toolkit/components/alerts/test/test_image.html b/toolkit/components/alerts/test/test_image.html
deleted file mode 100644
index 7bf89fab2..000000000
--- a/toolkit/components/alerts/test/test_image.html
+++ /dev/null
@@ -1,118 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <title>Test for Bug 1233086</title>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-
-<body>
-<p id="display"></p>
-
-<pre id="test">
-<script class="testbody" type="text/javascript">
-
-const Cc = SpecialPowers.Cc;
-const Ci = SpecialPowers.Ci;
-const Services = SpecialPowers.Services;
-
-const imageServerURL = "http://mochi.test:8888/tests/toolkit/components/alerts/test/image_server.sjs";
-
-function makeAlert(...params) {
- var alert = Cc["@mozilla.org/alert-notification;1"]
- .createInstance(Ci.nsIAlertNotification);
- alert.init(...params);
- return alert;
-}
-
-function promiseImage(alert, timeout = 0, userData = null) {
- return new Promise(resolve => {
- var isDone = false;
- function done(value) {
- ok(!isDone, "Should call the image listener once");
- isDone = true;
- resolve(value);
- }
- alert.loadImage(timeout, SpecialPowers.wrapCallbackObject({
- onImageReady(aUserData, aRequest) {
- done([true, aRequest, aUserData]);
- },
- onImageMissing(aUserData) {
- done([false, aUserData]);
- },
- }), SpecialPowers.wrap(userData));
- });
-}
-
-add_task(function* testContext() {
- var inUserData = Cc["@mozilla.org/supports-PRInt64;1"]
- .createInstance(Ci.nsISupportsPRInt64);
- inUserData.data = 123;
-
- var alert = makeAlert(null, imageServerURL + "?f=image.png");
- var [ready, , userData] = yield promiseImage(alert, 0, inUserData);
- ok(ready, "Should load requested image");
- is(userData.QueryInterface(Ci.nsISupportsPRInt64).data, 123,
- "Should pass user data for loaded image");
-
- alert = makeAlert(null, imageServerURL + "?s=404");
- [ready, userData] = yield promiseImage(alert, 0, inUserData);
- ok(!ready, "Should not load missing image");
- is(userData.QueryInterface(Ci.nsISupportsPRInt64).data, 123,
- "Should pass user data for missing image");
-});
-
-add_task(function* testTimeout() {
- var alert = makeAlert(null, imageServerURL + "?f=image.png&t=3");
- var [ready] = yield promiseImage(alert, 1000);
- ok(!ready, "Should cancel request if timeout fires");
-
- [ready, request] = yield promiseImage(alert, 45000);
- ok(ready, "Should load image if request finishes before timeout");
-});
-
-add_task(function* testAnimatedGIF() {
- var alert = makeAlert(null, imageServerURL + "?f=image.gif");
- var [ready, request] = yield promiseImage(alert);
- ok(ready, "Should load first animated GIF frame");
- is(request.mimeType, "image/gif", "Should report correct GIF MIME type");
- is(request.image.width, 256, "GIF width should be 256px");
- is(request.image.height, 256, "GIF height should be 256px");
-});
-
-add_task(function* testCancel() {
- var alert = makeAlert(null, imageServerURL + "?f=image.gif&t=180");
- yield new Promise((resolve, reject) => {
- var request = alert.loadImage(0, SpecialPowers.wrapCallbackObject({
- onImageReady() {
- reject(new Error("Should not load cancelled request"));
- },
- onImageMissing() {
- resolve();
- },
- }), null);
- request.cancel(SpecialPowers.Cr.NS_BINDING_ABORTED);
- });
-});
-
-add_task(function* testMixedContent() {
- // Loading principal is HTTPS; image URL is HTTP.
- var origin = "https://mochi.test:8888";
- var principal = Services.scriptSecurityManager
- .createCodebasePrincipalFromOrigin(origin);
-
- var alert = makeAlert(null, imageServerURL + "?f=image.png",
- null, null, false, null, null, null,
- null, principal);
- var [ready, request] = yield promiseImage(alert);
- ok(ready, "Should load cross-protocol image");
- is(request.mimeType, "image/png", "Should report correct MIME type");
- is(request.image.width, 32, "Width should be 32px");
- is(request.image.height, 32, "Height should be 32px");
-});
-
-</script>
-</pre>
-</body>
-</html>