Annotation of embedaddon/php/ext/mysqli/tests/mysqli_class_mysqli_properties_no_conn.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Interface of the class mysqli
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('table.inc');
12:
13: function dump_properties($mysqli) {
14:
15: printf("\nClass variables:\n");
16: $variables = array_keys(get_class_vars(get_class($mysqli)));
17: sort($variables);
18: foreach ($variables as $k => $var) {
19: printf("%s = '%s'\n", $var, var_export(@$mysqli->$var, true));
20: }
21:
22: printf("\nObject variables:\n");
23: $variables = array_keys(get_object_vars($mysqli));
24: foreach ($variables as $k => $var) {
25: printf("%s = '%s'\n", $var, var_export(@$mysqli->$var, true));
26: }
27:
28: printf("\nMagic, magic properties:\n");
29:
30: assert(@mysqli_affected_rows($mysqli) === @$mysqli->affected_rows);
31: printf("mysqli->affected_rows = '%s'/%s ('%s'/%s)\n",
32: @$mysqli->affected_rows, gettype(@$mysqli->affected_rows),
33: @mysqli_affected_rows($mysqli), gettype(@mysqli_affected_rows($mysqli)));
34:
35: assert(@mysqli_get_client_info() === @$mysqli->client_info);
36: printf("mysqli->client_info = '%s'/%s ('%s'/%s)\n",
37: @$mysqli->client_info, gettype(@$mysqli->client_info),
38: @mysqli_get_client_info(), gettype(@mysqli_get_client_info()));
39:
40: assert(@mysqli_get_client_version() === @$mysqli->client_version);
41: printf("mysqli->client_version = '%s'/%s ('%s'/%s)\n",
42: @$mysqli->client_version, gettype(@$mysqli->client_version),
43: @mysqli_get_client_version(), gettype(@mysqli_get_client_version()));
44:
45: assert(@mysqli_errno($mysqli) === @$mysqli->errno);
46: printf("mysqli->errno = '%s'/%s ('%s'/%s)\n",
47: @$mysqli->errno, gettype(@$mysqli->errno),
48:
49: @mysqli_errno($mysqli), gettype(@mysqli_errno($mysqli)));
50:
51: assert(@mysqli_error($mysqli) === @$mysqli->error);
52: printf("mysqli->error = '%s'/%s ('%s'/%s)\n",
53: @$mysqli->error, gettype(@$mysqli->error),
54: @mysqli_error($mysqli), gettype(@mysqli_error($mysqli)));
55:
56: assert(@mysqli_field_count($mysqli) === @$mysqli->field_count);
57: printf("mysqli->field_count = '%s'/%s ('%s'/%s)\n",
58: @$mysqli->field_count, gettype(@$mysqli->field_count),
59: @mysqli_field_count($mysqli), gettype(@mysqli_field_count($mysqli)));
60:
61: assert(@mysqli_insert_id($mysqli) === @$mysqli->insert_id);
62: printf("mysqli->insert_id = '%s'/%s ('%s'/%s)\n",
63: @$mysqli->insert_id, gettype(@$mysqli->insert_id),
64: @mysqli_insert_id($mysqli), gettype(@mysqli_insert_id($mysqli)));
65:
66: assert(@mysqli_sqlstate($mysqli) === @$mysqli->sqlstate);
67: printf("mysqli->sqlstate = '%s'/%s ('%s'/%s)\n",
68: @$mysqli->sqlstate, gettype(@$mysqli->sqlstate),
69: @mysqli_sqlstate($mysqli), gettype(@mysqli_sqlstate($mysqli)));
70:
71: assert(@mysqli_stat($mysqli) === @$mysqli->sstat);
72: printf("mysqli->stat = '%s'/%s ('%s'/%s)\n",
73: @$mysqli->stat, gettype(@$mysqli->stat),
74: @mysqli_stat($mysqli), gettype(@mysqli_stat($mysqli)));
75:
76: assert(@mysqli_get_host_info($mysqli) === @$mysqli->host_info);
77: printf("mysqli->host_info = '%s'/%s ('%s'/%s)\n",
78: @$mysqli->host_info, gettype(@$mysqli->host_info),
79: @mysqli_get_host_info($mysqli), gettype(@mysqli_get_host_info($mysqli)));
80:
81: /* note that the data types are different */
82: assert(@mysqli_info($mysqli) == @$mysqli->info);
83: printf("mysqli->info = '%s'/%s ('%s'/%s)\n",
84: @$mysqli->info, gettype(@$mysqli->info),
85: @mysqli_info($mysqli), gettype(@mysqli_info($mysqli)));
86:
87: assert(@mysqli_thread_id($mysqli) > @$mysqli->thread_id);
88: assert(gettype(@$mysqli->thread_id) == gettype(@mysqli_thread_id($mysqli)));
89: printf("mysqli->thread_id = '%s'/%s ('%s'/%s)\n",
90: @$mysqli->thread_id, gettype(@$mysqli->thread_id),
91: @mysqli_thread_id($mysqli), gettype(@mysqli_thread_id($mysqli)));
92:
93: assert(@mysqli_get_proto_info($mysqli) === @$mysqli->protocol_version);
94: printf("mysqli->protocol_version = '%s'/%s ('%s'/%s)\n",
95: @$mysqli->protocol_version, gettype(@$mysqli->protocol_version),
96: @mysqli_get_proto_info($mysqli), gettype(@mysqli_get_proto_info($mysqli)));
97:
98: assert(@mysqli_get_server_info($mysqli) === @$mysqli->server_info);
99: printf("mysqli->server_info = '%s'/%s ('%s'/%s)\n",
100: @$mysqli->server_info, gettype(@$mysqli->server_info),
101: @mysqli_get_server_info($mysqli), gettype(@mysqli_get_server_info($mysqli)));
102:
103: assert(@mysqli_get_server_version($mysqli) === @$mysqli->server_version);
104: printf("mysqli->server_version = '%s'/%s ('%s'/%s)\n",
105: @$mysqli->server_version, gettype(@$mysqli->server_version),
106: @mysqli_get_server_version($mysqli), gettype(@mysqli_get_server_version($mysqli)));
107:
108: assert(@mysqli_warning_count($mysqli) === @$mysqli->warning_count);
109: printf("mysqli->warning_count = '%s'/%s ('%s'/%s)\n",
110: @$mysqli->warning_count, gettype(@$mysqli->warning_count),
111: @mysqli_warning_count($mysqli), gettype(@mysqli_warning_count($mysqli)));
112:
113: printf("\nAccess to undefined properties:\n");
114: printf("mysqli->unknown = '%s'\n", @$mysqli->unknown);
115:
116: @$mysqli->unknown = 13;
117: printf("setting mysqli->unknown, @mysqli_unknown = '%s'\n", @$mysqli->unknown);
118:
119: $unknown = 'friday';
120: @$mysqli->unknown = $unknown;
121: printf("setting mysqli->unknown, @mysqli_unknown = '%s'\n", @$mysqli->unknown);
122:
123: printf("\nAccess hidden properties for MYSLQI_STATUS_INITIALIZED (TODO documentation):\n");
124: assert(@mysqli_connect_error() === @$mysqli->connect_error);
125: printf("mysqli->connect_error = '%s'/%s ('%s'/%s)\n",
126: @$mysqli->connect_error, gettype(@$mysqli->connect_error),
127: @mysqli_connect_error(), gettype(@mysqli_connect_error()));
128:
129: assert(@mysqli_connect_errno() === @$mysqli->connect_errno);
130: printf("mysqli->connect_errno = '%s'/%s ('%s'/%s)\n",
131: @$mysqli->connect_errno, gettype(@$mysqli->connect_errno),
132: @mysqli_connect_errno(), gettype(@mysqli_connect_errno()));
133: }
134:
135: printf("Without RS\n");
136: $mysqli = @new mysqli($host, $user, $passwd . "invalid", $db, $port, $socket);
137: dump_properties($mysqli);
138:
139: printf("With RS\n");
140: $mysqli = @new mysqli($host, $user, $passwd . "invalid", $db, $port, $socket);
141: $res = @$mysqli->query("SELECT * FROM test");
142: dump_properties($mysqli);
143:
144: print "done!";
145: ?>
146: --CLEAN--
147: <?php require_once("clean_table.inc"); ?>
148: --EXPECTF--
149: Without RS
150:
151: Class variables:
152: affected_rows = 'NULL'
153: client_info = 'NULL'
154: client_version = '%d'
155: connect_errno = '%d'
156: connect_error = '%s'
157: errno = 'NULL'
158: error = 'NULL'
159: field_count = 'NULL'
160: host_info = 'NULL'
161: info = 'NULL'
162: insert_id = 'NULL'
163: protocol_version = 'NULL'
164: server_info = 'NULL'
165: server_version = 'NULL'
166: sqlstate = 'NULL'
167: stat = 'NULL'
168: thread_id = 'NULL'
169: warning_count = 'NULL'
170:
171: Object variables:
172: affected_rows = 'NULL'
173: client_info = 'NULL'
174: client_version = '%d'
175: connect_errno = '%d'
176: connect_error = '%s'
177: errno = 'NULL'
178: error = 'NULL'
179: field_count = 'NULL'
180: host_info = 'NULL'
181: info = 'NULL'
182: insert_id = 'NULL'
183: server_info = 'NULL'
184: server_version = 'NULL'
185: stat = 'NULL'
186: sqlstate = 'NULL'
187: protocol_version = 'NULL'
188: thread_id = 'NULL'
189: warning_count = 'NULL'
190:
191: Magic, magic properties:
192: mysqli->affected_rows = ''/NULL (''/NULL)
193:
194: Warning: assert(): Assertion failed in %s on line %d
195: mysqli->client_info = ''/NULL ('%s'/string)
196: mysqli->client_version = '%d'/integer ('%d'/integer)
197: mysqli->errno = ''/NULL (''/NULL)
198: mysqli->error = ''/NULL (''/NULL)
199: mysqli->field_count = ''/NULL (''/NULL)
200: mysqli->insert_id = ''/NULL (''/NULL)
201: mysqli->sqlstate = ''/NULL (''/NULL)
202: mysqli->stat = ''/NULL (''/NULL)
203: mysqli->host_info = ''/NULL (''/NULL)
204: mysqli->info = ''/NULL (''/NULL)
205:
206: Warning: assert(): Assertion failed in %s on line 78
207: mysqli->thread_id = ''/NULL (''/NULL)
208: mysqli->protocol_version = ''/NULL (''/NULL)
209: mysqli->server_info = ''/NULL (''/NULL)
210: mysqli->server_version = ''/NULL (''/NULL)
211: mysqli->warning_count = ''/NULL (''/NULL)
212:
213: Access to undefined properties:
214: mysqli->unknown = ''
215: setting mysqli->unknown, @mysqli_unknown = '13'
216: setting mysqli->unknown, @mysqli_unknown = 'friday'
217:
218: Access hidden properties for MYSLQI_STATUS_INITIALIZED (TODO documentation):
219: mysqli->connect_error = '%s'/string ('%s'/string)
220: mysqli->connect_errno = '%d'/integer ('%d'/integer)
221: With RS
222:
223: Class variables:
224: affected_rows = 'NULL'
225: client_info = 'NULL'
226: client_version = '%d'
227: connect_errno = '%d'
228: connect_error = '%s'
229: errno = 'NULL'
230: error = 'NULL'
231: field_count = 'NULL'
232: host_info = 'NULL'
233: info = 'NULL'
234: insert_id = 'NULL'
235: protocol_version = 'NULL'
236: server_info = 'NULL'
237: server_version = 'NULL'
238: sqlstate = 'NULL'
239: stat = 'NULL'
240: thread_id = 'NULL'
241: warning_count = 'NULL'
242:
243: Object variables:
244: affected_rows = 'NULL'
245: client_info = 'NULL'
246: client_version = '%d'
247: connect_errno = '%d'
248: connect_error = '%s'
249: errno = 'NULL'
250: error = 'NULL'
251: field_count = 'NULL'
252: host_info = 'NULL'
253: info = 'NULL'
254: insert_id = 'NULL'
255: server_info = 'NULL'
256: server_version = 'NULL'
257: stat = 'NULL'
258: sqlstate = 'NULL'
259: protocol_version = 'NULL'
260: thread_id = 'NULL'
261: warning_count = 'NULL'
262:
263: Magic, magic properties:
264: mysqli->affected_rows = ''/NULL (''/NULL)
265:
266: Warning: assert(): Assertion failed in %s on line %s
267: mysqli->client_info = ''/NULL ('%s'/string)
268: mysqli->client_version = '%d'/integer ('%d'/integer)
269: mysqli->errno = ''/NULL (''/NULL)
270: mysqli->error = ''/NULL (''/NULL)
271: mysqli->field_count = ''/NULL (''/NULL)
272: mysqli->insert_id = ''/NULL (''/NULL)
273: mysqli->sqlstate = ''/NULL (''/NULL)
274: mysqli->stat = ''/NULL (''/NULL)
275: mysqli->host_info = ''/NULL (''/NULL)
276: mysqli->info = ''/NULL (''/NULL)
277:
278: Warning: assert(): Assertion failed in %s on line %d
279: mysqli->thread_id = ''/NULL (''/NULL)
280: mysqli->protocol_version = ''/NULL (''/NULL)
281: mysqli->server_info = ''/NULL (''/NULL)
282: mysqli->server_version = ''/NULL (''/NULL)
283: mysqli->warning_count = ''/NULL (''/NULL)
284:
285: Access to undefined properties:
286: mysqli->unknown = ''
287: setting mysqli->unknown, @mysqli_unknown = '13'
288: setting mysqli->unknown, @mysqli_unknown = 'friday'
289:
290: Access hidden properties for MYSLQI_STATUS_INITIALIZED (TODO documentation):
291: mysqli->connect_error = '%s'/string ('%s'/string)
292: mysqli->connect_errno = '%d'/integer ('%d'/integer)
293: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>