bug73877.phpt 1012 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. --TEST--
  2. Bug #73877 readlink() returns garbage for UTF-8 paths
  3. File type functions
  4. --SKIPIF--
  5. <?php
  6. if (substr(PHP_OS, 0, 3) != 'WIN') {
  7. die('skip only for Windows');
  8. }
  9. ?>
  10. --FILE--
  11. <?php
  12. $base = __DIR__ . DIRECTORY_SEPARATOR . "bug73877";
  13. $dir0 = $base . DIRECTORY_SEPARATOR . "bug73877";
  14. $dir1 = $base . DIRECTORY_SEPARATOR . "Серёжка";
  15. $junk0 = $base . DIRECTORY_SEPARATOR . "Серёжка2";
  16. mkdir($base);
  17. mkdir($dir0);
  18. mkdir($dir1);
  19. `mklink /J $junk0 $dir0`;
  20. var_dump(
  21. readlink($dir0),
  22. readlink($dir1),
  23. readlink($junk0),
  24. strlen(readlink($dir0)) === strlen(readlink($junk0))
  25. );
  26. ?>
  27. --CLEAN--
  28. <?php
  29. $base = __DIR__ . DIRECTORY_SEPARATOR . "bug73877";
  30. $dir0 = $base . DIRECTORY_SEPARATOR . "bug73877";
  31. $dir1 = $base . DIRECTORY_SEPARATOR . "Серёжка";
  32. $junk0 = $base . DIRECTORY_SEPARATOR . "Серёжка2";
  33. rmdir($junk0);
  34. rmdir($dir0);
  35. rmdir($dir1);
  36. rmdir($base);
  37. ?>
  38. --EXPECTF--
  39. string(%d) "%sbug73877"
  40. string(%d) "%sСерёжка"
  41. string(%d) "%sbug73877"
  42. bool(true)