]> source.dussan.org Git - nextcloud-server.git/commitdiff
fix mappertestutility
authorBernhard Posselt <dev@bernhard-posselt.com>
Tue, 24 Feb 2015 16:03:56 +0000 (17:03 +0100)
committerThomas Müller <thomas.mueller@tmit.eu>
Wed, 25 Feb 2015 21:21:24 +0000 (22:21 +0100)
tests/lib/appframework/db/mappertestutility.php

index e99a7617d9f53c6b09e6f606beb11aa9552b4713..282cd108c40173361df88c903d17b86a3f5178f3 100644 (file)
@@ -57,110 +57,114 @@ abstract class MapperTestUtility extends \Test\TestCase {
        }
 
 
-       /**
-        * Create mocks and set expected results for database queries
-        * @param string $sql the sql query that you expect to receive
-        * @param array $arguments the expected arguments for the prepare query
-        * method
-        * @param array $returnRows the rows that should be returned for the result
-        * of the database query. If not provided, it wont be assumed that fetch
-        * will be called on the result
-        */
-       protected function setMapperResult($sql, $arguments=array(), $returnRows=array(),
-               $limit=null, $offset=null, $expectClose=false){
-               if($limit === null && $offset === null) {
-                       $this->db->expects($this->at($this->prepareAt))
-                               ->method('prepare')
-                               ->with($this->equalTo($sql))
-                               ->will(($this->returnValue($this->query)));
-               } elseif($limit !== null && $offset === null) {
-                       $this->db->expects($this->at($this->prepareAt))
-                               ->method('prepare')
-                               ->with($this->equalTo($sql), $this->equalTo($limit))
-                               ->will(($this->returnValue($this->query)));
-               } elseif($limit === null && $offset !== null) {
-                       $this->db->expects($this->at($this->prepareAt))
-                               ->method('prepare')
-                               ->with($this->equalTo($sql),
-                                       $this->equalTo(null),
-                                       $this->equalTo($offset))
-                               ->will(($this->returnValue($this->query)));
-               } else  {
-                       $this->db->expects($this->at($this->prepareAt))
-                               ->method('prepare')
-                               ->with($this->equalTo($sql),
-                                       $this->equalTo($limit),
-                                       $this->equalTo($offset))
-                               ->will(($this->returnValue($this->query)));
-               }
-
-               $this->iterators[] = new ArgumentIterator($returnRows);
-
-               $iterators = $this->iterators;
-               $fetchAt = $this->fetchAt;
-
-               $this->query->expects($this->any())
-                       ->method('fetch')
-                       ->will($this->returnCallback(
-                               function() use ($iterators, $fetchAt){
-                                       $iterator = $iterators[$fetchAt];
-                                       $result = $iterator->next();
-
-                                       if($result === false) {
-                                               $fetchAt++;
-                                       }
-
-                                       $this->queryAt++;
-
-                                       return $result;
-                               }
-                       ));
-
-               $index = 1;
-               foreach($arguments as $argument) {
-                       switch (gettype($argument)) {
-                               case 'integer':
-                                       $pdoConstant = \PDO::PARAM_INT;
-                                       break;
-
-                               case 'NULL':
-                                       $pdoConstant = \PDO::PARAM_NULL;
-                                       break;
-
-                               case 'boolean':
-                                       $pdoConstant = \PDO::PARAM_BOOL;
-                                       break;
-
-                               default:
-                                       $pdoConstant = \PDO::PARAM_STR;
-                                       break;
-                       }
-                       $this->query->expects($this->at($this->queryAt))
-                               ->method('bindValue')
-                               ->with($this->equalTo($index),
-                                       $this->equalTo($argument),
-                                       $this->equalTo($pdoConstant));
-                       $index++;
-                       $this->queryAt++;
-               }
-
-               $this->query->expects($this->at($this->queryAt))
-                       ->method('execute');
-               $this->queryAt++;
-
-
-
-               if ($expectClose) {
-                       $closing = $this->once();
-               } else {
-                       $closing = $this->any();
-               }
-               $this->query->expects($closing)->method('closeCursor');
-               $this->queryAt++;
-
-               $this->prepareAt++;
-               $this->fetchAt++;
-       }
+
+    /**
+     * Create mocks and set expected results for database queries
+     * @param string $sql the sql query that you expect to receive
+     * @param array $arguments the expected arguments for the prepare query
+     * method
+     * @param array $returnRows the rows that should be returned for the result
+     * of the database query. If not provided, it wont be assumed that fetch
+     * will be called on the result
+     */
+    protected function setMapperResult($sql, $arguments=array(), $returnRows=array(),
+        $limit=null, $offset=null, $expectClose=false){
+        if($limit === null && $offset === null) {
+            $this->db->expects($this->at($this->prepareAt))
+                ->method('prepare')
+                ->with($this->equalTo($sql))
+                ->will(($this->returnValue($this->query)));
+        } elseif($limit !== null && $offset === null) {
+            $this->db->expects($this->at($this->prepareAt))
+                ->method('prepare')
+                ->with($this->equalTo($sql), $this->equalTo($limit))
+                ->will(($this->returnValue($this->query)));
+        } elseif($limit === null && $offset !== null) {
+            $this->db->expects($this->at($this->prepareAt))
+                ->method('prepare')
+                ->with($this->equalTo($sql),
+                    $this->equalTo(null),
+                    $this->equalTo($offset))
+                ->will(($this->returnValue($this->query)));
+        } else  {
+            $this->db->expects($this->at($this->prepareAt))
+                ->method('prepare')
+                ->with($this->equalTo($sql),
+                    $this->equalTo($limit),
+                    $this->equalTo($offset))
+                ->will(($this->returnValue($this->query)));
+        }
+
+        $this->iterators[] = new ArgumentIterator($returnRows);
+
+        $iterators = $this->iterators;
+        $fetchAt = $this->fetchAt;
+
+        $this->query->expects($this->any())
+            ->method('fetch')
+            ->will($this->returnCallback(
+                function() use ($iterators, $fetchAt){
+                    $iterator = $iterators[$fetchAt];
+                    $result = $iterator->next();
+
+                    if($result === false) {
+                        $fetchAt++;
+                    }
+
+                    $this->queryAt++;
+
+                    return $result;
+                }
+            ));
+
+        $index = 1;
+        foreach($arguments as $argument) {
+            switch (gettype($argument)) {
+                case 'integer':
+                    $pdoConstant = \PDO::PARAM_INT;
+                    break;
+
+                case 'NULL':
+                    $pdoConstant = \PDO::PARAM_NULL;
+                    break;
+
+                case 'boolean':
+                    $pdoConstant = \PDO::PARAM_BOOL;
+                    break;
+
+                default:
+                    $pdoConstant = \PDO::PARAM_STR;
+                    break;
+            }
+            $this->query->expects($this->at($this->queryAt))
+                ->method('bindValue')
+                ->with($this->equalTo($index),
+                    $this->equalTo($argument),
+                    $this->equalTo($pdoConstant));
+            $index++;
+            $this->queryAt++;
+        }
+
+        $this->query->expects($this->at($this->queryAt))
+            ->method('execute')
+            ->will($this->returnCallback(function($sql, $p=null, $o=null, $s=null) {
+
+            }));
+        $this->queryAt++;
+
+
+
+        if ($expectClose) {
+            $closing = $this->at($this->queryAt);
+        } else {
+            $closing = $this->any();
+        }
+        $this->query->expects($closing)->method('closeCursor');
+        $this->queryAt++;
+
+        $this->prepareAt++;
+        $this->fetchAt++;
+    }
 
 
 }
@@ -168,19 +172,19 @@ abstract class MapperTestUtility extends \Test\TestCase {
 
 class ArgumentIterator {
 
-       private $arguments;
+    private $arguments;
 
-       public function __construct($arguments){
-               $this->arguments = $arguments;
-       }
+    public function __construct($arguments){
+        $this->arguments = $arguments;
+    }
 
-       public function next(){
-               $result = array_shift($this->arguments);
-               if($result === null){
-                       return false;
-               } else {
-                       return $result;
-               }
-       }
+    public function next(){
+        $result = array_shift($this->arguments);
+        if($result === null){
+            return false;
+        } else {
+            return $result;
+        }
+    }
 }