From 2ac0540323e3f55517cf79cc7ba8828ff9cd9af1 Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Tue, 24 May 2005 14:26:22 +0000 Subject: [PATCH] - Add test for deriving PDO --- ext/pdo/tests/pdo_026.inc | 75 +++++++++++++++++++++++++++++++ ext/pdo_mysql/tests/pdo_026.phpt | 51 +++++++++++++++++++++ ext/pdo_pgsql/tests/pdo_026.phpt | 51 +++++++++++++++++++++ ext/pdo_sqlite/tests/pdo_026.phpt | 51 +++++++++++++++++++++ ext/sqlite/tests/pdo/pdo_026.phpt | 51 +++++++++++++++++++++ 5 files changed, 279 insertions(+) create mode 100755 ext/pdo/tests/pdo_026.inc create mode 100755 ext/pdo_mysql/tests/pdo_026.phpt create mode 100755 ext/pdo_pgsql/tests/pdo_026.phpt create mode 100755 ext/pdo_sqlite/tests/pdo_026.phpt create mode 100755 ext/sqlite/tests/pdo/pdo_026.phpt 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() -- 2.50.1