rmdir_variation3-win32.phpt 2.6 KB

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