From: andy wharmby Date: Fri, 12 Jun 2009 18:57:12 +0000 (+0000) Subject: New iconv extension tests. Tested on Windows, Linux and Linux 64 bit. X-Git-Tag: php-5.2.10~28 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f071936f478ee161e69dddfb54b699e8a4f96d7e;p=php New iconv extension tests. Tested on Windows, Linux and Linux 64 bit. --- diff --git a/ext/iconv/tests/iconv_strlen_basic.phpt b/ext/iconv/tests/iconv_strlen_basic.phpt new file mode 100644 index 0000000000..5777435d61 --- /dev/null +++ b/ext/iconv/tests/iconv_strlen_basic.phpt @@ -0,0 +1,40 @@ +--TEST-- +Test iconv_strlen() function : basic functionality +--SKIPIF-- + +--FILE-- + +===DONE=== +--EXPECTF-- +*** Testing iconv_strlen() : basic functionality*** + +-- ASCII String -- +int(7) + +-- Multibyte String -- +int(21) +===DONE=== diff --git a/ext/iconv/tests/iconv_strlen_error1.phpt b/ext/iconv/tests/iconv_strlen_error1.phpt new file mode 100644 index 0000000000..3c63b20f79 --- /dev/null +++ b/ext/iconv/tests/iconv_strlen_error1.phpt @@ -0,0 +1,45 @@ +--TEST-- +Test iconv_strlen() function : error conditions - pass incorrect number of args +--SKIPIF-- + +--FILE-- + +===DONE=== +--EXPECTF-- +*** Testing iconv_strlen() : error conditions *** + +-- Testing iconv_strlen() function with Zero arguments -- + +Warning: iconv_strlen() expects at least 1 parameter, 0 given in %s on line %d +bool(false) + +-- Testing iconv_strlen() function with more than expected no. of arguments -- + +Warning: iconv_strlen() expects at most 2 parameters, 3 given in %s on line %d +bool(false) +===DONE=== diff --git a/ext/iconv/tests/iconv_strlen_error2.phpt b/ext/iconv/tests/iconv_strlen_error2.phpt new file mode 100644 index 0000000000..6c760b14c8 --- /dev/null +++ b/ext/iconv/tests/iconv_strlen_error2.phpt @@ -0,0 +1,34 @@ +--TEST-- +Test iconv_strlen() function : error conditions - pass an unknown encoding +--SKIPIF-- + +--FILE-- + +===DONE=== +--EXPECTF-- +*** Testing iconv_strlen() : error *** + +Notice: iconv_strlen(): Wrong charset, conversion from `unknown-encoding' to `UCS-4LE' is not allowed in %s on line %d +bool(false) +===DONE=== diff --git a/ext/iconv/tests/iconv_strlen_variation1.phpt b/ext/iconv/tests/iconv_strlen_variation1.phpt new file mode 100644 index 0000000000..e3e25aa0dc --- /dev/null +++ b/ext/iconv/tests/iconv_strlen_variation1.phpt @@ -0,0 +1,193 @@ +--TEST-- +Test iconv_strlen() function : usage variations - Pass different data types as $str arg +--SKIPIF-- + +--FILE-- + 0, + 'int 1' => 1, + 'int 12345' => 12345, + 'int -12345' => -12345, + + // float data +/*5*/ + 'float 10.5' => 10.5, + 'float -10.5' => -10.5, + 'float 12.3456789000e10' => 12.3456789000e10, + 'float 12.3456789000e-10' => 12.3456789000e-10, + 'float .5' => .5, + + // null data +/*10*/ + 'uppercase NULL' => NULL, + 'lowercase null' => null, + + // boolean data +/*12*/ + 'lowercase true' => true, + 'lowercase false' =>false, + 'uppercase TRUE' =>TRUE, + 'uppercase FALSE' =>FALSE, + + // empty data +/*16*/ + 'empty string DQ' => "", + 'empty string SQ' => '', + + // string data +/*18*/ + 'string DQ' => "string", + 'string SQ' => 'string', + 'mixed case string' => "sTrInG", + 'heredoc' => $heredoc, + + // object data +/*21*/ + 'instance of class' => new classA(), + + // undefined data +/*22*/ + 'undefined var' => @$undefined_var, + + // unset data +/*23*/ + 'unset var' => @$unset_var, + + // resource variable +/*24*/ + 'resource' => $fp +); + +// loop through each element of $inputs to check the behavior of iconv_strlen() +$iterator = 1; +foreach($inputs as $key =>$value) { + echo "\n--$key--\n"; + var_dump( iconv_strlen($value, $encoding)); + $iterator++; +}; + +fclose($fp); +?> +===DONE=== +--EXPECTF-- +*** Testing iconv_strlen() : usage variations *** + +--int 0-- +int(1) + +--int 1-- +int(1) + +--int 12345-- +int(5) + +--int -12345-- +int(6) + +--float 10.5-- +int(4) + +--float -10.5-- +int(5) + +--float 12.3456789000e10-- +int(12) + +--float 12.3456789000e-10-- +int(13) + +--float .5-- +int(3) + +--uppercase NULL-- +int(0) + +--lowercase null-- +int(0) + +--lowercase true-- +int(1) + +--lowercase false-- +int(0) + +--uppercase TRUE-- +int(1) + +--uppercase FALSE-- +int(0) + +--empty string DQ-- +int(0) + +--empty string SQ-- +int(0) + +--string DQ-- +int(6) + +--string SQ-- +int(6) + +--mixed case string-- +int(6) + +--heredoc-- +int(11) + +--instance of class-- +int(14) + +--undefined var-- +int(0) + +--unset var-- +int(0) + +--resource-- + +Warning: iconv_strlen() expects parameter 1 to be string, resource given in %s on line %d +bool(false) +===DONE=== diff --git a/ext/iconv/tests/iconv_strlen_variation2.phpt b/ext/iconv/tests/iconv_strlen_variation2.phpt new file mode 100644 index 0000000000..85dd0483a6 --- /dev/null +++ b/ext/iconv/tests/iconv_strlen_variation2.phpt @@ -0,0 +1,204 @@ +--TEST-- +Test iconv_strlen() function : usage variations - Pass different data types as $encoding arg +--SKIPIF-- + +--FILE-- + + +--EXPECTF-- +*** Testing iconv_strlen() : usage variations *** + +-- Iteration 1 -- + +Notice: iconv_strlen(): Wrong charset, conversion from `0' to `UCS-4LE' is not allowed in %s on line %d +bool(false) + +-- Iteration 2 -- + +Notice: iconv_strlen(): Wrong charset, conversion from `1' to `UCS-4LE' is not allowed in %s on line %d +bool(false) + +-- Iteration 3 -- + +Notice: iconv_strlen(): Wrong charset, conversion from `12345' to `UCS-4LE' is not allowed in %s on line %d +bool(false) + +-- Iteration 4 -- + +Notice: iconv_strlen(): Wrong charset, conversion from `-2345' to `UCS-4LE' is not allowed in %s on line %d +bool(false) + +-- Iteration 5 -- + +Notice: iconv_strlen(): Wrong charset, conversion from `10.5' to `UCS-4LE' is not allowed in %s on line %d +bool(false) + +-- Iteration 6 -- + +Notice: iconv_strlen(): Wrong charset, conversion from `-10.5' to `UCS-4LE' is not allowed in %s on line %d +bool(false) + +-- Iteration 7 -- + +Notice: iconv_strlen(): Wrong charset, conversion from `123456789000' to `UCS-4LE' is not allowed in %s on line %d +bool(false) + +-- Iteration 8 -- + +Notice: iconv_strlen(): Wrong charset, conversion from `1.23456789E-9' to `UCS-4LE' is not allowed in %s on line %d +bool(false) + +-- Iteration 9 -- + +Notice: iconv_strlen(): Wrong charset, conversion from `0.5' to `UCS-4LE' is not allowed in %s on line %d +bool(false) + +-- Iteration 10 -- +int(12) + +-- Iteration 11 -- +int(12) + +-- Iteration 12 -- + +Notice: iconv_strlen(): Wrong charset, conversion from `1' to `UCS-4LE' is not allowed in %s on line %d +bool(false) + +-- Iteration 13 -- +int(12) + +-- Iteration 14 -- + +Notice: iconv_strlen(): Wrong charset, conversion from `1' to `UCS-4LE' is not allowed in %s on line %d +bool(false) + +-- Iteration 15 -- +int(12) + +-- Iteration 16 -- +int(12) + +-- Iteration 17 -- +int(12) + +-- Iteration 18 -- +int(12) + +-- Iteration 19 -- +int(12) + +-- Iteration 20 -- +int(12) + +-- Iteration 21 -- +int(12) + +-- Iteration 22 -- +int(12) + +-- Iteration 23 -- +int(12) + +-- Iteration 24 -- + +Warning: iconv_strlen() expects parameter 2 to be string, resource given in %s on line %d +bool(false) +Done \ No newline at end of file diff --git a/ext/iconv/tests/iconv_strpos_error2.phpt b/ext/iconv/tests/iconv_strpos_error2.phpt new file mode 100644 index 0000000000..01e728ad9e --- /dev/null +++ b/ext/iconv/tests/iconv_strpos_error2.phpt @@ -0,0 +1,34 @@ +--TEST-- +Test iconv_strpos() function : error conditions - Pass unknown encoding +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +*** Testing iconv_strpos() : error conditions *** + +Notice: iconv_strpos(): Wrong charset, conversion from `unknown-encoding' to `UCS-4LE' is not allowed in %s on line %d +bool(false) +Done