1--TEST--
2Test stat() functions: usage variations - names of dir/file stored in objects
3--SKIPIF--
4<?php
5if (substr(PHP_OS, 0, 3) != 'WIN') {
6    die('skip.. only for Windows');
7}
8?>
9--FILE--
10<?php
11
12/*
13 *  Prototype: array stat ( string $filename );
14 *  Description: Gives information about a file
15 */
16
17/* test the stats of dir/file when their names are stored in objects */
18
19$file_path = __DIR__;
20require "$file_path/file.inc";
21
22
23/* create temp file and directory */
24mkdir("$file_path/stat_variation7/");  // temp dir
25
26$file_handle = fopen("$file_path/stat_variation7.tmp", "w");  // temp file
27fclose($file_handle);
28
29
30echo "\n*** Testing stat(): with filename
31    and directory name stored inside a object ***\n";
32
33// creating object with members as numeric and non-numeric filename and directory name
34class object_temp {
35public $var_name;
36public function __construct($name) {
37$this->var_name = $name;
38  }
39}
40
41// directory as member
42$obj1 = new object_temp("$file_path/stat_variation7/");
43$obj2 = new object_temp("$file_path/stat_variation7a/");
44
45// file as member
46$obj3 = new object_temp("$file_path/stat_variation7.tmp");
47$obj4 = new object_temp("$file_path/stat_variation7a.tmp");
48
49echo "\n-- Testing stat() on filename stored inside an object --\n";
50var_dump( stat($obj3->var_name) );
51
52$file_handle = fopen("$file_path/stat_variation7a.tmp", "w");
53fclose($file_handle);
54var_dump( stat($obj4->var_name) );
55
56echo "\n-- Testing stat() on directory name stored inside an object --\n";
57var_dump( stat($obj1->var_name) );
58
59mkdir("$file_path/stat_variation7a/");
60var_dump( stat($obj2->var_name) );
61
62echo "\n*** Done ***";
63?>
64--CLEAN--
65<?php
66$file_path = __DIR__;
67unlink("$file_path/stat_variation7.tmp");
68unlink("$file_path/stat_variation7a.tmp");
69rmdir("$file_path/stat_variation7");
70rmdir("$file_path/stat_variation7a");
71?>
72--EXPECTF--
73*** Testing stat(): with filename
74    and directory name stored inside a object ***
75
76-- Testing stat() on filename stored inside an object --
77array(26) {
78  [0]=>
79  int(%i)
80  [1]=>
81  int(%d)
82  [2]=>
83  int(%d)
84  [3]=>
85  int(%d)
86  [4]=>
87  int(%d)
88  [5]=>
89  int(%d)
90  [6]=>
91  int(%d)
92  [7]=>
93  int(%d)
94  [8]=>
95  int(%d)
96  [9]=>
97  int(%d)
98  [10]=>
99  int(%d)
100  [11]=>
101  int(-%d)
102  [12]=>
103  int(-%d)
104  ["dev"]=>
105  int(%i)
106  ["ino"]=>
107  int(%d)
108  ["mode"]=>
109  int(%d)
110  ["nlink"]=>
111  int(%d)
112  ["uid"]=>
113  int(%d)
114  ["gid"]=>
115  int(%d)
116  ["rdev"]=>
117  int(%d)
118  ["size"]=>
119  int(%d)
120  ["atime"]=>
121  int(%d)
122  ["mtime"]=>
123  int(%d)
124  ["ctime"]=>
125  int(%d)
126  ["blksize"]=>
127  int(-%d)
128  ["blocks"]=>
129  int(-%d)
130}
131array(26) {
132  [0]=>
133  int(%i)
134  [1]=>
135  int(%d)
136  [2]=>
137  int(%d)
138  [3]=>
139  int(%d)
140  [4]=>
141  int(%d)
142  [5]=>
143  int(%d)
144  [6]=>
145  int(%d)
146  [7]=>
147  int(%d)
148  [8]=>
149  int(%d)
150  [9]=>
151  int(%d)
152  [10]=>
153  int(%d)
154  [11]=>
155  int(-%d)
156  [12]=>
157  int(-%d)
158  ["dev"]=>
159  int(%i)
160  ["ino"]=>
161  int(%d)
162  ["mode"]=>
163  int(%d)
164  ["nlink"]=>
165  int(%d)
166  ["uid"]=>
167  int(%d)
168  ["gid"]=>
169  int(%d)
170  ["rdev"]=>
171  int(%d)
172  ["size"]=>
173  int(%d)
174  ["atime"]=>
175  int(%d)
176  ["mtime"]=>
177  int(%d)
178  ["ctime"]=>
179  int(%d)
180  ["blksize"]=>
181  int(-%d)
182  ["blocks"]=>
183  int(-%d)
184}
185
186-- Testing stat() on directory name stored inside an object --
187array(26) {
188  [0]=>
189  int(%i)
190  [1]=>
191  int(%d)
192  [2]=>
193  int(%d)
194  [3]=>
195  int(%d)
196  [4]=>
197  int(%d)
198  [5]=>
199  int(%d)
200  [6]=>
201  int(%d)
202  [7]=>
203  int(%d)
204  [8]=>
205  int(%d)
206  [9]=>
207  int(%d)
208  [10]=>
209  int(%d)
210  [11]=>
211  int(-%d)
212  [12]=>
213  int(-%d)
214  ["dev"]=>
215  int(%i)
216  ["ino"]=>
217  int(%d)
218  ["mode"]=>
219  int(%d)
220  ["nlink"]=>
221  int(%d)
222  ["uid"]=>
223  int(%d)
224  ["gid"]=>
225  int(%d)
226  ["rdev"]=>
227  int(%d)
228  ["size"]=>
229  int(%d)
230  ["atime"]=>
231  int(%d)
232  ["mtime"]=>
233  int(%d)
234  ["ctime"]=>
235  int(%d)
236  ["blksize"]=>
237  int(-%d)
238  ["blocks"]=>
239  int(-%d)
240}
241array(26) {
242  [0]=>
243  int(%i)
244  [1]=>
245  int(%d)
246  [2]=>
247  int(%d)
248  [3]=>
249  int(%d)
250  [4]=>
251  int(%d)
252  [5]=>
253  int(%d)
254  [6]=>
255  int(%d)
256  [7]=>
257  int(%d)
258  [8]=>
259  int(%d)
260  [9]=>
261  int(%d)
262  [10]=>
263  int(%d)
264  [11]=>
265  int(-%d)
266  [12]=>
267  int(-%d)
268  ["dev"]=>
269  int(%i)
270  ["ino"]=>
271  int(%d)
272  ["mode"]=>
273  int(%d)
274  ["nlink"]=>
275  int(%d)
276  ["uid"]=>
277  int(%d)
278  ["gid"]=>
279  int(%d)
280  ["rdev"]=>
281  int(%d)
282  ["size"]=>
283  int(%d)
284  ["atime"]=>
285  int(%d)
286  ["mtime"]=>
287  int(%d)
288  ["ctime"]=>
289  int(%d)
290  ["blksize"]=>
291  int(-%d)
292  ["blocks"]=>
293  int(-%d)
294}
295
296*** Done ***
297