Bug 1260528 - Tests for notifications that pass an iconUrl are causing leaks, r?kmag draft
authorbsilverberg <bsilverberg@mozilla.com>
Thu, 31 Mar 2016 12:27:52 -0400
changeset 350360 dc2092d48b13bc950374a0daa2608b68c0aada9d
parent 350335 564b225d553547fe4aa9a1039278f695c9507db9
child 518313 54c55fe6099714fb95f50083419ec274d2ead731
push id15319
push userbmo:bob.silverberg@gmail.com
push dateWed, 13 Apr 2016 13:03:43 +0000
reviewerskmag
bugs1260528
milestone48.0a1
Bug 1260528 - Tests for notifications that pass an iconUrl are causing leaks, r?kmag MozReview-Commit-ID: KHdxEfc3OAG
toolkit/components/extensions/test/mochitest/test_ext_notifications.html
--- a/toolkit/components/extensions/test/mochitest/test_ext_notifications.html
+++ b/toolkit/components/extensions/test/mochitest/test_ext_notifications.html
@@ -7,16 +7,22 @@
   <script type="text/javascript" src="/tests/SimpleTest/ExtensionTestUtils.js"></script>
   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
 </head>
 <body>
 
 <script type="text/javascript">
 "use strict";
 
+// A 1x1 PNG image.
+// Source: https://commons.wikimedia.org/wiki/File:1x1.png (Public Domain)
+let image = atob("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAA" +
+                 "ACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=");
+const IMAGE_ARRAYBUFFER = Uint8Array.from(image, byte => byte.charCodeAt(0)).buffer;
+
 add_task(function* test_notification() {
   function backgroundScript() {
     let opts = {
       type: "basic",
       title: "Testing Notification",
       message: "Carry on",
     };
 
@@ -136,16 +142,17 @@ add_task(function* test_notifications_em
   yield extension.awaitFinish("getAll empty");
   yield extension.unload();
 });
 
 add_task(function* test_notifications_populated_getAll() {
   function backgroundScript() {
     let opts = {
       type: "basic",
+      iconUrl: "a.png",
       title: "Testing Notification",
       message: "Carry on",
     };
 
     browser.notifications.create("p1", opts).then(() => {
       return browser.notifications.create("p2", opts);
     }).then(() => {
       return browser.notifications.getAll();
@@ -165,16 +172,19 @@ add_task(function* test_notifications_po
     });
   }
 
   let extension = ExtensionTestUtils.loadExtension({
     manifest: {
       permissions: ["notifications"],
     },
     background: `(${backgroundScript})()`,
+    files: {
+      "a.png": IMAGE_ARRAYBUFFER,
+    },
   });
   yield extension.startup();
   yield extension.awaitFinish("getAll populated");
   yield extension.unload();
 });
 
 </script>