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: no
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: 0
238Number of Required Parameters: 0
239
240Inspecting method 'fetch_row'
241isFinal: no
242isAbstract: no
243isPublic: yes
244isPrivate: no
245isProtected: no
246isStatic: no
247isConstructor: no
248isDestructor: no
249isInternal: yes
250isUserDefined: no
251returnsReference: no
252Modifiers: 256
253Number of Parameters: 0
254Number of Required Parameters: 0
255
256Inspecting method 'field_seek'
257isFinal: no
258isAbstract: no
259isPublic: yes
260isPrivate: no
261isProtected: no
262isStatic: no
263isConstructor: no
264isDestructor: no
265isInternal: yes
266isUserDefined: no
267returnsReference: no
268Modifiers: 256
269Number of Parameters: 1
270Number of Required Parameters: 1
271
272Inspecting parameter 'field_nr' of method 'field_seek'
273isArray: no
274allowsNull: no
275isPassedByReference: no
276isOptional: no
277isDefaultValueAvailable: no
278
279Inspecting method 'free'
280isFinal: no
281isAbstract: no
282isPublic: yes
283isPrivate: no
284isProtected: no
285isStatic: no
286isConstructor: no
287isDestructor: no
288isInternal: yes
289isUserDefined: no
290returnsReference: no
291Modifiers: 256
292Number of Parameters: 0
293Number of Required Parameters: 0
294
295Inspecting method 'free_result'
296isFinal: no
297isAbstract: no
298isPublic: yes
299isPrivate: no
300isProtected: no
301isStatic: no
302isConstructor: no
303isDestructor: no
304isInternal: yes
305isUserDefined: no
306returnsReference: no
307Modifiers: 256
308Number of Parameters: 0
309Number of Required Parameters: 0
310
311Inspecting property 'current_field'
312isPublic: yes
313isPrivate: no
314isProtected: no
315isStatic: no
316isDefault: yes
317Modifiers: 256
318
319Inspecting property 'field_count'
320isPublic: yes
321isPrivate: no
322isProtected: no
323isStatic: no
324isDefault: yes
325Modifiers: 256
326
327Inspecting property 'lengths'
328isPublic: yes
329isPrivate: no
330isProtected: no
331isStatic: no
332isDefault: yes
333Modifiers: 256
334
335Inspecting property 'num_rows'
336isPublic: yes
337isPrivate: no
338isProtected: no
339isStatic: no
340isDefault: yes
341Modifiers: 256
342
343Inspecting property 'type'
344isPublic: yes
345isPrivate: no
346isProtected: no
347isStatic: no
348isDefault: yes
349Modifiers: 256
350Default property 'current_field'
351Default property 'field_count'
352Default property 'lengths'
353Default property 'num_rows'
354Default property 'type'
355done!