mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Merge branch 'master' into dev
This commit is contained in:
@@ -216,6 +216,7 @@ describe('Node', function() {
|
||||
n2.on('input',function(msg) {
|
||||
// msg equals message, and is not a new copy
|
||||
messageReceived = true;
|
||||
should.strictEqual(this,n2);
|
||||
should.deepEqual(msg,message);
|
||||
should.strictEqual(msg,message);
|
||||
done();
|
||||
@@ -224,6 +225,34 @@ describe('Node', function() {
|
||||
messageReceived.should.be.false();
|
||||
});
|
||||
|
||||
it('emits a single message - multiple input event listeners', function(done) {
|
||||
var flow = {
|
||||
getNode: (id) => { return {'n1':n1,'n2':n2}[id]},
|
||||
};
|
||||
var n1 = new RedNode({_flow:flow,id:'n1',type:'abc',wires:[['n2']]});
|
||||
var n2 = new RedNode({_flow:flow,id:'n2',type:'abc'});
|
||||
var message = {payload:"hello world"};
|
||||
var messageReceived = 0;
|
||||
n2.on('input',function(msg) {
|
||||
// msg equals message, and is not a new copy
|
||||
messageReceived++;
|
||||
messageReceived.should.be.exactly(1);
|
||||
should.strictEqual(this,n2);
|
||||
should.deepEqual(msg,message);
|
||||
should.strictEqual(msg,message);
|
||||
});
|
||||
n2.on('input',function(msg) {
|
||||
messageReceived++;
|
||||
messageReceived.should.be.exactly(2);
|
||||
should.strictEqual(this,n2);
|
||||
should.deepEqual(msg,message);
|
||||
should.strictEqual(msg,message);
|
||||
done();
|
||||
});
|
||||
n1.send(message);
|
||||
messageReceived.should.be.exactly(0);
|
||||
});
|
||||
|
||||
it('emits a single message - synchronous mode', function(done) {
|
||||
var flow = {
|
||||
getNode: (id) => { return {'n1':n1,'n2':n2}[id]},
|
||||
|
@@ -740,6 +740,19 @@ describe("@node-red/util/util", function() {
|
||||
resultJson.name.should.eql('my error obj');
|
||||
resultJson.message.should.eql('my error message');
|
||||
});
|
||||
|
||||
it('object with undefined property', function() {
|
||||
var msg = { msg:{a:1,b:undefined,c:3 } };
|
||||
var result = util.encodeObject(msg);
|
||||
result.format.should.eql("Object");
|
||||
var resultJson = JSON.parse(result.msg);
|
||||
resultJson.should.have.property("a",1);
|
||||
resultJson.should.have.property("c",3);
|
||||
resultJson.should.have.property("b");
|
||||
resultJson.b.should.have.property("__enc__", true);
|
||||
resultJson.b.should.have.property("type", "undefined");
|
||||
});
|
||||
|
||||
it('constructor of IncomingMessage', function() {
|
||||
function IncomingMessage(){};
|
||||
var msg = { msg:new IncomingMessage() };
|
||||
@@ -791,6 +804,16 @@ describe("@node-red/util/util", function() {
|
||||
resultJson[0].should.eql('abc...');
|
||||
resultJson[1].should.eql('123...');
|
||||
});
|
||||
it('array containing undefined', function() {
|
||||
var msg = { msg:[1,undefined,3]};
|
||||
var result = util.encodeObject(msg);
|
||||
result.format.should.eql("array[3]");
|
||||
var resultJson = JSON.parse(result.msg);
|
||||
resultJson[0].should.eql(1);
|
||||
resultJson[2].should.eql(3);
|
||||
resultJson[1].__enc__.should.be.true();
|
||||
resultJson[1].type.should.eql("undefined");
|
||||
});
|
||||
it('array of function', function() {
|
||||
var msg = { msg:[function(){}] };
|
||||
var result = util.encodeObject(msg);
|
||||
|
Reference in New Issue
Block a user