Annotation of embedaddon/php/ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt, revision 1.1.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>