1--TEST--
2Test readdir() function : usage variations - sub-directories
3--SKIPIF--
4<?php
5if (substr(PHP_OS, 0, 3) != 'WIN') {
6  die("skip Valid only on Windows");
7}
8?>
9--FILE--
10<?php
11/* Prototype  : string readdir([resource $dir_handle])
12 * Description: Read directory entry from dir_handle
13 * Source code: ext/standard/dir.c
14 */
15
16/*
17 * Pass a directory handle pointing to a directory that has a sub-directory
18 * to test behaviour of readdir()
19 */
20
21echo "*** Testing readdir() : usage variations ***\n";
22
23// include the file.inc for Function: function create_files()
24chdir(__DIR__);
25include(__DIR__."/../file/file.inc");
26
27$path_top = __DIR__ . '/readdir_variation3-win32-mb';
28$path_sub = $path_top . '/私はガラスを食べられますsub_folder';
29mkdir($path_top);
30mkdir($path_sub);
31
32create_files($path_top, 2);
33create_files($path_sub, 2);
34
35$dir_handle = opendir($path_top);
36while(FALSE !== ($file = readdir($dir_handle))) {
37
38	// different OS order files differently so will
39	// store file names into an array so can use sorted in expected output
40	$contents[] = $file;
41}
42
43// more important to check that all contents are present than order they are returned in
44sort($contents);
45var_dump($contents);
46
47delete_files($path_top, 2);
48delete_files($path_sub, 2);
49
50closedir($dir_handle);
51?>
52===DONE===
53--CLEAN--
54<?php
55$path_top = __DIR__ . '/readdir_variation3-win32-mb';
56$path_sub = $path_top . '/私はガラスを食べられますsub_folder';
57rmdir($path_sub);
58rmdir($path_top);
59?>
60--EXPECT--
61*** Testing readdir() : usage variations ***
62array(5) {
63  [0]=>
64  string(1) "."
65  [1]=>
66  string(2) ".."
67  [2]=>
68  string(9) "file1.tmp"
69  [3]=>
70  string(9) "file2.tmp"
71  [4]=>
72  string(46) "私はガラスを食べられますsub_folder"
73}
74===DONE===
75