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

Merge pull request #1832 from node-red-hitachi/fix-isempty-rule

Fix bugs about "isEmpty" rule in Switch node
This commit is contained in:
Nick O'Leary 2018-07-20 12:45:53 +01:00 committed by GitHub
commit 4d54663efd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 8 deletions

View File

@ -147,7 +147,7 @@
} }
if ((rule.t === 'btwn') || (rule.t === 'index')) { if ((rule.t === 'btwn') || (rule.t === 'index')) {
label += " "+getValueLabel(rule.vt,rule.v)+" & "+getValueLabel(rule.v2t,rule.v2); label += " "+getValueLabel(rule.vt,rule.v)+" & "+getValueLabel(rule.v2t,rule.v2);
} else if (rule.t !== 'true' && rule.t !== 'false' && rule.t !== 'null' && rule.t !== 'nnull' && rule.t !== 'else' ) { } else if (rule.t !== 'true' && rule.t !== 'false' && rule.t !== 'null' && rule.t !== 'nnull' && rule.t !== 'empty' && rule.t !== 'nempty' && rule.t !== 'else' ) {
label += " "+getValueLabel(rule.vt,rule.v); label += " "+getValueLabel(rule.vt,rule.v);
} }
return label; return label;
@ -199,7 +199,7 @@
} else if (type === "istype") { } else if (type === "istype") {
typeField.typedInput("width",(newWidth-selectWidth-70)); typeField.typedInput("width",(newWidth-selectWidth-70));
} else { } else {
if (type === "true" || type === "false" || type === "null" || type === "nnull" || type === "else") { if (type === "true" || type === "false" || type === "null" || type === "nnull" || type === "empty" || type === "nempty" || type === "else") {
// valueField.hide(); // valueField.hide();
} else { } else {
valueField.typedInput("width",(newWidth-selectWidth-70)); valueField.typedInput("width",(newWidth-selectWidth-70));
@ -295,7 +295,7 @@
numValueField.typedInput('hide'); numValueField.typedInput('hide');
typeValueField.typedInput('hide'); typeValueField.typedInput('hide');
valueField.typedInput('hide'); valueField.typedInput('hide');
if (type === "true" || type === "false" || type === "null" || type === "nnull" || type === "else") { if (type === "true" || type === "false" || type === "null" || type === "nnull" || type === "empty" || type === "nempty" || type === "else") {
valueField.typedInput('hide'); valueField.typedInput('hide');
typeValueField.typedInput('hide'); typeValueField.typedInput('hide');
} }
@ -396,7 +396,7 @@
var rule = $(this); var rule = $(this);
var type = rule.find("select").val(); var type = rule.find("select").val();
var r = {t:type}; var r = {t:type};
if (!(type === "true" || type === "false" || type === "null" || type === "nnull" || type === "else")) { if (!(type === "true" || type === "false" || type === "null" || type === "nnull" || type === "empty" || type === "nempty" || type === "else")) {
if ((type === "btwn") || (type === "index")) { if ((type === "btwn") || (type === "index")) {
r.v = rule.find(".node-input-rule-btwn-value").typedInput('value'); r.v = rule.find(".node-input-rule-btwn-value").typedInput('value');
r.vt = rule.find(".node-input-rule-btwn-value").typedInput('type'); r.vt = rule.find(".node-input-rule-btwn-value").typedInput('type');

View File

@ -34,7 +34,7 @@ module.exports = function(RED) {
'empty': function(a) { 'empty': function(a) {
if (typeof a === 'string' || Array.isArray(a) || Buffer.isBuffer(a)) { if (typeof a === 'string' || Array.isArray(a) || Buffer.isBuffer(a)) {
return a.length === 0; return a.length === 0;
} else if (typeof a === 'object') { } else if (typeof a === 'object' && a !== null) {
return Object.keys(a).length === 0; return Object.keys(a).length === 0;
} }
return false; return false;
@ -42,7 +42,7 @@ module.exports = function(RED) {
'nempty': function(a) { 'nempty': function(a) {
if (typeof a === 'string' || Array.isArray(a) || Buffer.isBuffer(a)) { if (typeof a === 'string' || Array.isArray(a) || Buffer.isBuffer(a)) {
return a.length !== 0; return a.length !== 0;
} else if (typeof a === 'object') { } else if (typeof a === 'object' && a !== null) {
return Object.keys(a).length !== 0; return Object.keys(a).length !== 0;
} }
return false; return false;

View File

@ -379,7 +379,7 @@ describe('switch Node', function() {
singularSwitchTest("empty", true, false, undefined, done); singularSwitchTest("empty", true, false, undefined, done);
}); });
it('should check if payload is empty (0)', function(done) { it('should check if payload is empty (0)', function(done) {
singularSwitchTest("empty", true, false, null, done); singularSwitchTest("empty", true, false, 0, done);
}); });
it('should check if payload is not empty (string)', function(done) { it('should check if payload is not empty (string)', function(done) {
@ -413,7 +413,7 @@ describe('switch Node', function() {
singularSwitchTest("nempty", true, false, undefined, done); singularSwitchTest("nempty", true, false, undefined, done);
}); });
it('should check if payload is not empty (0)', function(done) { it('should check if payload is not empty (0)', function(done) {
singularSwitchTest("nempty", true, false, null, done); singularSwitchTest("nempty", true, false, 0, done);
}); });