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: 1
128Number of Required Parameters: 0
129
130Inspecting parameter 'result_type' of method 'fetch_all'
131isArray: no
132allowsNull: no
133isPassedByReference: no
134isOptional: yes
135isDefaultValueAvailable: no
136
137Inspecting method 'fetch_array'
138isFinal: no
139isAbstract: no
140isPublic: yes
141isPrivate: no
142isProtected: no
143isStatic: no
144isConstructor: no
145isDestructor: no
146isInternal: yes
147isUserDefined: no
148returnsReference: no
149Modifiers: 256
150Number of Parameters: 1
151Number of Required Parameters: 0
152
153Inspecting parameter 'result_type' of method 'fetch_array'
154isArray: no
155allowsNull: no
156isPassedByReference: no
157isOptional: yes
158isDefaultValueAvailable: no
159
160Inspecting method 'fetch_assoc'
161isFinal: no
162isAbstract: no
163isPublic: yes
164isPrivate: no
165isProtected: no
166isStatic: no
167isConstructor: no
168isDestructor: no
169isInternal: yes
170isUserDefined: no
171returnsReference: no
172Modifiers: 256
173Number of Parameters: 0
174Number of Required Parameters: 0
175
176Inspecting method 'fetch_field'
177isFinal: no
178isAbstract: no
179isPublic: yes
180isPrivate: no
181isProtected: no
182isStatic: no
183isConstructor: no
184isDestructor: no
185isInternal: yes
186isUserDefined: no
187returnsReference: no
188Modifiers: 256
189Number of Parameters: 0
190Number of Required Parameters: 0
191
192Inspecting method 'fetch_field_direct'
193isFinal: no
194isAbstract: no
195isPublic: yes
196isPrivate: no
197isProtected: no
198isStatic: no
199isConstructor: no
200isDestructor: no
201isInternal: yes
202isUserDefined: no
203returnsReference: no
204Modifiers: 256
205Number of Parameters: 1
206Number of Required Parameters: 1
207
208Inspecting parameter 'field_nr' of method 'fetch_field_direct'
209isArray: no
210allowsNull: no
211isPassedByReference: no
212isOptional: no
213isDefaultValueAvailable: no
214
215Inspecting method 'fetch_fields'
216isFinal: no
217isAbstract: no
218isPublic: yes
219isPrivate: no
220isProtected: no
221isStatic: no
222isConstructor: no
223isDestructor: no
224isInternal: yes
225isUserDefined: no
226returnsReference: no
227Modifiers: 256
228Number of Parameters: 0
229Number of Required Parameters: 0
230
231Inspecting method 'fetch_object'
232isFinal: no
233isAbstract: no
234isPublic: yes
235isPrivate: no
236isProtected: no
237isStatic: no
238isConstructor: no
239isDestructor: no
240isInternal: yes
241isUserDefined: no
242returnsReference: no
243Modifiers: 268435712
244Number of Parameters: 2
245Number of Required Parameters: 0
246
247Inspecting parameter 'class_name' of method 'fetch_object'
248isArray: no
249allowsNull: no
250isPassedByReference: no
251isOptional: yes
252isDefaultValueAvailable: no
253
254Inspecting parameter 'params' of method 'fetch_object'
255isArray: yes
256allowsNull: no
257isPassedByReference: no
258isOptional: yes
259isDefaultValueAvailable: no
260
261Inspecting method 'fetch_row'
262isFinal: no
263isAbstract: no
264isPublic: yes
265isPrivate: no
266isProtected: no
267isStatic: no
268isConstructor: no
269isDestructor: no
270isInternal: yes
271isUserDefined: no
272returnsReference: no
273Modifiers: 256
274Number of Parameters: 0
275Number of Required Parameters: 0
276
277Inspecting method 'field_seek'
278isFinal: no
279isAbstract: no
280isPublic: yes
281isPrivate: no
282isProtected: no
283isStatic: no
284isConstructor: no
285isDestructor: no
286isInternal: yes
287isUserDefined: no
288returnsReference: no
289Modifiers: 256
290Number of Parameters: 1
291Number of Required Parameters: 1
292
293Inspecting parameter 'field_nr' of method 'field_seek'
294isArray: no
295allowsNull: no
296isPassedByReference: no
297isOptional: no
298isDefaultValueAvailable: no
299
300Inspecting method 'free'
301isFinal: no
302isAbstract: no
303isPublic: yes
304isPrivate: no
305isProtected: no
306isStatic: no
307isConstructor: no
308isDestructor: no
309isInternal: yes
310isUserDefined: no
311returnsReference: no
312Modifiers: 256
313Number of Parameters: 0
314Number of Required Parameters: 0
315
316Inspecting method 'free_result'
317isFinal: no
318isAbstract: no
319isPublic: yes
320isPrivate: no
321isProtected: no
322isStatic: no
323isConstructor: no
324isDestructor: no
325isInternal: yes
326isUserDefined: no
327returnsReference: no
328Modifiers: 256
329Number of Parameters: 0
330Number of Required Parameters: 0
331
332Inspecting property 'current_field'
333isPublic: yes
334isPrivate: no
335isProtected: no
336isStatic: no
337isDefault: yes
338Modifiers: 256
339
340Inspecting property 'field_count'
341isPublic: yes
342isPrivate: no
343isProtected: no
344isStatic: no
345isDefault: yes
346Modifiers: 256
347
348Inspecting property 'lengths'
349isPublic: yes
350isPrivate: no
351isProtected: no
352isStatic: no
353isDefault: yes
354Modifiers: 256
355
356Inspecting property 'num_rows'
357isPublic: yes
358isPrivate: no
359isProtected: no
360isStatic: no
361isDefault: yes
362Modifiers: 256
363
364Inspecting property 'type'
365isPublic: yes
366isPrivate: no
367isProtected: no
368isStatic: no
369isDefault: yes
370Modifiers: 256
371Default property 'current_field'
372Default property 'field_count'
373Default property 'lengths'
374Default property 'num_rows'
375Default property 'type'
376done!
377