From 00d0f8cfc7532cb8b1bfca23b78add09727a17c3 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Fri, 20 Feb 2015 22:59:48 +0000 Subject: [PATCH] Invoke catch node only when msg is provided --- red/nodes/Flow.js | 2 +- red/nodes/Node.js | 4 +++- test/red/nodes/Flow_spec.js | 20 -------------------- 3 files changed, 4 insertions(+), 22 deletions(-) diff --git a/red/nodes/Flow.js b/red/nodes/Flow.js index c5df20f68..ca45e421f 100644 --- a/red/nodes/Flow.js +++ b/red/nodes/Flow.js @@ -734,7 +734,7 @@ Flow.prototype.diffFlow = function(config) { Flow.prototype.handleError = function(node,logMessage,msg) { var errorMessage; - if (typeof msg !== "undefined") { + if (msg) { errorMessage = redUtil.cloneMessage(msg); } else { errorMessage = {}; diff --git a/red/nodes/Node.js b/red/nodes/Node.js index 16e8fbb3e..9cec99133 100644 --- a/red/nodes/Node.js +++ b/red/nodes/Node.js @@ -201,7 +201,9 @@ Node.prototype.warn = function(msg) { Node.prototype.error = function(logMessage,msg) { logMessage = logMessage || ""; log_helper(this, Log.ERROR, logMessage); - flows.handleError(this,logMessage,msg); + if (msg) { + flows.handleError(this,logMessage,msg); + } }; /** diff --git a/test/red/nodes/Flow_spec.js b/test/red/nodes/Flow_spec.js index 7901ce423..d73454de0 100644 --- a/test/red/nodes/Flow_spec.js +++ b/test/red/nodes/Flow_spec.js @@ -869,26 +869,6 @@ describe('Flow', function() { done(); }); - it("reports error with undefined message object",function(done) { - var config = [ - {id:"1",type:"test",z:"tab1",name:"a",wires:["2"]}, - {id:"2",type:"catch",z:"tab1",wires:[[]]}, - {id:"3",type:"catch",z:"tab2",wires:[[]]} - ]; - var flow = new Flow(config); - flow.start(); - flow.handleError(getNode(1),"test error"); - var n2 = getNode(2); - n2.handled.should.have.lengthOf(1); - n2.handled[0].should.have.property("error"); - n2.handled[0].error.should.have.property("message","test error"); - n2.handled[0].error.should.have.property("source"); - n2.handled[0].error.source.should.have.property("id","1"); - n2.handled[0].error.source.should.have.property("type","test"); - getNode(3).handled.should.have.lengthOf(0); - done(); - }); - it("reports error with Error object",function(done) { var config = [ {id:"1",type:"test",z:"tab1",name:"a",wires:["2"]},