| Index: test/_common.js |
| diff --git a/test/_common.js b/test/_common.js |
| index 2d9cf1ebf66eed7f92f5fb7bf499270ee1042bad..c5581a9ea61d3535f51a86e2ec32a05e16029d8c 100644 |
| --- a/test/_common.js |
| +++ b/test/_common.js |
| @@ -17,9 +17,9 @@ |
| "use strict"; |
| -let fs = require("fs"); |
| -let path = require("path"); |
| -let SandboxedModule = require("sandboxed-module"); |
| +const fs = require("fs"); |
| +const path = require("path"); |
| +const SandboxedModule = require("sandboxed-module"); |
| const Cr = exports.Cr = { |
| NS_OK: 0, |
| @@ -30,7 +30,11 @@ const Cr = exports.Cr = { |
| const MILLIS_IN_SECOND = exports.MILLIS_IN_SECOND = 1000; |
| const MILLIS_IN_MINUTE = exports.MILLIS_IN_MINUTE = 60 * MILLIS_IN_SECOND; |
| const MILLIS_IN_HOUR = exports.MILLIS_IN_HOUR = 60 * MILLIS_IN_MINUTE; |
| -const MILLIS_IN_DAY = exports.MILLIS_IN_DAY = 24 * MILLIS_IN_HOUR; |
| + |
| +function URL(urlString) |
| +{ |
| + return require("url").parse(urlString); |
| +} |
| let globals = { |
| atob: data => new Buffer(data, "base64").toString("binary"), |
| @@ -38,28 +42,24 @@ let globals = { |
| Ci: { |
| }, |
| Cu: { |
| - import: () => {}, |
| - reportError: e => undefined |
| + import() {}, |
| + reportError(e) {} |
| }, |
| console: { |
| - log: () => undefined, |
| - error: () => undefined, |
| + log() {}, |
| + error() {} |
| }, |
| navigator: { |
| }, |
| onShutdown: { |
| - add: () => |
| - { |
| - } |
| + add() {} |
| }, |
| Services: { |
| obs: { |
| - addObserver: () => |
| - { |
| - } |
| + addObserver() {} |
| }, |
| vc: { |
| - compare: (v1, v2) => |
| + compare(v1, v2) |
| { |
| function comparePart(p1, p2) |
| { |
| @@ -69,8 +69,7 @@ let globals = { |
| return 1; |
| else if (p1 == p2) |
| return 0; |
| - else |
| - return parseInt(p1, 10) - parseInt(p2, 10); |
| + return parseInt(p1, 10) - parseInt(p2, 10); |
| } |
| let parts1 = v1.split("."); |
| @@ -86,22 +85,21 @@ let globals = { |
| } |
| }, |
| XPCOMUtils: { |
| - generateQI: () => |
| - { |
| - } |
| + generateQI() {} |
| }, |
| - URL: function(urlString) |
| - { |
| - return require("url").parse(urlString); |
| - } |
| + URL |
| }; |
| let knownModules = new Map(); |
| for (let dir of [path.join(__dirname, "stub-modules"), |
| path.join(__dirname, "..", "lib")]) |
| +{ |
| for (let file of fs.readdirSync(path.resolve(dir))) |
| + { |
| if (path.extname(file) == ".js") |
| knownModules[path.basename(file, ".js")] = path.resolve(dir, file); |
| + } |
| +} |
| function addExports(exports) |
| { |
| @@ -109,9 +107,13 @@ function addExports(exports) |
| { |
| let extraExports = exports[path.basename(this.filename, ".js")]; |
| if (extraExports) |
| + { |
| for (let name of extraExports) |
| + { |
| source += ` |
| Object.defineProperty(exports, "${name}", {get: () => ${name}});`; |
| + } |
| + } |
| return source; |
| }; |
| } |
| @@ -144,7 +146,7 @@ exports.createSandbox = function(options) |
| // function which can be used to load further modules into the sandbox. |
| return SandboxedModule.require("./_common", { |
| globals: Object.assign({}, globals, options.globals), |
| - sourceTransformers: sourceTransformers |
| + sourceTransformers |
| }).require; |
| }; |
| @@ -160,7 +162,7 @@ exports.setupTimerAndXMLHttp = function() |
| delay: -1, |
| nextExecution: 0, |
| - initWithCallback: function(callback, delay, type) |
| + initWithCallback(callback, delay, type) |
| { |
| if (this.callback) |
| throw new Error("Only one timer instance supported"); |
| @@ -172,7 +174,7 @@ exports.setupTimerAndXMLHttp = function() |
| this.nextExecution = currentTime + delay; |
| }, |
| - trigger: function() |
| + trigger() |
| { |
| if (currentTime < this.nextExecution) |
| currentTime = this.nextExecution; |
| @@ -186,7 +188,7 @@ exports.setupTimerAndXMLHttp = function() |
| } |
| }, |
| - cancel: function() |
| + cancel() |
| { |
| this.nextExecution = -1; |
| } |
| @@ -198,9 +200,8 @@ exports.setupTimerAndXMLHttp = function() |
| this._host = "http://example.com"; |
| this._loadHandlers = []; |
| this._errorHandlers = []; |
| - }; |
| - XMLHttpRequest.prototype = |
| - { |
| + } |
| + XMLHttpRequest.prototype = { |
| _path: null, |
| _data: null, |
| _queryString: null, |
| @@ -210,7 +211,7 @@ exports.setupTimerAndXMLHttp = function() |
| readyState: 0, |
| responseText: null, |
| - addEventListener: function(eventName, handler, capture) |
| + addEventListener(eventName, handler, capture) |
| { |
| let list; |
| if (eventName == "load") |
| @@ -224,7 +225,7 @@ exports.setupTimerAndXMLHttp = function() |
| list.push(handler); |
| }, |
| - removeEventListener: function(eventName, handler, capture) |
| + removeEventListener(eventName, handler, capture) |
| { |
| let list; |
| if (eventName == "load") |
| @@ -239,7 +240,7 @@ exports.setupTimerAndXMLHttp = function() |
| list.splice(index, 1); |
| }, |
| - open: function(method, url, async, user, password) |
| + open(method, url, async, user, password) |
| { |
| if (method != "GET") |
| throw new Error("Only GET requests are supported"); |
| @@ -269,7 +270,7 @@ exports.setupTimerAndXMLHttp = function() |
| } |
| }, |
| - send: function(data) |
| + send(data) |
| { |
| if (!this._data && !this._path) |
| throw new Error("No request path set"); |
| @@ -300,7 +301,7 @@ exports.setupTimerAndXMLHttp = function() |
| })); |
| }, |
| - overrideMimeType: function(mime) |
| + overrideMimeType(mime) |
| { |
| }, |
| @@ -316,9 +317,9 @@ exports.setupTimerAndXMLHttp = function() |
| }; |
| XMLHttpRequest.requestHandlers = {}; |
| - this.registerHandler = (path, handler) => |
| + this.registerHandler = (requestPath, handler) => |
| { |
| - XMLHttpRequest.requestHandlers[path] = handler; |
| + XMLHttpRequest.requestHandlers[requestPath] = handler; |
| }; |
| function waitForRequests() |
| @@ -332,8 +333,7 @@ exports.setupTimerAndXMLHttp = function() |
| console.error(e); |
| }).then(() => waitForRequests()); |
| } |
| - else |
| - return Promise.resolve(); |
| + return Promise.resolve(); |
| } |
| function runScheduledTasks(maxMillis) |
| @@ -344,13 +344,8 @@ exports.setupTimerAndXMLHttp = function() |
| currentTime = endTime; |
| return Promise.resolve(); |
| } |
| - else |
| - { |
| - fakeTimer.trigger(); |
| - return waitForRequests().then(() => runScheduledTasks(endTime - currentTime)); |
| - } |
| - |
| - currentTime = endTime; |
| + fakeTimer.trigger(); |
| + return waitForRequests().then(() => runScheduledTasks(endTime - currentTime)); |
| } |
| this.runScheduledTasks = (maxHours, initial, skip) => |
| @@ -399,7 +394,7 @@ exports.setupTimerAndXMLHttp = function() |
| TYPE_REPEATING_SLACK: 1, |
| TYPE_REPEATING_PRECISE: 2 |
| }, |
| - nsIHttpChannel: () => null, |
| + nsIHttpChannel: () => null |
| }, |
| Cr, |
| XMLHttpRequest, |
| @@ -409,6 +404,8 @@ exports.setupTimerAndXMLHttp = function() |
| }; |
| }; |
| +console.warn = console.log; |
| + |
| exports.setupRandomResult = function() |
| { |
| let randomResult = 0.5; |