--TEST--
MySQL PDO class interface
--SKIPIF--
<?php
require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR 'skipif.inc');
require_once(
dirname(__FILE__) . DIRECTORY_SEPARATOR 'mysql_pdo_test.inc');
MySQLPDOTest::skip();
$db MySQLPDOTest::factory();
if (
false == MySQLPDOTest::detect_transactional_mysql_engine($db))
    die(
"skip Transactional engine not found");
?>
--FILE--
<?php
    
require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR 'mysql_pdo_test.inc');
    
$db MySQLPDOTest::factory();

    
$expected = array(
        
'__construct'                            => true,
        
'prepare'                             => true,
        
'beginTransaction'                        => true,
        
'commit'                            => true,
        
'rollBack'                            => true,
        
'setAttribute'                            => true,
        
'exec'                                => true,
        
'query'                                => true,
        
'lastInsertId'                            => true,
        
'errorCode'                            => true,
        
'errorInfo'                            => true,
        
'getAttribute'                            => true,
        
'quote'                                => true,
        
'inTransaction'                            => true,
        
'__wakeup'                            => true,
        
'__sleep'                            => true,
        
'getAvailableDrivers'    => true,
    );
    
$classname get_class($db);

    
$methods get_class_methods($classname);
    foreach (
$methods as $k => $method) {
        if (isset(
$expected[$method])) {
            unset(
$expected[$method]);
            unset(
$methods[$k]);
        }
        if (
$method == $classname) {
            unset(
$expected['__construct']);
            unset(
$methods[$k]);
        }
    }
    if (!empty(
$expected)) {
        
printf("Dumping missing class methods\n");
        
var_dump($expected);
    }
    if (!empty(
$methods)) {
        
printf("Found more methods than expected, dumping list\n");
        
var_dump($methods);
    }

    print 
"done!";
--
EXPECT--
done!