Add node.error handling to core nodes

This commit is contained in:
Nick O'Leary
2015-03-16 13:58:01 +00:00
parent 5efc89d514
commit be61cf6a88
19 changed files with 107 additions and 110 deletions

View File

@@ -19,6 +19,9 @@ var should = require("should");
var changeNode = require("../../../../nodes/core/logic/15-change.js");
var helper = require("../../helper.js");
var Log = require("../../../../red/log.js");
describe('ChangeNode', function() {
beforeEach(function(done) {
@@ -335,21 +338,15 @@ describe('ChangeNode', function() {
var flow = [{"id":"changeNode1","type":"change","action":"change","property":"payload","from":"\\+**+","to":"NUMBER","reg":true,"name":"changeNode","wires":[["helperNode1"]]},
{id:"helperNode1", type:"helper", wires:[]}];
helper.load(changeNode, flow, function() {
var changeNode1 = helper.getNode("changeNode1");
var helperNode1 = helper.getNode("helperNode1");
sinon.stub(changeNode1, 'error', function(error) {
if(error.indexOf("regular expression" > -1)) {
done();
} else {
try {
should.fail(null, null, "An error should be reported for an invalid regex");
} catch (err) {
done(err);
}
}
});
changeNode1.receive({payload:"This is irrelevant"});
var logEvents = helper.log().args.filter(function (evt) {
return evt[0].type == "change";
});
logEvents.should.have.length(1);
var msg = logEvents[0][0];
msg.should.have.property('level', helper.log().ERROR);
msg.should.have.property('id', 'changeNode1');
done();
});
});
});

View File

@@ -140,7 +140,7 @@ describe('html node', function() {
logEvents.should.have.length(1);
// Each logEvent is the array of args passed to the function.
logEvents[0][0].should.have.a.property('msg');
logEvents[0][0].msg.should.startWith("Error:");
logEvents[0][0].should.have.a.property('level',helper.log().ERROR);
done();
} catch(err) {

View File

@@ -83,7 +83,8 @@ describe('JSON node', function() {
return evt[0].type == "json";
});
logEvents.should.have.length(1);
logEvents[0][0].should.have.a.property('msg',"SyntaxError: Unexpected token o"+ "\nfoo");
logEvents[0][0].should.have.a.property('msg',"Unexpected token o");
logEvents[0][0].should.have.a.property('level',helper.log().ERROR);
done();
} catch(err) {
done(err);