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

Merge pull request #1585 from node-red-hitachi/fix-HTML

fix HTML node not to reuse message object for multiple output messages
This commit is contained in:
Nick O'Leary 2018-01-29 11:16:20 +00:00 committed by GitHub
commit 9353d5c1c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 3 deletions

View File

@ -45,15 +45,16 @@ module.exports = function(RED) {
//if (node.ret === "val") { pay2 = $(this).val(); } //if (node.ret === "val") { pay2 = $(this).val(); }
/* istanbul ignore else */ /* istanbul ignore else */
if (pay2) { if (pay2) {
msg.payload = pay2; var new_msg = RED.util.cloneMessage(msg);
msg.parts = { new_msg.payload = pay2;
new_msg.parts = {
id: msg._msgid, id: msg._msgid,
index: index, index: index,
count: count, count: count,
type: "string", type: "string",
ch: "" ch: ""
}; };
node.send(msg); node.send(new_msg);
} }
} }
if (node.as === "single") { if (node.as === "single") {

View File

@ -328,6 +328,32 @@ describe('html node', function() {
}); });
}); });
it('should not reuse message', function(done) {
fs.readFile(file, 'utf8', function(err, data) {
var flow = [{id:"n1",type:"html",wires:[["n2"]],tag:"ul",ret:"text",as:"multi"},
{id:"n2", type:"helper"}];
helper.load(htmlNode, flow, function() {
var n1 = helper.getNode("n1");
var n2 = helper.getNode("n2");
var prev_msg = undefined;
n2.on("input", function(msg) {
cnt++;
if (prev_msg == undefined) {
prev_msg = msg;
}
else {
msg.should.not.equal(prev_msg);
}
if (cnt == 2) {
done();
}
});
n1.receive({payload:data,topic: "bar"});
});
});
});
}); });
}); });