From: andy wharmby Date: Tue, 23 Jun 2009 22:39:46 +0000 (+0000) Subject: New basic parse_str() tests. Tested on Windows,Linux and Lnux 64 bit. Some tests... X-Git-Tag: php-5.2.11RC1~241 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4a6df1caf8e2be239808fbfb7f8d290ac0243abf;p=php New basic parse_str() tests. Tested on Windows,Linux and Lnux 64 bit. Some tests fail on PHP 6 (tagged with XFAIL) due to bug 48658 --- diff --git a/ext/standard/tests/strings/parse_str_basic1.phpt b/ext/standard/tests/strings/parse_str_basic1.phpt new file mode 100644 index 0000000000..7a8fda80db --- /dev/null +++ b/ext/standard/tests/strings/parse_str_basic1.phpt @@ -0,0 +1,76 @@ +--TEST-- +Test parse_str() function : basic functionality +--FILE-- + +===DONE=== +--EXPECTF-- +*** Testing parse_str() : basic functionality *** +Basic test WITHOUT result arg +NULL +string(4) "val1" +string(4) "val2" +string(4) "val3" + +Basic test WITH undefined var for result arg +NULL +array(3) { + ["first"]=> + string(4) "val1" + ["second"]=> + string(4) "val2" + ["third"]=> + string(4) "val3" +} + +Basic test WITH existing non-array var for result arg +NULL +array(3) { + ["first"]=> + string(4) "val1" + ["second"]=> + string(4) "val2" + ["third"]=> + string(4) "val3" +} + +Basic test with an existing array as results array +NULL +array(3) { + ["first"]=> + string(4) "val1" + ["second"]=> + string(4) "val2" + ["third"]=> + string(4) "val3" +} +===DONE=== \ No newline at end of file diff --git a/ext/standard/tests/strings/parse_str_basic2.phpt b/ext/standard/tests/strings/parse_str_basic2.phpt new file mode 100644 index 0000000000..e42c9caaa4 --- /dev/null +++ b/ext/standard/tests/strings/parse_str_basic2.phpt @@ -0,0 +1,26 @@ +--TEST-- +Test parse_str() function : non-default arg_separator.input specified +--INI-- +arg_separator.input = "/" +--FILE-- + +===DONE=== +--EXPECTF-- +*** Testing parse_str() : non-default arg_separator.input specified *** +NULL +string(4) "val1" +string(4) "val2" +string(4) "val3" +===DONE=== \ No newline at end of file diff --git a/ext/standard/tests/strings/parse_str_basic3.phpt b/ext/standard/tests/strings/parse_str_basic3.phpt new file mode 100644 index 0000000000..3b0f3ddea5 --- /dev/null +++ b/ext/standard/tests/strings/parse_str_basic3.phpt @@ -0,0 +1,268 @@ +--TEST-- +Test parse_str() function : ?? +--INI-- +magic_quotes_gpc = on +--FILE-- + +===DONE=== +--EXPECTF-- +*** Testing parse_str() : basic functionality *** + +Test string with array values +NULL +string(3) "abc" +array(3) { + [0]=> + string(3) "123" + [1]=> + string(5) "false" + [2]=> + string(4) "last" +} +array(1) { + [0]=> + string(3) "str" +} +array(1) { + [0]=> + string(3) "3.5" +} + +Test string with array values and results array +NULL +array(4) { + ["first"]=> + string(3) "abc" + ["a"]=> + array(3) { + [0]=> + string(3) "123" + [1]=> + string(5) "false" + [2]=> + string(4) "last" + } + ["b"]=> + array(1) { + [0]=> + string(3) "str" + } + ["c"]=> + array(1) { + [0]=> + string(3) "3.5" + } +} + +Test string containing numerical array keys +NULL +array(1) { + ["arr"]=> + array(2) { + [1]=> + string(3) "sid" + [4]=> + string(4) "bill" + } +} + +Test string containing associative keys +NULL +array(1) { + ["arr"]=> + array(2) { + ["first"]=> + string(3) "sid" + ["forth"]=> + string(4) "bill" + } +} + +Test string with array values with same name as existing variable +NULL +array(3) { + [0]=> + string(3) "123" + [1]=> + string(5) "false" + [2]=> + string(4) "last" +} + +Test string with non-array value with same name as existing array variable +string(3) "999" + +Test string with encoded data +string(17) "<== foo bar ==>" +string(17) "###Hello World###" + +Test string with single quotes characters +NULL +string(4) "Bill" +string(9) "O\'Reilly" + +Test string with backslash characters +NULL +string(7) "10\\2=5" + +Test string with double quotes data +NULL +string(32) "A string with \"quoted\" strings" + +Test string with nulls +NULL +string(37) "A string with containing \0\0\0 nulls" + +Test string with 2-dim array with numeric keys +NULL +array(1) { + ["arr"]=> + array(1) { + [3]=> + array(2) { + [4]=> + string(3) "sid" + [6]=> + string(4) "fred" + } + } +} + +Test string with 2-dim array with null keys +NULL +array(1) { + ["arr"]=> + array(2) { + [0]=> + array(1) { + [0]=> + string(3) "sid" + } + [1]=> + array(1) { + [0]=> + string(4) "fred" + } + } +} + +Test string with 2-dim array with non-numeric keys +NULL +array(1) { + ["arr"]=> + array(2) { + ["one"]=> + array(1) { + ["four"]=> + string(3) "sid" + } + ["three"]=> + array(1) { + ["six"]=> + string(4) "fred" + } + } +} + +Test string with 3-dim array with numeric keys +NULL +array(1) { + ["arr"]=> + array(1) { + [1]=> + array(1) { + [2]=> + array(2) { + [3]=> + string(3) "sid" + [6]=> + string(4) "fred" + } + } + } +} +===DONE=== \ No newline at end of file diff --git a/ext/standard/tests/strings/parse_str_basic4.phpt b/ext/standard/tests/strings/parse_str_basic4.phpt new file mode 100644 index 0000000000..0e4baf8d7a --- /dev/null +++ b/ext/standard/tests/strings/parse_str_basic4.phpt @@ -0,0 +1,76 @@ +--TEST-- +Test parse_str() function : test with badly formed strings +--FILE-- + +===DONE=== +--EXPECTF-- +Test string with badly formed strings +NULL +array(2) { + ["arr_1"]=> + string(3) "sid" + ["arr"]=> + array(1) { + [4]=> + string(4) "fred" + } +} +NULL +array(2) { + ["arr1]"]=> + string(3) "sid" + ["arr"]=> + array(1) { + [4]=> + string(4) "fred" + } +} +NULL +array(2) { + ["arr_one"]=> + string(3) "sid" + ["arr"]=> + array(1) { + [4]=> + string(4) "fred" + } +} + +Test string with non-binary safe name +NULL +array(1) { + ["arr_test"]=> + array(2) { + [1]=> + string(3) "sid" + [4]=> + array(1) { + ["two"]=> + string(4) "fred" + } + } +} +===DONE=== \ No newline at end of file diff --git a/ext/standard/tests/strings/parse_str_error1.phpt b/ext/standard/tests/strings/parse_str_error1.phpt new file mode 100644 index 0000000000..6441dd91c2 --- /dev/null +++ b/ext/standard/tests/strings/parse_str_error1.phpt @@ -0,0 +1,32 @@ +--TEST-- +Test parse_str() function : non-default arg_separator.input specified +--INI-- +arg_separator.input = "/" +--FILE-- + +===DONE=== +--EXPECTF-- +*** Testing parse_str() : error conditions *** + +-- Testing htmlentities() function with less than expected no. of arguments -- + +Warning: Wrong parameter count for parse_str() in %s on line %d + +-- Testing htmlentities() function with more than expected no. of arguments -- + +Warning: Wrong parameter count for parse_str() in %s on line %d +===DONE=== \ No newline at end of file