diff options
Diffstat (limited to 'ext/pdo/tests/pdo_014.phpt')
-rw-r--r-- | ext/pdo/tests/pdo_014.phpt | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/ext/pdo/tests/pdo_014.phpt b/ext/pdo/tests/pdo_014.phpt deleted file mode 100644 index 1d21cb4a00..0000000000 --- a/ext/pdo/tests/pdo_014.phpt +++ /dev/null @@ -1,101 +0,0 @@ ---TEST-- -PDO Common: PDOStatement SPL iterator ---SKIPIF-- -<?php # vim:ft=php -if (!extension_loaded('pdo')) die('skip'); -if (!extension_loaded('SPL')) print 'skip SPL not available'; -if (!class_exists('IteratorIterator')) die('skip IteratorIterator class not present'); -$dir = getenv('REDIR_TEST_DIR'); -if (false == $dir) die('skip no driver'); -require_once $dir . 'pdo_test.inc'; -PDOTest::skip(); -?> ---FILE-- -<?php -require getenv('REDIR_TEST_DIR') . 'pdo_test.inc'; -$db = PDOTest::factory(); - -$db->exec('CREATE TABLE test(id int NOT NULL PRIMARY KEY, val VARCHAR(10), grp VARCHAR(10))'); -$db->exec('INSERT INTO test VALUES(1, \'A\', \'Group1\')'); -$db->exec('INSERT INTO test VALUES(2, \'B\', \'Group2\')'); -$SELECT = 'SELECT val, grp FROM test'; - -class Test -{ - function __construct($name = 'N/A') - { - echo __METHOD__ . "($name)\n"; - } -} - -$stmt = $db->query($SELECT, PDO_FETCH_CLASS, 'Test', array('WOW')); - -$it = new IteratorIterator($stmt); /* check if we can convert that thing */ - -/*** HINT: If YOU plan to do so remember not to call rewind() -> see below ***/ - -foreach($it as $data) -{ - var_dump($data); -} - -$it->next(); /* must be allowed */ -var_dump($it->current()); /* must return NULL */ -var_dump($it->valid()); /* must return false */ - -class PDOStatementAggregate extends PDOStatement implements IteratorAggregate -{ - private function __construct() - { - echo __METHOD__ . "\n"; - $this->setFetchMode(PDO_FETCH_NUM); - /* default fetch mode is BOTH, so we see if the ctor can overwrite that */ - } - - function getIterator() - { - echo __METHOD__ . "\n"; - $this->execute(); - return new IteratorIterator($this, 'PDOStatement'); - } -} - -$stmt = $db->prepare($SELECT, array(PDO_ATTR_STATEMENT_CLASS=>array('PDOStatementAggregate'))); - -foreach($stmt as $data) -{ - var_dump($data); -} - -?> ---EXPECTF-- -Test::__construct(WOW) -object(Test)#4 (2) { - ["val"]=> - string(1) "A" - ["grp"]=> - string(6) "Group1" -} -Test::__construct(WOW) -object(Test)#6 (2) { - ["val"]=> - string(1) "B" - ["grp"]=> - string(6) "Group2" -} -NULL -bool(false) -PDOStatementAggregate::__construct -PDOStatementAggregate::getIterator -array(2) { - [0]=> - string(1) "A" - [1]=> - string(6) "Group1" -} -array(2) { - [0]=> - string(1) "B" - [1]=> - string(6) "Group2" -} |