Debug custom report filter management

This commit is contained in:
Laurent Destailleur
2024-02-16 01:19:53 +01:00
parent 2677cd9ff7
commit 7107b5feb3
6 changed files with 194 additions and 64 deletions

View File

@@ -176,6 +176,64 @@ class FunctionsLibTest extends PHPUnit\Framework\TestCase
}
/**
* testDolCheckFilters
*
* @return boolean
*/
public function testDolCheckFilters()
{
global $conf, $langs, $db;
// A sql with global parenthesis at level 2
$error = '';
$parenthesislevel = 0;
$sql = '(( ... (a:=:1) .éééé. (b:=:1) ... ))';
$result = dolCheckFilters($sql, $error, $parenthesislevel);
$this->assertEquals(2, $parenthesislevel);
$this->assertTrue($result);
// A sql with global parenthesis at level 2
$error = '';
$parenthesislevel = 0;
$sql = '(((((a:=:1) ... ) .éééé.. (b:=:1) ..) ... ))';
$result = dolCheckFilters($sql, $error, $parenthesislevel);
$this->assertEquals(2, $parenthesislevel);
$this->assertTrue($result);
// A sql with global parenthesis at level 2
$error = '';
$parenthesislevel = 0;
$sql = '((... (((a:=:1) ... ( .éééé.. (b:=:1) ..)))))';
$result = dolCheckFilters($sql, $error, $parenthesislevel);
$this->assertEquals(2, $parenthesislevel);
$this->assertTrue($result);
// A sql with global parenthesis at level 0
$error = '';
$parenthesislevel = 0;
$sql = '(a:=:1) ... (b:=:1) éééé ...';
$result = dolCheckFilters($sql, $error, $parenthesislevel);
$this->assertEquals(0, $parenthesislevel);
$this->assertTrue($result);
// A sql with bad balance
$error = '';
$parenthesislevel = 0;
$sql = '((((a:=:1) ... (b:=:1) éééé ..))';
$result = dolCheckFilters($sql, $error, $parenthesislevel);
$this->assertEquals(0, $parenthesislevel);
$this->assertFalse($result);
// A sql with bad balance
$error = '';
$parenthesislevel = 0;
$sql = '(((a:=:1) ... (b:=:1) éééé ..)))';
$result = dolCheckFilters($sql, $error, $parenthesislevel);
$this->assertEquals(0, $parenthesislevel);
$this->assertFalse($result);
}
/**
* testDolForgeCriteriaCallback
*