add msg.property option to rbe, randon, smooth and base64 nodes

This commit is contained in:
Dave Conway-Jones
2018-01-30 21:42:14 +00:00
parent 4ed7ab590d
commit be79b6a1c6
17 changed files with 527 additions and 565 deletions

View File

@@ -48,6 +48,29 @@ describe('smooth node', function() {
});
});
it('should average over a number of inputs - another property - foo', function(done) {
var flow = [{"id":"n1", "type":"smooth", action:"mean", count:"5", round:"true", property:"foo", wires:[["n2"]] },
{id:"n2", type:"helper"} ];
helper.load(testNode, flow, function() {
var n1 = helper.getNode("n1");
var n2 = helper.getNode("n2");
var c = 0;
n2.on("input", function(msg) {
c += 1;
if (c === 4) { msg.should.have.a.property("foo", 1.8); }
if (c === 6) { msg.should.have.a.property("foo", 3); done(); }
});
n1.emit("input", {foo:1});
n1.emit("input", {foo:1});
n1.emit("input", {foo:2});
n1.emit("input", {payload:2});
n1.emit("input", {payload:2});
n1.emit("input", {foo:3});
n1.emit("input", {foo:4});
n1.emit("input", {foo:4.786});
});
});
it('should be able to be reset', function(done) {
var flow = [{"id":"n1", "type":"smooth", action:"mean", count:"5", round:"true", wires:[["n2"]] },
{id:"n2", type:"helper"} ];
@@ -69,6 +92,29 @@ describe('smooth node', function() {
});
});
it('should be able to be reset - while using another property - foo', function(done) {
var flow = [{"id":"n1", "type":"smooth", action:"mean", count:"5", round:"true", property:"foo", wires:[["n2"]] },
{id:"n2", type:"helper"} ];
helper.load(testNode, flow, function() {
var n1 = helper.getNode("n1");
var n2 = helper.getNode("n2");
var c = 0;
n2.on("input", function(msg) {
c += 1;
if (c === 3) { msg.should.have.a.property("foo", 2); }
if (c === 6) { msg.should.have.a.property("foo", 5); done(); }
});
n1.emit("input", {foo:1});
n1.emit("input", {foo:2});
n1.emit("input", {payload:2});
n1.emit("input", {foo:3});
n1.emit("input", {reset:true, foo:4});
n1.emit("input", {foo:5});
n1.emit("input", {payload:2});
n1.emit("input", {foo:6});
});
});
it('should output max over a number of inputs', function(done) {
var flow = [{"id":"n1", "type":"smooth", action:"max", count:"5", wires:[["n2"]] },
{id:"n2", type:"helper"} ];