1--TEST--
2Interface of the class mysqli_result - Reflection
3--SKIPIF--
4<?php
5require_once('skipif.inc');
6require_once('skipifemb.inc');
7require_once('skipifconnectfailure.inc');
8require_once('connect.inc');
9
10if (($tmp = substr(PHP_VERSION, 0, strpos(PHP_VERSION, '.'))) && ($tmp < 5))
11	die("skip Reflection not available before PHP 5 (found PHP $tmp)");
12
13/*
14Let's not deal with cross-version issues in the EXPECTF/UEXPECTF.
15Most of the things which we test are covered by mysqli_class_*_interface.phpt.
16Those tests go into the details and are aimed to be a development tool, no more.
17*/
18if (!$IS_MYSQLND)
19	die("skip Test has been written for the latest version of mysqlnd only");
20if ($MYSQLND_VERSION < 50004)
21	die("skip Test requires mysqlnd Revision 5.0.4 or newer");
22?>
23--FILE--
24<?php
25	require_once('reflection_tools.inc');
26	$class = new ReflectionClass('mysqli_result');
27	inspectClass($class);
28	print "done!";
29?>
30--EXPECTF--
31Inspecting class 'mysqli_result'
32isInternal: yes
33isUserDefined: no
34isInstantiable: yes
35isInterface: no
36isAbstract: no
37isFinal: no
38isIteratable: yes
39Modifiers: '0'
40Parent Class: ''
41Extension: 'mysqli'
42
43Inspecting method '__construct'
44isFinal: no
45isAbstract: no
46isPublic: yes
47isPrivate: no
48isProtected: no
49isStatic: no
50isConstructor: yes
51isDestructor: no
52isInternal: yes
53isUserDefined: no
54returnsReference: no
55Modifiers: 8448
56Number of Parameters: 0
57Number of Required Parameters: 0
58
59Inspecting method '__construct'
60isFinal: no
61isAbstract: no
62isPublic: yes
63isPrivate: no
64isProtected: no
65isStatic: no
66isConstructor: yes
67isDestructor: no
68isInternal: yes
69isUserDefined: no
70returnsReference: no
71Modifiers: 8448
72Number of Parameters: 0
73Number of Required Parameters: 0
74
75Inspecting method 'close'
76isFinal: no
77isAbstract: no
78isPublic: yes
79isPrivate: no
80isProtected: no
81isStatic: no
82isConstructor: no
83isDestructor: no
84isInternal: yes
85isUserDefined: no
86returnsReference: no
87Modifiers: 256
88Number of Parameters: 0
89Number of Required Parameters: 0
90
91Inspecting method 'data_seek'
92isFinal: no
93isAbstract: no
94isPublic: yes
95isPrivate: no
96isProtected: no
97isStatic: no
98isConstructor: no
99isDestructor: no
100isInternal: yes
101isUserDefined: no
102returnsReference: no
103Modifiers: 256
104Number of Parameters: 1
105Number of Required Parameters: 1
106
107Inspecting parameter 'offset' of method 'data_seek'
108isArray: no
109allowsNull: no
110isPassedByReference: no
111isOptional: no
112isDefaultValueAvailable: no
113
114Inspecting method 'fetch_all'
115isFinal: no
116isAbstract: no
117isPublic: yes
118isPrivate: no
119isProtected: no
120isStatic: no
121isConstructor: no
122isDestructor: no
123isInternal: yes
124isUserDefined: no
125returnsReference: no
126Modifiers: 256
127Number of Parameters: 0
128Number of Required Parameters: 0
129
130Inspecting method 'fetch_array'
131isFinal: no
132isAbstract: no
133isPublic: yes
134isPrivate: no
135isProtected: no
136isStatic: no
137isConstructor: no
138isDestructor: no
139isInternal: yes
140isUserDefined: no
141returnsReference: no
142Modifiers: 256
143Number of Parameters: 1
144Number of Required Parameters: 0
145
146Inspecting parameter 'result_type' of method 'fetch_array'
147isArray: no
148allowsNull: no
149isPassedByReference: no
150isOptional: yes
151isDefaultValueAvailable: no
152
153Inspecting method 'fetch_assoc'
154isFinal: no
155isAbstract: no
156isPublic: yes
157isPrivate: no
158isProtected: no
159isStatic: no
160isConstructor: no
161isDestructor: no
162isInternal: yes
163isUserDefined: no
164returnsReference: no
165Modifiers: 256
166Number of Parameters: 0
167Number of Required Parameters: 0
168
169Inspecting method 'fetch_field'
170isFinal: no
171isAbstract: no
172isPublic: yes
173isPrivate: no
174isProtected: no
175isStatic: no
176isConstructor: no
177isDestructor: no
178isInternal: yes
179isUserDefined: no
180returnsReference: no
181Modifiers: 256
182Number of Parameters: 0
183Number of Required Parameters: 0
184
185Inspecting method 'fetch_field_direct'
186isFinal: no
187isAbstract: no
188isPublic: yes
189isPrivate: no
190isProtected: no
191isStatic: no
192isConstructor: no
193isDestructor: no
194isInternal: yes
195isUserDefined: no
196returnsReference: no
197Modifiers: 256
198Number of Parameters: 1
199Number of Required Parameters: 1
200
201Inspecting parameter 'field_nr' of method 'fetch_field_direct'
202isArray: no
203allowsNull: no
204isPassedByReference: no
205isOptional: no
206isDefaultValueAvailable: no
207
208Inspecting method 'fetch_fields'
209isFinal: no
210isAbstract: no
211isPublic: yes
212isPrivate: no
213isProtected: no
214isStatic: no
215isConstructor: no
216isDestructor: no
217isInternal: yes
218isUserDefined: no
219returnsReference: no
220Modifiers: 256
221Number of Parameters: 0
222Number of Required Parameters: 0
223
224Inspecting method 'fetch_object'
225isFinal: no
226isAbstract: no
227isPublic: yes
228isPrivate: no
229isProtected: no
230isStatic: no
231isConstructor: no
232isDestructor: no
233isInternal: yes
234isUserDefined: no
235returnsReference: no
236Modifiers: 256
237Number of Parameters: 2
238Number of Required Parameters: 0
239
240Inspecting parameter 'class_name' of method 'fetch_object'
241isArray: no
242allowsNull: no
243isPassedByReference: no
244isOptional: yes
245isDefaultValueAvailable: no
246
247Inspecting parameter 'params' of method 'fetch_object'
248isArray: yes
249allowsNull: no
250isPassedByReference: no
251isOptional: yes
252isDefaultValueAvailable: no
253
254Inspecting method 'fetch_row'
255isFinal: no
256isAbstract: no
257isPublic: yes
258isPrivate: no
259isProtected: no
260isStatic: no
261isConstructor: no
262isDestructor: no
263isInternal: yes
264isUserDefined: no
265returnsReference: no
266Modifiers: 256
267Number of Parameters: 0
268Number of Required Parameters: 0
269
270Inspecting method 'field_seek'
271isFinal: no
272isAbstract: no
273isPublic: yes
274isPrivate: no
275isProtected: no
276isStatic: no
277isConstructor: no
278isDestructor: no
279isInternal: yes
280isUserDefined: no
281returnsReference: no
282Modifiers: 256
283Number of Parameters: 1
284Number of Required Parameters: 1
285
286Inspecting parameter 'field_nr' of method 'field_seek'
287isArray: no
288allowsNull: no
289isPassedByReference: no
290isOptional: no
291isDefaultValueAvailable: no
292
293Inspecting method 'free'
294isFinal: no
295isAbstract: no
296isPublic: yes
297isPrivate: no
298isProtected: no
299isStatic: no
300isConstructor: no
301isDestructor: no
302isInternal: yes
303isUserDefined: no
304returnsReference: no
305Modifiers: 256
306Number of Parameters: 0
307Number of Required Parameters: 0
308
309Inspecting method 'free_result'
310isFinal: no
311isAbstract: no
312isPublic: yes
313isPrivate: no
314isProtected: no
315isStatic: no
316isConstructor: no
317isDestructor: no
318isInternal: yes
319isUserDefined: no
320returnsReference: no
321Modifiers: 256
322Number of Parameters: 0
323Number of Required Parameters: 0
324
325Inspecting property 'current_field'
326isPublic: yes
327isPrivate: no
328isProtected: no
329isStatic: no
330isDefault: yes
331Modifiers: 256
332
333Inspecting property 'field_count'
334isPublic: yes
335isPrivate: no
336isProtected: no
337isStatic: no
338isDefault: yes
339Modifiers: 256
340
341Inspecting property 'lengths'
342isPublic: yes
343isPrivate: no
344isProtected: no
345isStatic: no
346isDefault: yes
347Modifiers: 256
348
349Inspecting property 'num_rows'
350isPublic: yes
351isPrivate: no
352isProtected: no
353isStatic: no
354isDefault: yes
355Modifiers: 256
356
357Inspecting property 'type'
358isPublic: yes
359isPrivate: no
360isProtected: no
361isStatic: no
362isDefault: yes
363Modifiers: 256
364Default property 'current_field'
365Default property 'field_count'
366Default property 'lengths'
367Default property 'num_rows'
368Default property 'type'
369done!