diff options
author | Simon Holywell <[email protected]> | 2013-01-23 14:24:12 +0000 |
---|---|---|
committer | Simon Holywell <[email protected]> | 2013-01-23 14:24:12 +0000 |
commit | b10aff0001e61565831cc0578d4a939619f59643 (patch) | |
tree | 577693b079608919346e30ff2425bff98b2b2e50 /test/test_classes.php | |
parent | 07f2e634d68218b9e4edd7f5007708de1fb9553d (diff) | |
parent | a49bd88e715ec77355c26ac07225fc9807b3640f (diff) |
Merge remote-tracking branch 'tag/dev-multi' into multiple-connections
Diffstat (limited to 'test/test_classes.php')
-rw-r--r-- | test/test_classes.php | 57 |
1 files changed, 53 insertions, 4 deletions
diff --git a/test/test_classes.php b/test/test_classes.php index ff31764..6af1a76 100644 --- a/test/test_classes.php +++ b/test/test_classes.php @@ -11,7 +11,11 @@ /** * Return some dummy data */ - public function fetch($fetch_style=PDO::FETCH_BOTH, $cursor_orientation=PDO::FETCH_ORI_NEXT, $cursor_offset=0) { + public function fetch( + $fetch_style = PDO::FETCH_BOTH, + $cursor_orientation = PDO::FETCH_ORI_NEXT, + $cursor_offset = 0 + ) { if ($this->current_row == 5) { return false; } else { @@ -39,6 +43,44 @@ } /** + * Another mock PDOStatement class, for testing multiple connections + */ + class MockDifferentPDOStatement extends PDOStatement { + + private $current_row = 0; + /** + * Return some dummy data + */ + public function fetch( + $fetch_style = PDO::FETCH_BOTH, + $cursor_orientation = PDO::FETCH_ORI_NEXT, + $cursor_offset = 0 + ) { + if ($this->current_row == 5) { + return false; + } else { + $this->current_row++; + return array('name' => 'Steve', 'age' => 80, 'id' => "{$this->current_row}"); + } + } + } + + /** + * A different mock database class, for testing multiple connections + * Mock database class implementing a subset of the PDO API. + */ + class MockDifferentPDO extends PDO { + + /** + * Return a dummy PDO statement + */ + public function prepare($statement, $driver_options = array()) { + $this->last_query = new MockDifferentPDOStatement($statement); + return $this->last_query; + } + } + + /** * * Class to provide simple testing functionality * @@ -110,12 +152,19 @@ * Check the provided string is equal to the last * query generated by the dummy database class. */ - public static function check_equal($test_name, $query) { + public static function check_equal_query($test_name, $query) { $last_query = ORM::get_last_query(); - if ($query === $last_query) { + self::check_equal_string($test_name, $query, $last_query); + } + + /** + * Check the provided strings are equal + */ + public static function check_equal_string($test_name, $s1, $s2) { + if ($s1 === $s2) { self::report_pass($test_name); } else { - self::report_failure($test_name, $query, $last_query); + self::report_failure($test_name, $s1, $s2); } } } |