unlink_variation9-win32.phpt 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. --TEST--
  2. Test unlink() 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 for Windows');
  9. }
  10. ?>
  11. --FILE--
  12. <?php
  13. echo "*** Testing unlink() : variation ***\n";
  14. $workDir = "unlinkVar9.tmp";
  15. $tmpFile = "file.tmp";
  16. chdir(__DIR__);
  17. mkdir($workDir);
  18. $cwd = __DIR__;
  19. $unixifiedFile = '/'.substr(str_replace('\\','/',$cwd).'/'.$workDir.'/'.$tmpFile, 3);
  20. $files = array(
  21. // relative
  22. $workDir.'\\'.$tmpFile,
  23. '.\\'.$workDir.'\\'.$tmpFile,
  24. $workDir.'\\..\\'.$workDir.'\\'.$tmpFile,
  25. // relative bad path
  26. $workDir.'\\..\\BADDIR\\'.$tmpFile,
  27. 'BADDIR\\'.$tmpFile,
  28. //absolute
  29. $cwd.'\\'.$workDir.'\\'.$tmpFile,
  30. $cwd.'\\.\\'.$workDir.'\\'.$tmpFile,
  31. $cwd.'\\'.$workDir.'\\..\\'.$workDir.'\\'.$tmpFile,
  32. //absolute bad path
  33. $cwd.'\\BADDIR\\'.$tmpFile,
  34. //trailing separators
  35. $workDir.'\\'.$tmpFile.'\\',
  36. $cwd.'\\'.$workDir.'\\'.$tmpFile.'\\',
  37. // multiple separators
  38. $workDir.'\\\\'.$tmpFile,
  39. $cwd.'\\\\'.$workDir.'\\\\'.$tmpFile,
  40. // Unixified File
  41. $unixifiedFile,
  42. );
  43. foreach($files as $fileToUnlink) {
  44. $file = $workDir.'/'.$tmpFile;
  45. $tounlink = $fileToUnlink;
  46. touch($file);
  47. echo "-- removing $tounlink --\n";
  48. $res = unlink($tounlink);
  49. if ($res === true) {
  50. if (file_exists($tounlink) === false) {
  51. echo "file removed\n";
  52. }
  53. else {
  54. echo "FAILED: file not removed\n";
  55. }
  56. }
  57. else {
  58. unlink($file);
  59. }
  60. }
  61. rmdir($workDir);
  62. ?>
  63. --EXPECTF--
  64. *** Testing unlink() : variation ***
  65. -- removing unlinkVar9.tmp\file.tmp --
  66. file removed
  67. -- removing .\unlinkVar9.tmp\file.tmp --
  68. file removed
  69. -- removing unlinkVar9.tmp\..\unlinkVar9.tmp\file.tmp --
  70. file removed
  71. -- removing unlinkVar9.tmp\..\BADDIR\file.tmp --
  72. Warning: unlink(unlinkVar9.tmp\..\BADDIR\file.tmp): No such file or directory in %s on line %d
  73. -- removing BADDIR\file.tmp --
  74. Warning: unlink(BADDIR\file.tmp): No such file or directory in %s on line %d
  75. -- removing %s\unlinkVar9.tmp\file.tmp --
  76. file removed
  77. -- removing %s\.\unlinkVar9.tmp\file.tmp --
  78. file removed
  79. -- removing %s\unlinkVar9.tmp\..\unlinkVar9.tmp\file.tmp --
  80. file removed
  81. -- removing %s\BADDIR\file.tmp --
  82. Warning: unlink(%s\BADDIR\file.tmp): No such file or directory in %s on line %d
  83. -- removing unlinkVar9.tmp\file.tmp\ --
  84. Warning: unlink(unlinkVar9.tmp\file.tmp\): No such file or directory in %s on line %d
  85. -- removing %s\unlinkVar9.tmp\file.tmp\ --
  86. Warning: unlink(%s\unlinkVar9.tmp\file.tmp\): No such file or directory in %s on line %d
  87. -- removing unlinkVar9.tmp\\file.tmp --
  88. file removed
  89. -- removing %s\\unlinkVar9.tmp\\file.tmp --
  90. file removed
  91. -- removing /%s/unlinkVar9.tmp/file.tmp --
  92. file removed