From cfda4695b38a42f217171cad86bc7572d4cd200b Mon Sep 17 00:00:00 2001 From: Josh Yudaken Date: Fri, 5 Dec 2014 14:48:03 -0800 Subject: [PATCH 1/2] Respect requested process exit codes in onExit --- lib/jasmine-node/cli.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/jasmine-node/cli.js b/lib/jasmine-node/cli.js index 4a1e525..5c76acf 100755 --- a/lib/jasmine-node/cli.js +++ b/lib/jasmine-node/cli.js @@ -199,9 +199,9 @@ if (captureExceptions) { process.on("exit", onExit); -function onExit() { +function onExit(requestedExitCode) { process.removeListener("exit", onExit); - process.exit(exitCode); + process.exit(requestedExitCode || exitCode); } var onComplete = function(runner, log) { From 93a00029cfa48a610cbc919de6ea10428cbe28ac Mon Sep 17 00:00:00 2001 From: Josh Yudaken Date: Mon, 12 Jan 2015 18:25:51 -0800 Subject: [PATCH 2/2] Add .unref to fake setInterval and setTimeout --- lib/jasmine-node/jasmine-1.3.1.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/jasmine-node/jasmine-1.3.1.js b/lib/jasmine-node/jasmine-1.3.1.js index 3cb32a8..0253c19 100644 --- a/lib/jasmine-node/jasmine-1.3.1.js +++ b/lib/jasmine-node/jasmine-1.3.1.js @@ -1665,21 +1665,27 @@ jasmine.FakeTimer = function() { self.setTimeout = function(funcToCall, millis) { self.timeoutsMade++; self.scheduleFunction(self.timeoutsMade, funcToCall, millis, false); - return self.timeoutsMade; + return { + _id: self.timeoutsMade, + unref: function() {}, + }; }; self.setInterval = function(funcToCall, millis) { self.timeoutsMade++; self.scheduleFunction(self.timeoutsMade, funcToCall, millis, true); - return self.timeoutsMade; + return { + _id: self.timeoutsMade, + unref: function() {}, + }; }; - self.clearTimeout = function(timeoutKey) { - self.scheduledFunctions[timeoutKey] = jasmine.undefined; + self.clearTimeout = function(timeoutObject) { + self.scheduledFunctions[timeoutObject._id] = jasmine.undefined; }; - self.clearInterval = function(timeoutKey) { - self.scheduledFunctions[timeoutKey] = jasmine.undefined; + self.clearInterval = function(timeoutObject) { + self.scheduledFunctions[timeoutObject._id] = jasmine.undefined; }; };