summaryrefslogtreecommitdiffstats
path: root/tests/mocks/database/db
diff options
context:
space:
mode:
authorAndrey Andreev <narf@bofh.bg>2012-04-27 10:54:40 +0200
committerAndrey Andreev <narf@bofh.bg>2012-04-27 10:54:40 +0200
commitce747c8a1e72a30f5369de7d56ba91b72f0e2eb3 (patch)
tree32433143610df1683131dba5cf4437ddadc306c6 /tests/mocks/database/db
parent870ad190f068ec16aad45622528ba6747c61c120 (diff)
parent61318a2c53c13a314f483fcbbfd64c6e01f5242c (diff)
Merge upstream branch
Diffstat (limited to 'tests/mocks/database/db')
-rw-r--r--tests/mocks/database/db/driver.php36
-rw-r--r--tests/mocks/database/db/querybuilder.php10
2 files changed, 46 insertions, 0 deletions
diff --git a/tests/mocks/database/db/driver.php b/tests/mocks/database/db/driver.php
new file mode 100644
index 000000000..cb1820277
--- /dev/null
+++ b/tests/mocks/database/db/driver.php
@@ -0,0 +1,36 @@
+<?php
+
+class Mock_Database_DB_Driver extends CI_DB_driver {
+
+ /**
+ * @var object The actual Driver
+ */
+ protected $ci_db_driver;
+
+ /**
+ * Instantiate the database driver
+ *
+ * @param string DB Driver class name
+ * @param array DB configuration to set
+ * @return void
+ */
+ public function __construct($driver_class, $config = array())
+ {
+ if (is_string($driver_class)) $this->ci_db_driver = new $driver_class($config);
+ }
+
+ /**
+ * Overloading method, emulate the actual driver method (multiple inheritance workaround)
+ */
+ public function __call($method, $arguments)
+ {
+ if ( ! is_callable(array($this->ci_db_driver, $method)))
+ {
+ throw new BadMethodCallException($method. ' not exists or not implemented');
+ }
+
+ return call_user_func_array(array($this->ci_db_driver, $method), $arguments);
+ }
+}
+
+class CI_DB extends Mock_Database_DB_QueryBuilder {} \ No newline at end of file
diff --git a/tests/mocks/database/db/querybuilder.php b/tests/mocks/database/db/querybuilder.php
new file mode 100644
index 000000000..1b95c92af
--- /dev/null
+++ b/tests/mocks/database/db/querybuilder.php
@@ -0,0 +1,10 @@
+<?php
+
+if ( ! class_exists('CI_DB_query_builder'))
+{
+ class Mock_Database_DB_QueryBuilder extends CI_DB_active_record {}
+}
+else
+{
+ class Mock_Database_DB_QueryBuilder extends CI_DB_query_builder {}
+}