1--TEST-- 2MySQL PDO class interface 3--SKIPIF-- 4<?php 5require_once(__DIR__ . DIRECTORY_SEPARATOR . 'skipif.inc'); 6require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc'); 7MySQLPDOTest::skip(); 8$db = MySQLPDOTest::factory(); 9if (false == MySQLPDOTest::detect_transactional_mysql_engine($db)) 10 die("skip Transactional engine not found"); 11?> 12--FILE-- 13<?php 14 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc'); 15 $db = MySQLPDOTest::factory(); 16 17 $expected = array( 18 '__construct' => true, 19 'prepare' => true, 20 'beginTransaction' => true, 21 'commit' => true, 22 'rollBack' => true, 23 'setAttribute' => true, 24 'exec' => true, 25 'query' => true, 26 'lastInsertId' => true, 27 'errorCode' => true, 28 'errorInfo' => true, 29 'getAttribute' => true, 30 'quote' => true, 31 'inTransaction' => true, 32 'getAvailableDrivers' => true, 33 ); 34 $classname = get_class($db); 35 36 $methods = get_class_methods($classname); 37 foreach ($methods as $k => $method) { 38 if (isset($expected[$method])) { 39 unset($expected[$method]); 40 unset($methods[$k]); 41 } 42 if ($method == $classname) { 43 unset($expected['__construct']); 44 unset($methods[$k]); 45 } 46 } 47 if (!empty($expected)) { 48 printf("Dumping missing class methods\n"); 49 var_dump($expected); 50 } 51 if (!empty($methods)) { 52 printf("Found more methods than expected, dumping list\n"); 53 var_dump($methods); 54 } 55 56 print "done!"; 57?> 58--EXPECT-- 59done! 60