Annotation of embedaddon/php/ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Interface of the class mysqli_driver
! 3: --SKIPIF--
! 4: <?php
! 5: require_once('skipif.inc');
! 6: require_once('skipifemb.inc');
! 7: require_once('skipifconnectfailure.inc');
! 8: ?>
! 9: --FILE--
! 10: <?php
! 11: require('connect.inc');
! 12: require('table.inc');
! 13:
! 14: $driver = new mysqli_driver();
! 15:
! 16: printf("Parent class:\n");
! 17: var_dump(get_parent_class($driver));
! 18:
! 19: printf("\nMethods:\n");
! 20: $methods = get_class_methods($driver);
! 21: $expected_methods = array();
! 22:
! 23: if (!$IS_MYSQLND && (isset($methods['embedded_server_start']))) {
! 24: /* libmysql only - needs extra compile flag, no way to check properly in the
! 25: PHP user land if its compiled in or not */
! 26: $expected_methods = array_merge($expected_methods, array(
! 27: 'embedded_server_start' => true,
! 28: 'embedded_server_end' => true,
! 29: ));
! 30: }
! 31:
! 32: foreach ($methods as $k => $method) {
! 33: if (isset($expected_methods[$method])) {
! 34: unset($expected_methods[$method]);
! 35: unset($methods[$k]);
! 36: }
! 37: }
! 38: if (!empty($expected_methods)) {
! 39: printf("Dumping list of missing methods.\n");
! 40: var_dump($expected_methods);
! 41: }
! 42: if (!empty($methods)) {
! 43: printf("Dumping list of unexpected methods.\n");
! 44: var_dump($methods);
! 45: }
! 46: if (empty($expected_methods) && empty($methods))
! 47: printf("ok\n");
! 48:
! 49: printf("\nClass variables:\n");
! 50: $variables = array_keys(get_class_vars(get_class($driver)));
! 51: sort($variables);
! 52: foreach ($variables as $k => $var)
! 53: printf("%s\n", $var);
! 54:
! 55: printf("\nObject variables:\n");
! 56: $variables = array_keys(get_object_vars($driver));
! 57: foreach ($variables as $k => $var)
! 58: printf("%s\n", $var);
! 59:
! 60: printf("\nMagic, magic properties:\n");
! 61:
! 62: assert(mysqli_get_client_info() === $driver->client_info);
! 63: printf("driver->client_info = '%s'\n", $driver->client_info);
! 64:
! 65: assert(mysqli_get_client_version() === $driver->client_version);
! 66: printf("driver->client_version = '%s'\n", $driver->client_version);
! 67:
! 68: assert($driver->driver_version > 0);
! 69: printf("driver->driver_version = '%s'\n", $driver->driver_version);
! 70:
! 71: assert(in_array($driver->report_mode,
! 72: array(
! 73: MYSQLI_REPORT_ALL,
! 74: MYSQLI_REPORT_STRICT,
! 75: MYSQLI_REPORT_ERROR,
! 76: MYSQLI_REPORT_INDEX,
! 77: MYSQLI_REPORT_OFF
! 78: )
! 79: ));
! 80:
! 81: printf("driver->report_mode = '%s'\n", $driver->report_mode);
! 82: $driver->report_mode = MYSQLI_REPORT_STRICT;
! 83: assert($driver->report_mode === MYSQLI_REPORT_STRICT);
! 84:
! 85: assert(is_bool($driver->embedded));
! 86: printf("driver->embedded = '%s'\n", $driver->embedded);
! 87:
! 88: printf("driver->reconnect = '%s'\n", $driver->reconnect);
! 89:
! 90: printf("\nAccess to undefined properties:\n");
! 91: printf("driver->unknown = '%s'\n", @$driver->unknown);
! 92:
! 93: print "done!";
! 94: ?>
! 95: --EXPECTF--
! 96: Parent class:
! 97: bool(false)
! 98:
! 99: Methods:
! 100: ok
! 101:
! 102: Class variables:
! 103: client_info
! 104: client_version
! 105: driver_version
! 106: embedded
! 107: reconnect
! 108: report_mode
! 109:
! 110: Object variables:
! 111: client_info
! 112: client_version
! 113: driver_version
! 114: embedded
! 115: reconnect
! 116: report_mode
! 117:
! 118: Magic, magic properties:
! 119: driver->client_info = '%s'
! 120: driver->client_version = '%d'
! 121: driver->driver_version = '%d'
! 122: driver->report_mode = '%d'
! 123: driver->embedded = ''
! 124: driver->reconnect = ''
! 125:
! 126: Access to undefined properties:
! 127: driver->unknown = ''
! 128: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>