rewinddir_basic.phpt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. --TEST--
  2. Test rewinddir() function : basic functionality
  3. --FILE--
  4. <?php
  5. /* Prototype : void rewinddir([resource $dir_handle])
  6. * Description: Rewind dir_handle back to the start
  7. * Source code: ext/standard/dir.c
  8. * Alias to functions: rewind
  9. */
  10. /*
  11. * Test basic functionality of rewinddir()
  12. */
  13. echo "*** Testing rewinddir() : basic functionality ***\n";
  14. // include file.inc for create_files function
  15. include(dirname(__FILE__) . "/../file/file.inc");
  16. $dir_path1 = dirname(__FILE__) . "/rewinddir_basic_dir1";
  17. $dir_path2 = dirname(__FILE__) . "/rewinddir_basic_dir2";
  18. mkdir($dir_path1);
  19. mkdir($dir_path2);
  20. @create_files($dir_path1, 1);
  21. @create_files($dir_path2, 1, 'numeric', 0755, 1, 'w', 'file', 2);
  22. var_dump($dh1 = opendir($dir_path1));
  23. var_dump($dh2 = opendir($dir_path2));
  24. $data = array();
  25. echo "\n-- Read and rewind first directory (argument supplied) --\n";
  26. while(FALSE !== $file1 = readdir($dh1)) {
  27. $data[] = $file1;
  28. }
  29. $first = $data[0];
  30. sort($data);
  31. var_dump($data);
  32. var_dump(rewinddir($dh1));
  33. var_dump(readdir($dh1) == $first);
  34. $data = array();
  35. echo "\n-- Read and rewind second directory (no argument supplied) --\n";
  36. while(FALSE !== $file2 = readdir()) {
  37. $data[] = $file2;
  38. }
  39. $first = $data[0];
  40. sort($data);
  41. var_dump($data);
  42. var_dump(rewinddir());
  43. var_dump(readdir() == $first);
  44. closedir($dh1);
  45. closedir($dh2);
  46. delete_files($dir_path1, 1);
  47. delete_files($dir_path2, 1, 'file', 2);
  48. ?>
  49. ===DONE===
  50. --CLEAN--
  51. <?php
  52. $dir_path1 = dirname(__FILE__) . "/rewinddir_basic_dir1";
  53. $dir_path2 = dirname(__FILE__) . "/rewinddir_basic_dir2";
  54. rmdir($dir_path1);
  55. rmdir($dir_path2);
  56. ?>
  57. --EXPECTF--
  58. *** Testing rewinddir() : basic functionality ***
  59. resource(%d) of type (stream)
  60. resource(%d) of type (stream)
  61. -- Read and rewind first directory (argument supplied) --
  62. array(3) {
  63. [0]=>
  64. string(1) "."
  65. [1]=>
  66. string(2) ".."
  67. [2]=>
  68. string(9) "file1.tmp"
  69. }
  70. NULL
  71. bool(true)
  72. -- Read and rewind second directory (no argument supplied) --
  73. array(3) {
  74. [0]=>
  75. string(1) "."
  76. [1]=>
  77. string(2) ".."
  78. [2]=>
  79. string(9) "file2.tmp"
  80. }
  81. NULL
  82. bool(true)
  83. ===DONE===