diff options
Diffstat (limited to 'ext/standard/tests/general_functions/putenv_bug75574_cp936_win.phpt')
-rw-r--r-- | ext/standard/tests/general_functions/putenv_bug75574_cp936_win.phpt | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/ext/standard/tests/general_functions/putenv_bug75574_cp936_win.phpt b/ext/standard/tests/general_functions/putenv_bug75574_cp936_win.phpt new file mode 100644 index 0000000000..eb5187b205 --- /dev/null +++ b/ext/standard/tests/general_functions/putenv_bug75574_cp936_win.phpt @@ -0,0 +1,61 @@ +--TEST-- +Bug #75574 putenv does not work properly if parameter contains non-ASCII unicode character, cp936 Windows +--SKIPIF-- +<?php + +if (substr(PHP_OS, 0, 3) != 'WIN') { + die("skip Valid only on Windows"); +} +if (!sapi_windows_cp_set(936)) { + die("skip Required CP 936 or compatible"); +} + +?> +--INI-- +internal_encoding=cp936 +--FILE-- +<?php +/* +#vim: set fileencoding=cp936 +#vim: set encoding=cp936 +*/ + +var_dump(putenv('FOO=°¡'), getenv("FOO")); +var_dump(putenv('FOO=°¡°¡'), getenv("FOO")); +var_dump(putenv('FOO=°¡°¡°¡'), getenv("FOO")); +var_dump(putenv('FOO=°¡°¡°¡°¡'), getenv("FOO")); + +var_dump(putenv('FOO=°¡a'), getenv("FOO")); +var_dump(putenv('FOO=°¡a°¡'), getenv("FOO")); +var_dump(putenv('FOO=°¡a°¡a'), getenv("FOO")); +var_dump(putenv('FOO=°¡a°¡a°¡'), getenv("FOO")); +var_dump(putenv('FOO=°¡a°¡°¡'), getenv("FOO")); +var_dump(putenv('FOO=°¡a°¡°¡°¡'), getenv("FOO")); +var_dump(putenv('FOO=°¡a°¡°¡°¡°¡'), getenv("FOO")); + +?> +===DONE=== +--EXPECTF-- +bool(true) +string(2) "°¡" +bool(true) +string(4) "°¡°¡" +bool(true) +string(6) "°¡°¡°¡" +bool(true) +string(8) "°¡°¡°¡°¡" +bool(true) +string(3) "°¡a" +bool(true) +string(5) "°¡a°¡" +bool(true) +string(6) "°¡a°¡a" +bool(true) +string(8) "°¡a°¡a°¡" +bool(true) +string(7) "°¡a°¡°¡" +bool(true) +string(9) "°¡a°¡°¡°¡" +bool(true) +string(11) "°¡a°¡°¡°¡°¡" +===DONE=== |