From: Marcus Boerger Date: Tue, 24 May 2005 14:26:22 +0000 (+0000) Subject: - Add test for deriving PDO X-Git-Tag: php-5.0.1b1~177 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2ac0540323e3f55517cf79cc7ba8828ff9cd9af1;p=php - Add test for deriving PDO --- diff --git a/ext/pdo/tests/pdo_026.inc b/ext/pdo/tests/pdo_026.inc new file mode 100755 index 0000000000..c5f2ce565b --- /dev/null +++ b/ext/pdo/tests/pdo_026.inc @@ -0,0 +1,75 @@ +dbh = $dbh; + echo __METHOD__ . "()\n"; + } + + function __destruct() + { + echo __METHOD__ . "()\n"; + } +} + +class PDODatabase extends PDO +{ + function __construct($connect) + { + echo __METHOD__ . "()\n"; + parent::__construct($connect); + } + + function __destruct() + { + echo __METHOD__ . "()\n"; + } + + function query($sql) + { + echo __METHOD__ . "()\n"; + $stmt = $this->prepare($sql, array(PDO_ATTR_STATEMENT_CLASS=>array('PDOStatementx', array($this)))); + $stmt->setFetchMode(PDO_FETCH_ASSOC); + $stmt->execute(); + return $stmt; + } +} + +$DB = new PDODatabase($CONNECTION); +var_dump(get_class($DB)); + +$DB->setAttribute(PDO_ATTR_ERRMODE, PDO_ERRMODE_WARNING); + +$DB->exec($SQL['create1']); + +$stmt = $DB->prepare($SQL['insert1']); +var_dump(get_class($stmt)); +foreach ($data as $row) { + $stmt->execute($row); +} + +$stmt = $DB->query($SQL['select']); +var_dump(get_class($stmt)); +var_dump(get_class($stmt->dbh)); + +foreach($stmt as $obj) { + var_dump($obj); +} + +?> diff --git a/ext/pdo_mysql/tests/pdo_026.phpt b/ext/pdo_mysql/tests/pdo_026.phpt new file mode 100755 index 0000000000..e55b4578f9 --- /dev/null +++ b/ext/pdo_mysql/tests/pdo_026.phpt @@ -0,0 +1,51 @@ +--TEST-- +PDO_MySQL: Deriving PDO +--SKIPIF-- + +--FILE-- + +===DONE=== + +--EXPECT-- +PDODatabase::__construct() +string(11) "PDODatabase" +string(12) "PDOStatement" +PDODatabase::query() +PDOStatementX::__construct() +string(13) "PDOStatementX" +string(11) "PDODatabase" +array(3) { + ["id"]=> + string(2) "10" + ["val"]=> + string(3) "Abc" + ["val2"]=> + string(3) "zxy" +} +array(3) { + ["id"]=> + string(2) "20" + ["val"]=> + string(3) "Def" + ["val2"]=> + string(3) "wvu" +} +array(3) { + ["id"]=> + string(2) "30" + ["val"]=> + string(3) "Ghi" + ["val2"]=> + string(3) "tsr" +} +===DONE=== +PDODatabase::__destruct() +PDOStatementX::__destruct() diff --git a/ext/pdo_pgsql/tests/pdo_026.phpt b/ext/pdo_pgsql/tests/pdo_026.phpt new file mode 100755 index 0000000000..68aa14cf7d --- /dev/null +++ b/ext/pdo_pgsql/tests/pdo_026.phpt @@ -0,0 +1,51 @@ +--TEST-- +PDO_PGSQL: Deriving PDO +--SKIPIF-- + +--FILE-- + +===DONE=== + +--EXPECT-- +PDODatabase::__construct() +string(11) "PDODatabase" +string(12) "PDOStatement" +PDODatabase::query() +PDOStatementX::__construct() +string(13) "PDOStatementX" +string(11) "PDODatabase" +array(3) { + ["id"]=> + int(10) + ["val"]=> + string(3) "Abc" + ["val2"]=> + string(3) "zxy" +} +array(3) { + ["id"]=> + int(20) + ["val"]=> + string(3) "Def" + ["val2"]=> + string(3) "wvu" +} +array(3) { + ["id"]=> + int(30) + ["val"]=> + string(3) "Ghi" + ["val2"]=> + string(3) "tsr" +} +===DONE=== +PDODatabase::__destruct() +PDOStatementX::__destruct() diff --git a/ext/pdo_sqlite/tests/pdo_026.phpt b/ext/pdo_sqlite/tests/pdo_026.phpt new file mode 100755 index 0000000000..066648f453 --- /dev/null +++ b/ext/pdo_sqlite/tests/pdo_026.phpt @@ -0,0 +1,51 @@ +--TEST-- +PDO_SQLite: Deriving PDO +--SKIPIF-- + +--FILE-- + +===DONE=== + +--EXPECT-- +PDODatabase::__construct() +string(11) "PDODatabase" +string(12) "PDOStatement" +PDODatabase::query() +PDOStatementX::__construct() +string(13) "PDOStatementX" +string(11) "PDODatabase" +array(3) { + ["id"]=> + string(2) "10" + ["val"]=> + string(3) "Abc" + ["val2"]=> + string(3) "zxy" +} +array(3) { + ["id"]=> + string(2) "20" + ["val"]=> + string(3) "Def" + ["val2"]=> + string(3) "wvu" +} +array(3) { + ["id"]=> + string(2) "30" + ["val"]=> + string(3) "Ghi" + ["val2"]=> + string(3) "tsr" +} +===DONE=== +PDODatabase::__destruct() +PDOStatementX::__destruct() diff --git a/ext/sqlite/tests/pdo/pdo_026.phpt b/ext/sqlite/tests/pdo/pdo_026.phpt new file mode 100755 index 0000000000..d9bc504c57 --- /dev/null +++ b/ext/sqlite/tests/pdo/pdo_026.phpt @@ -0,0 +1,51 @@ +--TEST-- +PDO_SQLite2: Deriving PDO +--SKIPIF-- + +--FILE-- + +===DONE=== + +--EXPECT-- +PDODatabase::__construct() +string(11) "PDODatabase" +string(12) "PDOStatement" +PDODatabase::query() +PDOStatementX::__construct() +string(13) "PDOStatementX" +string(11) "PDODatabase" +array(3) { + ["id"]=> + string(2) "10" + ["val"]=> + string(3) "Abc" + ["val2"]=> + string(3) "zxy" +} +array(3) { + ["id"]=> + string(2) "20" + ["val"]=> + string(3) "Def" + ["val2"]=> + string(3) "wvu" +} +array(3) { + ["id"]=> + string(2) "30" + ["val"]=> + string(3) "Ghi" + ["val2"]=> + string(3) "tsr" +} +===DONE=== +PDODatabase::__destruct() +PDOStatementX::__destruct()