summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2017-05-16 14:25:27 +0200
committerAnatol Belski <ab@php.net>2017-05-16 14:25:27 +0200
commit71f8c4dcfd537fb3ab1c4269d1f58c3c7a3fb0fa (patch)
tree91743fe50eb2d30218ec7fa6aeb90d4e6b259fde
parentc667bb94fa7e1ca52bfaea2b372794f96269e03a (diff)
downloadphp-git-71f8c4dcfd537fb3ab1c4269d1f58c3c7a3fb0fa.tar.gz
add test for bug #74589
-rw-r--r--ext/standard/tests/directory/bug74589_utf8.phpt49
1 files changed, 49 insertions, 0 deletions
diff --git a/ext/standard/tests/directory/bug74589_utf8.phpt b/ext/standard/tests/directory/bug74589_utf8.phpt
new file mode 100644
index 0000000000..e2487d92f9
--- /dev/null
+++ b/ext/standard/tests/directory/bug74589_utf8.phpt
@@ -0,0 +1,49 @@
+--TEST--
+Bug #74589 __DIR__ wrong for unicode character, UTF-8
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) != 'WIN' || PHP_OS != 'Linux') {
+ die('skip Linux or Windows only');
+}
+?>
+--INI--
+internal_encoding=utf-8
+--FILE--
+<?php
+/*
+#vim: set fileencoding=utf-8
+#vim: set encoding=utf-8
+*/
+
+$item = "bug74589_新建文件夹"; // utf-8 string
+$dir = dirname(__FILE__) . DIRECTORY_SEPARATOR . $item;
+$test_file = $dir . DIRECTORY_SEPARATOR . "test.php";
+
+mkdir($dir);
+
+file_put_contents($test_file,
+"<?php
+ var_dump(__DIR__);
+ var_dump(__FILE__);
+ var_dump(__DIR__ === dirname(__FILE__));");
+
+$php = getenv('TEST_PHP_EXECUTABLE');
+
+echo shell_exec("$php -n $test_file");
+
+?>
+===DONE===
+--EXPECTF--
+string(%d) "%sbug74589_新建文件夹"
+string(%d) "%sbug74589_新建文件夹\test.php"
+bool(true)
+===DONE===
+--CLEAN--
+<?php
+ $item = "bug74589_新建文件夹"; // utf-8 string
+ $dir = dirname(__FILE__) . DIRECTORY_SEPARATOR . $item;
+ $test_file = $dir . DIRECTORY_SEPARATOR . "test.php";
+ unlink($test_file);
+ rmdir($dir);
+?>
+