diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 07ff2930f0f..869aa2343bc 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -8082,7 +8082,7 @@ function verifCond($strRights) //print $strRights."
\n"; $rights = true; - if ($strRights != '') { + if ($strRights !== '') { $str = 'if(!('.$strRights.')) { $rights = false; }'; dol_eval($str); // The dol_eval must contains all the global $xxx used into a condition } diff --git a/test/phpunit/FunctionsLibTest.php b/test/phpunit/FunctionsLibTest.php index 5287b65b0c7..1bf3b6378fb 100644 --- a/test/phpunit/FunctionsLibTest.php +++ b/test/phpunit/FunctionsLibTest.php @@ -1048,13 +1048,19 @@ class FunctionsLibTest extends PHPUnit\Framework\TestCase $this->assertFalse($verifcond, 'Test a false comparison'); $verifcond=verifCond('$conf->facture->enabled'); - $this->assertTrue($verifcond, 'Test that conf property of a module report true when enabled'); + $this->assertTrue($verifcond, 'Test that the conf property of a module reports true when enabled'); $verifcond=verifCond('$conf->moduledummy->enabled'); - $this->assertFalse($verifcond, 'Test that conf property of a module report false when disabled'); + $this->assertFalse($verifcond, 'Test that the conf property of a module reports false when disabled'); + + $verifcond=verifCond(0); + $this->assertFalse($verifcond, 'Test that verifConf(0) return False'); + + $verifcond=verifCond("0"); + $this->assertFalse($verifcond, 'Test that verifConf("0") return False'); $verifcond=verifCond(''); - $this->assertTrue($verifcond); + $this->assertTrue($verifcond, 'Test that verifConf("") return False (special case)'); } /**