From ba093a14a2641b521100ef0b7157ae7ad0c7656a Mon Sep 17 00:00:00 2001 From: Dominique Fournier Date: Mon, 10 Apr 2017 14:33:52 +0000 Subject: [PATCH] Add more tests to dblayeroo git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@3502 bf3deb0d-5f1a-0410-827f-c0cc1f45334c --- Tests/dblayerooComplet.php | 252 +++++++++++++++++++++++-------------- 1 file changed, 160 insertions(+), 92 deletions(-) diff --git a/Tests/dblayerooComplet.php b/Tests/dblayerooComplet.php index e4bf06f..ad32f72 100644 --- a/Tests/dblayerooComplet.php +++ b/Tests/dblayerooComplet.php @@ -393,6 +393,7 @@ class test_dblayeroo_{ENGINE} extends PHPUnit_Framework_TestCase public function test_innerJoin1 () { + // No filter $db1 = $this->db1 (); $db2 = $this->db2 (); $res = $db2->select () @@ -401,51 +402,52 @@ class test_dblayeroo_{ENGINE} extends PHPUnit_Framework_TestCase $db1->disconnect (); $db2->disconnect (); $this->assertSame (array ( - array ( - 'usersoo.uid' => 1, - 'usersoo.gecos' => 'name', - 'usersoo.password' => 'toto', - 'usersoo.group' => 'group1', - 'groupedoo.group' => 'group1', - 'groupedoo.object' => 'object', - 'groupedoo.where' => 'where', - 'groupedoo.with space' => NULL, - ), - array ( - 'usersoo.uid' => 4, - 'usersoo.gecos' => 'name2', - 'usersoo.password' => 'pwd2', - 'usersoo.group' => 'group1', - 'groupedoo.group' => 'group1', - 'groupedoo.object' => 'object', - 'groupedoo.where' => 'where', - 'groupedoo.with space' => NULL, - ), - array ( - 'usersoo.uid' => 5, - 'usersoo.gecos' => 'name3', - 'usersoo.password' => 'pwd3', - 'usersoo.group' => 'group1', - 'groupedoo.group' => 'group1', - 'groupedoo.object' => 'object', - 'groupedoo.where' => 'where', - 'groupedoo.with space' => NULL, - ), - array ( - 'usersoo.uid' => 6, - 'usersoo.gecos' => 'name4', - 'usersoo.password' => 'pwd4', - 'usersoo.group' => 'group1', - 'groupedoo.group' => 'group1', - 'groupedoo.object' => 'object', - 'groupedoo.where' => 'where', - 'groupedoo.with space' => NULL, - ), - ), $res); + array ( + 'usersoo.uid' => 1, + 'usersoo.gecos' => 'name', + 'usersoo.password' => 'toto', + 'usersoo.group' => 'group1', + 'groupedoo.group' => 'group1', + 'groupedoo.object' => 'object', + 'groupedoo.where' => 'where', + 'groupedoo.with space' => NULL, + ), + array ( + 'usersoo.uid' => 4, + 'usersoo.gecos' => 'name2', + 'usersoo.password' => 'pwd2', + 'usersoo.group' => 'group1', + 'groupedoo.group' => 'group1', + 'groupedoo.object' => 'object', + 'groupedoo.where' => 'where', + 'groupedoo.with space' => NULL, + ), + array ( + 'usersoo.uid' => 5, + 'usersoo.gecos' => 'name3', + 'usersoo.password' => 'pwd3', + 'usersoo.group' => 'group1', + 'groupedoo.group' => 'group1', + 'groupedoo.object' => 'object', + 'groupedoo.where' => 'where', + 'groupedoo.with space' => NULL, + ), + array ( + 'usersoo.uid' => 6, + 'usersoo.gecos' => 'name4', + 'usersoo.password' => 'pwd4', + 'usersoo.group' => 'group1', + 'groupedoo.group' => 'group1', + 'groupedoo.object' => 'object', + 'groupedoo.where' => 'where', + 'groupedoo.with space' => NULL, + ), + ), $res); } public function test_leftJoin2 () { + // No filter $db1 = $this->db1 (); $db2 = $this->db2 (); $res = $db1->select () @@ -454,56 +456,122 @@ class test_dblayeroo_{ENGINE} extends PHPUnit_Framework_TestCase $db1->disconnect (); $db2->disconnect (); $this->assertSame (array ( - array ( - 'groupedoo.group' => 'group1', - 'groupedoo.object' => 'object', - 'groupedoo.where' => 'where', - 'groupedoo.with space' => NULL, - 'usersoo.uid' => 1, - 'usersoo.gecos' => 'name', - 'usersoo.password' => 'toto', - 'usersoo.group' => 'group1', - ), - array ( - 'groupedoo.group' => 'group1', - 'groupedoo.object' => 'object', - 'groupedoo.where' => 'where', - 'groupedoo.with space' => NULL, - 'usersoo.uid' => 4, - 'usersoo.gecos' => 'name2', - 'usersoo.password' => 'pwd2', - 'usersoo.group' => 'group1', - ), - array ( - 'groupedoo.group' => 'group1', - 'groupedoo.object' => 'object', - 'groupedoo.where' => 'where', - 'groupedoo.with space' => NULL, - 'usersoo.uid' => 5, - 'usersoo.gecos' => 'name3', - 'usersoo.password' => 'pwd3', - 'usersoo.group' => 'group1', - ), - array ( - 'groupedoo.group' => 'group1', - 'groupedoo.object' => 'object', - 'groupedoo.where' => 'where', - 'groupedoo.with space' => NULL, - 'usersoo.uid' => 6, - 'usersoo.gecos' => 'name4', - 'usersoo.password' => 'pwd4', - 'usersoo.group' => 'group1', - ), - array ( - 'groupedoo.group' => 'group2', - 'groupedoo.object' => 'object', - 'groupedoo.where' => 'where', - 'groupedoo.with space' => NULL, - 'usersoo.uid' => 0, - 'usersoo.gecos' => NULL, - 'usersoo.password' => NULL, - 'usersoo.group' => NULL, - ), - ), $res); + array ( + 'groupedoo.group' => 'group1', + 'groupedoo.object' => 'object', + 'groupedoo.where' => 'where', + 'groupedoo.with space' => NULL, + 'usersoo.uid' => 1, + 'usersoo.gecos' => 'name', + 'usersoo.password' => 'toto', + 'usersoo.group' => 'group1', + ), + array ( + 'groupedoo.group' => 'group1', + 'groupedoo.object' => 'object', + 'groupedoo.where' => 'where', + 'groupedoo.with space' => NULL, + 'usersoo.uid' => 4, + 'usersoo.gecos' => 'name2', + 'usersoo.password' => 'pwd2', + 'usersoo.group' => 'group1', + ), + array ( + 'groupedoo.group' => 'group1', + 'groupedoo.object' => 'object', + 'groupedoo.where' => 'where', + 'groupedoo.with space' => NULL, + 'usersoo.uid' => 5, + 'usersoo.gecos' => 'name3', + 'usersoo.password' => 'pwd3', + 'usersoo.group' => 'group1', + ), + array ( + 'groupedoo.group' => 'group1', + 'groupedoo.object' => 'object', + 'groupedoo.where' => 'where', + 'groupedoo.with space' => NULL, + 'usersoo.uid' => 6, + 'usersoo.gecos' => 'name4', + 'usersoo.password' => 'pwd4', + 'usersoo.group' => 'group1', + ), + array ( + 'groupedoo.group' => 'group2', + 'groupedoo.object' => 'object', + 'groupedoo.where' => 'where', + 'groupedoo.with space' => NULL, + 'usersoo.uid' => 0, + 'usersoo.gecos' => NULL, + 'usersoo.password' => NULL, + 'usersoo.group' => NULL, + ), + ), $res); + } + + public function test_leftJoin3 () + { + // Filter on the db1 + $db1 = $this->db1 (); + $db2 = $this->db2 (); + $res = $db1->select () + ->displayColumn ("group") + ->joinLeft ($db2, array ("group"=>"group")) + ->execute (); + $db1->disconnect (); + $db2->disconnect (); + $this->assertSame (array ( + array ( + 'groupedoo.group' => 'group1', + ), + array ( + 'groupedoo.group' => 'group1', + ), + array ( + 'groupedoo.group' => 'group1', + ), + array ( + 'groupedoo.group' => 'group1', + ), + array ( + 'groupedoo.group' => 'group2', + ), + ), $res); + } + + public function test_leftJoin4 () + { + // Filter on the db1 + $db1 = $this->db1 (); + $db2 = $this->db2 (); + $db2->displayColumn ("group"); + $res = $db1->select () + ->displayColumn ("group") + ->joinLeft ($db2, array ("group"=>"group")) + ->execute (); + $db1->disconnect (); + $db2->disconnect (); + $this->assertSame (array ( + array ( + 'usersoo.group' => 'group1', + 'groupedoo.group' => 'group1', + ), + array ( + 'usersoo.group' => 'group1', + 'groupedoo.group' => 'group1', + ), + array ( + 'usersoo.group' => 'group1', + 'groupedoo.group' => 'group1', + ), + array ( + 'usersoo.group' => 'group1', + 'groupedoo.group' => 'group1', + ), + array ( + 'usersoo.group' => NULL, + 'groupedoo.group' => 'group2', + ), + ), $res); } }