unlink_variation8-win32.phpt 2.7 KB

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