mkdir_variation5-win32.phpt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. --TEST--
  2. Test mkdir() 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. /* Prototype : bool mkdir(string pathname [, int mode [, bool recursive [, resource context]]])
  13. * Description: Create a directory
  14. * Source code: ext/standard/file.c
  15. * Alias to functions:
  16. */
  17. echo "*** Testing mkdir() : variation ***\n";
  18. $workDir = "mkdirVar5.tmp";
  19. $subDir = "aSubDir";
  20. mkdir($workDir);
  21. $cwd = getcwd();
  22. $unixifiedDir = '/'.substr(str_replace('\\','/',$cwd).'/'.$workDir.'/'.$subDir, 3);
  23. $dirs = array(
  24. // relative
  25. $workDir.'\\'.$subDir,
  26. '.\\'.$workDir.'\\'.$subDir,
  27. $workDir.'\\..\\'.$workDir.'\\'.$subDir,
  28. // relative bad path
  29. $workDir.'\\..\\BADDIR\\'.$subDir,
  30. 'BADDIR\\'.$subDir,
  31. //absolute
  32. $cwd.'\\'.$workDir.'\\'.$subDir,
  33. $cwd.'\\.\\'.$workDir.'\\'.$subDir,
  34. $cwd.'\\'.$workDir.'\\..\\'.$workDir.'\\'.$subDir,
  35. //absolute bad path
  36. $cwd.'\\BADDIR\\'.$subDir,
  37. //trailing separators
  38. $workDir.'\\'.$subDir.'\\',
  39. $cwd.'\\'.$workDir.'\\'.$subDir.'\\',
  40. // multiple separators
  41. $workDir.'\\\\'.$subDir,
  42. $cwd.'\\\\'.$workDir.'\\\\'.$subDir,
  43. // Unixified Dir
  44. $unixifiedDir,
  45. );
  46. foreach($dirs as $dir) {
  47. echo "-- creating $dir --\n";
  48. $res = mkdir($dir);
  49. if ($res === true) {
  50. echo "Directory created\n";
  51. rmdir($workDir.'\\'.$subDir);
  52. }
  53. }
  54. rmdir($workDir);
  55. ?>
  56. ===DONE===
  57. --EXPECTF--
  58. *** Testing mkdir() : variation ***
  59. -- creating mkdirVar5.tmp\aSubDir --
  60. Directory created
  61. -- creating .\mkdirVar5.tmp\aSubDir --
  62. Directory created
  63. -- creating mkdirVar5.tmp\..\mkdirVar5.tmp\aSubDir --
  64. Directory created
  65. -- creating mkdirVar5.tmp\..\BADDIR\aSubDir --
  66. Warning: mkdir(): No such file or directory in %s on line %d
  67. -- creating BADDIR\aSubDir --
  68. Warning: mkdir(): No such file or directory in %s on line %d
  69. -- creating %s\mkdirVar5.tmp\aSubDir --
  70. Directory created
  71. -- creating %s\.\mkdirVar5.tmp\aSubDir --
  72. Directory created
  73. -- creating %s\mkdirVar5.tmp\..\mkdirVar5.tmp\aSubDir --
  74. Directory created
  75. -- creating %s\BADDIR\aSubDir --
  76. Warning: mkdir(): No such file or directory in %s on line %d
  77. -- creating mkdirVar5.tmp\aSubDir\ --
  78. Directory created
  79. -- creating %s\mkdirVar5.tmp\aSubDir\ --
  80. Directory created
  81. -- creating mkdirVar5.tmp\\aSubDir --
  82. Directory created
  83. -- creating %s\\mkdirVar5.tmp\\aSubDir --
  84. Directory created
  85. -- creating /%s/mkdirVar5.tmp/aSubDir --
  86. Directory created
  87. ===DONE===