1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00

Fix ReferenceError in change node

and add a test case
This commit is contained in:
HirokiUchikawa 2018-07-19 14:44:21 +09:00
parent 75c29f1cb7
commit e675512fa3
2 changed files with 26 additions and 9 deletions

View File

@ -166,12 +166,10 @@ module.exports = function(RED) {
try { try {
fromRE = new RegExp(fromRE, "g"); fromRE = new RegExp(fromRE, "g");
} catch (e) { } catch (e) {
reject(new Error(RED._("change.errors.invalid-from",{error:e.message}))); return Promise.reject(new Error(RED._("change.errors.invalid-from",{error:e.message})));
return;
} }
} else { } else {
reject(new Error(RED._("change.errors.invalid-from",{error:"unsupported type: "+(typeof fromValue)}))); return Promise.reject(new Error(RED._("change.errors.invalid-from",{error:"unsupported type: "+(typeof fromValue)})));
return;
} }
return { return {
fromType, fromType,

View File

@ -1176,6 +1176,25 @@ describe('change Node', function() {
}); });
}); });
it('reports invalid fromValue', function(done) {
var flow = [{"id":"changeNode1","type":"change",rules:[{"t":"change","p":"payload","from":"null","fromt":"msg","to":"abc","tot":"str"}],"name":"changeNode","wires":[["helperNode1"]]},
{id:"helperNode1", type:"helper", wires:[]}];
helper.load(changeNode, flow, function() {
var changeNode1 = helper.getNode("changeNode1");
setTimeout(function() {
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();
},25);
changeNode1.receive({payload:"",null:null});
});
});
describe('env var', function() { describe('env var', function() {
before(function() { before(function() {
process.env.NR_TEST_A = 'foo'; process.env.NR_TEST_A = 'foo';