]> granicus.if.org Git - php/commitdiff
add test for bug #74589
authorAnatol Belski <ab@php.net>
Tue, 16 May 2017 12:25:27 +0000 (14:25 +0200)
committerAnatol Belski <ab@php.net>
Tue, 16 May 2017 12:25:27 +0000 (14:25 +0200)
ext/standard/tests/directory/bug74589_utf8.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/directory/bug74589_utf8.phpt b/ext/standard/tests/directory/bug74589_utf8.phpt
new file mode 100644 (file)
index 0000000..e2487d9
--- /dev/null
@@ -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);
+?>
+