From 24cd57c609f64616ae5e56bae6517646bacfa775 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 24 May 2018 13:21:47 +0200 Subject: [PATCH] Convert to Number for identity comparison if one member is an instance In Javascript, the identity comparison is not true when comparing a Number with its instance. But domain may use integer or float in their clause against Numeric fields. issue7446 review50421002 --- src/common.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/common.js b/src/common.js index 39ecdd6d1a..50df92abdc 100644 --- a/src/common.js +++ b/src/common.js @@ -1996,6 +1996,8 @@ '=': function(a, b) { if ((a instanceof Array) && (b instanceof Array)) { return Sao.common.compare(a, b); + } else if ((a instanceof Number) || (b instanceof Number)) { + return (Number(a) === Number(b)); } else { return (a === b); } @@ -2007,6 +2009,8 @@ '!=': function(a, b) { if ((a instanceof Array) && (b instanceof Array)) { return !Sao.common.compare(a, b); + } else if ((a instanceof Number) || (b instanceof Number)) { + return (Number(a) !== Number(b)); } else { return (a !== b); }