| Index: chrome/content/tests/notification.js |
| =================================================================== |
| --- a/chrome/content/tests/notification.js |
| +++ b/chrome/content/tests/notification.js |
| @@ -1,12 +1,11 @@ |
| (function() |
| { |
| let testRunner = null; |
| - let server = null; |
| let randomResult = 0.5; |
| let originalInfo; |
| let info = require("info"); |
| module("Notification handling", |
| { |
| setup: function() |
| @@ -14,52 +13,44 @@ |
| testRunner = this; |
| preparePrefs.call(this); |
| setupVirtualTime.call(this, function(wrapTimer) |
| { |
| let NotificationModule = getModuleGlobal("notification"); |
| NotificationModule.downloader._timer = wrapTimer(NotificationModule.downloader._timer); |
| }, "notification", "downloader"); |
| - |
| - server = new nsHttpServer(); |
| - server.start(1234); |
| + setupVirtualXMLHttp.call(this, "notification", "downloader"); |
| originalInfo = {}; |
| for (let key in info) |
| originalInfo[key] = info[key]; |
| info.addonName = "adblockpluschrome"; |
| info.addonVersion = "1.4.1"; |
| info.application = "chrome"; |
| info.applicationVersion = "27.0"; |
| info.platform = "chromium"; |
| info.platformVersion = "12.0"; |
| - Prefs.notificationurl = "http://127.0.0.1:1234/notification.json"; |
| + Prefs.notificationurl = "http://example.com/notification.json"; |
| Prefs.notificationdata = {}; |
| // Replace Math.random() function |
| let DownloaderGlobal = Cu.getGlobalForObject(getModuleGlobal("downloader")); |
| this._origRandom = DownloaderGlobal.Math.random; |
| DownloaderGlobal.Math.random = function() randomResult; |
| randomResult = 0.5; |
| }, |
| teardown: function() |
| { |
| restorePrefs.call(this); |
| restoreVirtualTime.call(this); |
| - |
| - stop(); |
| - server.stop(function() |
| - { |
| - server = null; |
| - start(); |
| - }); |
| + restoreVirtualXMLHttp.call(this); |
| for (let key in originalInfo) |
| info[key] = originalInfo[key]; |
| if (this._origRandom) |
| { |
| let DownloaderGlobal = Cu.getGlobalForObject(getModuleGlobal("downloader")); |
| DownloaderGlobal.Math.random = this._origRandom; |
| @@ -67,28 +58,24 @@ |
| } |
| Notification.init(); |
| } |
| }); |
| function registerHandler(notifications) |
| { |
| - server.registerPathHandler("/notification.json", function(metadata, response) |
| + testRunner.registerHandler("/notification.json", function(metadata) |
| { |
| - response.setStatusLine("1.1", "200", "OK"); |
| - response.setHeader("Content-Type", "application/json"); |
| - |
| let notification = { |
| version: 55, |
| notifications: notifications |
| }; |
| - let result = JSON.stringify(notification); |
| - response.bodyOutputStream.write(result, result.length); |
| + return [Cr.NS_OK, 200, JSON.stringify(notification)]; |
| }); |
| } |
| function fixConstructors(object) |
| { |
| // deepEqual() expects that the constructors used in expected objects and |
| // the ones in the actual results are the same. That means that we actually |
| // have to construct our objects in the context of the notification module. |