rmdir_variation3.phpt 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. --TEST--
  2. Test rmdir() function : variation: various valid and invalid paths
  3. --CREDITS--
  4. Dave Kelsey <d_kelsey@uk.ibm.com>
  5. --FILE--
  6. <?php
  7. /* Prototype : bool rmdir(string dirname[, resource context])
  8. * Description: Remove a directory
  9. * Source code: ext/standard/file.c
  10. * Alias to functions:
  11. */
  12. echo "*** Testing rmdir() : variation ***\n";
  13. $workDir = "rmdirVar3.tmp";
  14. $subDir = "aSubDir";
  15. mkdir($workDir);
  16. $cwd = getcwd();
  17. $dirs = array(
  18. // relative
  19. $workDir.'/'.$subDir,
  20. './'.$workDir.'/'.$subDir,
  21. $workDir.'/../'.$workDir.'/'.$subDir,
  22. // relative bad path
  23. $workDir.'/../BADDIR/'.$subDir,
  24. 'BADDIR/'.$subDir,
  25. //absolute
  26. $cwd.'/'.$workDir.'/'.$subDir,
  27. $cwd.'/./'.$workDir.'/'.$subDir,
  28. $cwd.'/'.$workDir.'/../'.$workDir.'/'.$subDir,
  29. //absolute bad path
  30. $cwd.'/BADDIR/'.$subDir,
  31. //trailing separators
  32. $workDir.'/'.$subDir.'/',
  33. $cwd.'/'.$workDir.'/'.$subDir.'/',
  34. // multiple separators
  35. $workDir.'//'.$subDir,
  36. $cwd.'//'.$workDir.'//'.$subDir,
  37. );
  38. foreach($dirs as $dir) {
  39. mkdir($workDir.'/'.$subDir);
  40. echo "-- removing $dir --\n";
  41. $res = rmdir($dir);
  42. if ($res === true) {
  43. echo "Directory removed\n";
  44. }
  45. else {
  46. rmdir($workDir.'/'.$subDir);
  47. }
  48. }
  49. rmdir($workDir);
  50. ?>
  51. ===DONE===
  52. --EXPECTF--
  53. *** Testing rmdir() : variation ***
  54. -- removing rmdirVar3.tmp/aSubDir --
  55. Directory removed
  56. -- removing ./rmdirVar3.tmp/aSubDir --
  57. Directory removed
  58. -- removing rmdirVar3.tmp/../rmdirVar3.tmp/aSubDir --
  59. Directory removed
  60. -- removing rmdirVar3.tmp/../BADDIR/aSubDir --
  61. Warning: rmdir(rmdirVar3.tmp/../BADDIR/aSubDir): No such file or directory in %s on line %d
  62. -- removing BADDIR/aSubDir --
  63. Warning: rmdir(BADDIR/aSubDir): No such file or directory in %s on line %d
  64. -- removing %s/rmdirVar3.tmp/aSubDir --
  65. Directory removed
  66. -- removing %s/./rmdirVar3.tmp/aSubDir --
  67. Directory removed
  68. -- removing %s/rmdirVar3.tmp/../rmdirVar3.tmp/aSubDir --
  69. Directory removed
  70. -- removing %s/BADDIR/aSubDir --
  71. Warning: rmdir(%s/BADDIR/aSubDir): No such file or directory in %s on line %d
  72. -- removing rmdirVar3.tmp/aSubDir/ --
  73. Directory removed
  74. -- removing %s/rmdirVar3.tmp/aSubDir/ --
  75. Directory removed
  76. -- removing rmdirVar3.tmp//aSubDir --
  77. Directory removed
  78. -- removing %s//rmdirVar3.tmp//aSubDir --
  79. Directory removed
  80. ===DONE===