mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
let join also accumulate strings (and not fail)
This commit is contained in:
parent
2b2136c468
commit
56405ac903
@ -239,6 +239,9 @@
|
||||
var val = $(this).val();
|
||||
$(".node-row-custom").toggle(val==='custom');
|
||||
$(".form-tips-auto").toggle(val==='auto');
|
||||
if (val === "auto") {
|
||||
$("#node-input-accumulate").attr('checked', false);
|
||||
}
|
||||
});
|
||||
|
||||
$("#node-input-build").change(function(e) {
|
||||
|
@ -354,9 +354,12 @@ module.exports = function(RED) {
|
||||
currentCount:0,
|
||||
payload:{},
|
||||
targetCount:targetCount,
|
||||
type:"object",
|
||||
type:payloadType,
|
||||
msg:msg
|
||||
}
|
||||
if (payloadType === 'string') {
|
||||
inflight[partId].payload = [];
|
||||
}
|
||||
}
|
||||
else {
|
||||
inflight[partId] = {
|
||||
@ -364,7 +367,6 @@ module.exports = function(RED) {
|
||||
payload:[],
|
||||
targetCount:targetCount,
|
||||
type:payloadType,
|
||||
joinChar: joinChar,
|
||||
msg:msg
|
||||
};
|
||||
if (payloadType === 'string') {
|
||||
@ -374,7 +376,6 @@ module.exports = function(RED) {
|
||||
} else if (payloadType === 'buffer') {
|
||||
inflight[partId].bufferLen = 0;
|
||||
}
|
||||
|
||||
}
|
||||
if (node.timer > 0) {
|
||||
inflight[partId].timeout = setTimeout(function() {
|
||||
|
@ -144,6 +144,27 @@ describe('JOIN node', function() {
|
||||
});
|
||||
});
|
||||
|
||||
it('should join bits of string back together automatically', function(done) {
|
||||
var flow = [{id:"n1", type:"join", wires:[["n2"]], joiner:",", build:"string", mode:"auto"},
|
||||
{id:"n2", type:"helper"}];
|
||||
helper.load(joinNode, flow, function() {
|
||||
var n1 = helper.getNode("n1");
|
||||
var n2 = helper.getNode("n2");
|
||||
n2.on("input", function(msg) {
|
||||
try {
|
||||
msg.should.have.property("payload");
|
||||
msg.payload.should.equal("A,B,C,D");
|
||||
done();
|
||||
}
|
||||
catch(e) {done(e);}
|
||||
});
|
||||
n1.receive({payload:"A", parts:{id:1, type:"string", ch:",", index:0, count:4}});
|
||||
n1.receive({payload:"B", parts:{id:1, type:"string", ch:",", index:1, count:4}});
|
||||
n1.receive({payload:"C", parts:{id:1, type:"string", ch:",", index:2, count:4}});
|
||||
n1.receive({payload:"D", parts:{id:1, type:"string", ch:",", index:3, count:4}});
|
||||
});
|
||||
});
|
||||
|
||||
it('should join things into an array after a count', function(done) {
|
||||
var flow = [{id:"n1", type:"join", wires:[["n2"]], count:3, joiner:",",mode:"custom"},
|
||||
{id:"n2", type:"helper"}];
|
||||
|
Loading…
Reference in New Issue
Block a user