rename_variation13.phpt 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. --TEST--
  2. Test rename() function : variation - various 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. Not for Windows");
  9. ?>
  10. --FILE--
  11. <?php
  12. /* Prototype : bool rename(string old_name, string new_name[, resource context])
  13. * Description: Rename a file
  14. * Source code: ext/standard/file.c
  15. * Alias to functions:
  16. */
  17. echo "*** Testing rename() with obscure files ***\n";
  18. $file_path = dirname(__FILE__)."/renameVar13";
  19. $aFile = $file_path.'/afile.tmp';
  20. mkdir($file_path);
  21. /* An array of files */
  22. $names_arr = array(
  23. /* Invalid args */
  24. -1,
  25. TRUE,
  26. FALSE,
  27. NULL,
  28. "",
  29. " ",
  30. "\0",
  31. array(),
  32. /* prefix with path separator of a non existing directory*/
  33. "/no/such/file/dir",
  34. "php/php"
  35. );
  36. for( $i=0; $i<count($names_arr); $i++ ) {
  37. $name = $names_arr[$i];
  38. echo @"-- testing '$name' --\n";
  39. touch($aFile);
  40. var_dump(rename($aFile, $name));
  41. if (file_exists($name)) {
  42. unlink($name);
  43. }
  44. if (file_exists($aFile)) {
  45. unlink($aFile);
  46. }
  47. var_dump(rename($name, $aFile));
  48. if (file_exists($aFile)) {
  49. unlink($aFile);
  50. }
  51. }
  52. rmdir($file_path);
  53. echo "\n*** Done ***\n";
  54. ?>
  55. --EXPECTF--
  56. *** Testing rename() with obscure files ***
  57. -- testing '-1' --
  58. bool(true)
  59. Warning: rename(-1,%s/renameVar13/afile.tmp): No such file or directory in %s on line %d
  60. bool(false)
  61. -- testing '1' --
  62. bool(true)
  63. Warning: rename(1,%s/renameVar13/afile.tmp): No such file or directory in %s on line %d
  64. bool(false)
  65. -- testing '' --
  66. Warning: rename(%s/renameVar13/afile.tmp,): %s in %s on line %d
  67. bool(false)
  68. Warning: rename(,%s/renameVar13/afile.tmp): %s in %s on line %d
  69. bool(false)
  70. -- testing '' --
  71. Warning: rename(%s/renameVar13/afile.tmp,): %s in %s on line %d
  72. bool(false)
  73. Warning: rename(,%s/renameVar13/afile.tmp): %s in %s on line %d
  74. bool(false)
  75. -- testing '' --
  76. Warning: rename(%s/renameVar13/afile.tmp,): %s in %s on line %d
  77. bool(false)
  78. Warning: rename(,%s/renameVar13/afile.tmp): %s in %s on line %d
  79. bool(false)
  80. -- testing ' ' --
  81. bool(true)
  82. Warning: rename( ,%s/renameVar13/afile.tmp): No such file or directory in %s on line %d
  83. bool(false)
  84. -- testing '%s' --
  85. Warning: rename() %s in %s on line %d
  86. bool(false)
  87. Warning: file_exists() expects parameter 1 to be a valid path, string given in %s on line %d
  88. Warning: rename() expects parameter 1 to be a valid path, string given in %s on line %d
  89. bool(false)
  90. -- testing 'Array' --
  91. Warning: rename() expects parameter 2 to be a valid path, array given in %s on line %d
  92. bool(false)
  93. Warning: file_exists() expects parameter 1 to be a valid path, array given in %s on line %d
  94. Warning: rename() expects parameter 1 to be a valid path, array given in %s on line %d
  95. bool(false)
  96. -- testing '/no/such/file/dir' --
  97. Warning: rename(%s/renameVar13/afile.tmp,/no/such/file/dir): No such file or directory in %s on line %d
  98. bool(false)
  99. Warning: rename(/no/such/file/dir,%s/renameVar13/afile.tmp): No such file or directory in %s on line %d
  100. bool(false)
  101. -- testing 'php/php' --
  102. Warning: rename(%s/renameVar13/afile.tmp,php/php): %s directory in %s on line %d
  103. bool(false)
  104. Warning: rename(php/php,%s/renameVar13/afile.tmp): %s directory in %s on line %d
  105. bool(false)
  106. *** Done ***