summaryrefslogtreecommitdiff
path: root/test/bootstrap.php
diff options
context:
space:
mode:
Diffstat (limited to 'test/bootstrap.php')
-rw-r--r--test/bootstrap.php18
1 files changed, 17 insertions, 1 deletions
diff --git a/test/bootstrap.php b/test/bootstrap.php
index 32f0288..3b3cace 100644
--- a/test/bootstrap.php
+++ b/test/bootstrap.php
@@ -10,6 +10,7 @@ require_once dirname(__FILE__) . '/../idiorm.php';
class MockPDOStatement extends PDOStatement {
private $current_row = 0;
private $statement = NULL;
+ private $bindParams = array();
/**
* Store the statement that gets passed to the constructor
@@ -21,9 +22,10 @@ class MockPDOStatement extends PDOStatement {
/**
* Check that the array
*/
- public function execute($params = null) {
+ public function execute($params = NULL) {
$count = 0;
$m = array();
+ if (is_null($params)) $params = $this->bindParams;
if (preg_match_all('/"[^"\\\\]*(?:\\?)[^"\\\\]*"|\'[^\'\\\\]*(?:\\?)[^\'\\\\]*\'|(\\?)/', $this->statement, $m, PREG_SET_ORDER)) {
$count = count($m);
for ($v = 0; $v < $count; $v++) {
@@ -40,6 +42,20 @@ class MockPDOStatement extends PDOStatement {
}
}
}
+
+ /**
+ * Add data to arrays
+ */
+ public function bindParam($index, $value, $type)
+ {
+ // Do check on index, and type
+ if (!is_int($index)) throw new Exception('Incorrect parameter type. Expected $index to be an integer.');
+ if (!is_int($type) || ($type != PDO::PARAM_STR && $type != PDO::PARAM_NULL && $type != PDO::PARAM_BOOL && $type != PDO::PARAM_INT))
+ throw new Exception('Incorrect parameter type. Expected $type to be an integer.');
+
+ // Add param to array
+ $this->bindParams[$index - 1] = $value;
+ }
/**
* Return some dummy data