From: Raghubansh Kumar Date: Fri, 5 Oct 2007 18:31:51 +0000 (+0000) Subject: New testcases for strrpos() function X-Git-Tag: php-5.2.5RC1~46 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7cf81e0fe0c1d1e2b1e493b5a0fef64e5dc93aa8;p=php New testcases for strrpos() function --- diff --git a/ext/standard/tests/strings/strrpos_basic1.phpt b/ext/standard/tests/strings/strrpos_basic1.phpt new file mode 100644 index 0000000000..26497fb3ff --- /dev/null +++ b/ext/standard/tests/strings/strrpos_basic1.phpt @@ -0,0 +1,45 @@ +--TEST-- +Test strrpos() function : basic functionality - with default arguments +--FILE-- + +--EXPECTF-- +*** Testing strrpos() function: basic functionality *** +-- With default arguments -- +int(0) +bool(false) +int(7) +bool(false) +int(8) +int(5) +int(0) +int(0) +int(0) +*** Done *** diff --git a/ext/standard/tests/strings/strrpos_basic2.phpt b/ext/standard/tests/strings/strrpos_basic2.phpt new file mode 100644 index 0000000000..a65bbf3fd2 --- /dev/null +++ b/ext/standard/tests/strings/strrpos_basic2.phpt @@ -0,0 +1,50 @@ +--TEST-- +Test strrpos() function : basic functionality - with all arguments +--FILE-- + +--EXPECTF-- +*** Testing strrpos() function: basic functionality *** +-- With all arguments -- +int(0) +bool(false) +int(7) +int(7) +int(0) +int(0) +bool(false) +int(0) +bool(false) +int(8) +int(8) +bool(false) +*** Done *** diff --git a/ext/standard/tests/strings/strrpos_error.phpt b/ext/standard/tests/strings/strrpos_error.phpt new file mode 100644 index 0000000000..3900ceaa5d --- /dev/null +++ b/ext/standard/tests/strings/strrpos_error.phpt @@ -0,0 +1,34 @@ +--TEST-- +Test strrpos() function : error conditions +--FILE-- + +--EXPECTF-- +*** Testing strrpos() function: error conditions *** +-- With Zero arguments -- +Warning: strrpos() expects at least 2 parameters, 0 given in %s on line %d +bool(false) + +-- With less than expected number of arguments -- +Warning: strrpos() expects at least 2 parameters, 1 given in %s on line %d +bool(false) + +-- With more than expected number of arguments -- +Warning: strrpos() expects at most 3 parameters, 4 given in %s on line %d +bool(false) +*** Done *** diff --git a/ext/standard/tests/strings/strrpos_variation1.phpt b/ext/standard/tests/strings/strrpos_variation1.phpt new file mode 100644 index 0000000000..a7ef3e9b05 --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation1.phpt @@ -0,0 +1,182 @@ +--TEST-- +Test strrpos() function : usage variations - double quoted strings for 'haystack' & 'needle' arguments +--FILE-- +?@hello123456he \x234 \101 "; +$needle = array( + //regular strings + "l", + "L", + "HELLO", + "hEllo", + + //escape characters + "\t", + "\T", //invalid input + " ", + "\n", + "\N", //invalid input + " +", //new line + + //nulls + "\0", + NULL, + null, + + //boolean false + FALSE, + false, + + //empty string + "", + + //special chars + " ", + "$", + " $", + "&", + "!#", + "()", + "<=>", + ">", + "=>", + "?", + "@", + "@hEllo", + + "12345", //decimal numeric string + "\x23", //hexadecimal numeric string + "#", //respective ASCII char of \x23 + "\101", //octal numeric string + "A", //respective ASCII char of \101 + "456HEE", //numerics + chars + $haystack //haystack as needle +); + +/* loop through to get the position of the needle in haystack string */ +$count = 1; +for($index=0; $index +--EXPECTF-- +*** Testing strrpos() function: with double quoted strings *** +-- Iteration 1 -- +int(28) +int(28) +-- Iteration 2 -- +bool(false) +bool(false) +-- Iteration 3 -- +bool(false) +bool(false) +-- Iteration 4 -- +bool(false) +bool(false) +-- Iteration 5 -- +int(6) +int(6) +-- Iteration 6 -- +bool(false) +bool(false) +-- Iteration 7 -- +bool(false) +bool(false) +-- Iteration 8 -- +int(9) +int(9) +-- Iteration 9 -- +bool(false) +bool(false) +-- Iteration 10 -- +int(9) +int(9) +-- Iteration 11 -- +int(8) +bool(false) +-- Iteration 12 -- +int(8) +bool(false) +-- Iteration 13 -- +int(8) +bool(false) +-- Iteration 14 -- +int(8) +bool(false) +-- Iteration 15 -- +int(8) +bool(false) +-- Iteration 16 -- +bool(false) +bool(false) +-- Iteration 17 -- +int(43) +int(43) +-- Iteration 18 -- +int(12) +bool(false) +-- Iteration 19 -- +int(11) +bool(false) +-- Iteration 20 -- +int(13) +bool(false) +-- Iteration 21 -- +int(14) +bool(false) +-- Iteration 22 -- +int(17) +bool(false) +-- Iteration 23 -- +int(20) +bool(false) +-- Iteration 24 -- +int(22) +bool(false) +-- Iteration 25 -- +int(21) +bool(false) +-- Iteration 26 -- +int(23) +bool(false) +-- Iteration 27 -- +int(24) +bool(false) +-- Iteration 28 -- +bool(false) +bool(false) +-- Iteration 29 -- +int(30) +int(30) +-- Iteration 30 -- +int(39) +int(39) +-- Iteration 31 -- +int(39) +int(39) +-- Iteration 32 -- +int(42) +int(42) +-- Iteration 33 -- +int(42) +int(42) +-- Iteration 34 -- +bool(false) +bool(false) +-- Iteration 35 -- +int(0) +bool(false) +*** Done *** diff --git a/ext/standard/tests/strings/strrpos_variation10.phpt b/ext/standard/tests/strings/strrpos_variation10.phpt new file mode 100644 index 0000000000..abdc5e2f49 --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation10.phpt @@ -0,0 +1,150 @@ +--TEST-- +Test strrpos() function : usage variations - unexpected inputs for 'needle' argument +--FILE-- + 'red', 'item' => 'pen'), + + // boolean values + true, + false, + TRUE, + FALSE, + + // objects + new sample(), + + // empty string + "", + '', + + // null vlaues + NULL, + null, + + // resource + $file_handle, + + // undefined variable + @$undefined_var, + + // unset variable + @$unset_var +); + +// loop through each element of the 'needle' array to check the working of strrpos() +$counter = 1; +for($index = 0; $index < count($needles); $index ++) { + echo "-- Iteration $counter --\n"; + var_dump( strrpos($haystack, $needles[$index]) ); + $counter ++; +} + +fclose($file_handle); //closing the file handle + +echo "*** Done ***"; +?> +--EXPECTF-- +*** Testing strrpos() function with unexpected values for needle *** +-- Iteration 1 -- +bool(false) +-- Iteration 2 -- +bool(false) +-- Iteration 3 -- +bool(false) +-- Iteration 4 -- +bool(false) +-- Iteration 5 -- +bool(false) +-- Iteration 6 -- +bool(false) +-- Iteration 7 -- +bool(false) +-- Iteration 8 -- +bool(false) +-- Iteration 9 -- +bool(false) +-- Iteration 10 -- +bool(false) +-- Iteration 11 -- +bool(false) +-- Iteration 12 -- +bool(false) +-- Iteration 13 -- +bool(false) +-- Iteration 14 -- +bool(false) +-- Iteration 15 -- +bool(false) +-- Iteration 16 -- +bool(false) +-- Iteration 17 -- +bool(false) +-- Iteration 18 -- +bool(false) +-- Iteration 19 -- + +Notice: Object of class sample could not be converted to int in %s on line %d +bool(false) +-- Iteration 20 -- +bool(false) +-- Iteration 21 -- +bool(false) +-- Iteration 22 -- +bool(false) +-- Iteration 23 -- +bool(false) +-- Iteration 24 -- +bool(false) +-- Iteration 25 -- +bool(false) +-- Iteration 26 -- +bool(false) +*** Done *** diff --git a/ext/standard/tests/strings/strrpos_variation11.phpt b/ext/standard/tests/strings/strrpos_variation11.phpt new file mode 100644 index 0000000000..5b5e7e3e39 --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation11.phpt @@ -0,0 +1,199 @@ +--TEST-- +Test strrpos() function : usage variations - unexpected inputs for 'haystack' and 'needle' arguments +--FILE-- + 'red', 'item' => 'pen'), + + // boolean values + true, + false, + TRUE, + FALSE, + + // objects + new sample(), + + // empty string + "", + '', + + // null vlaues + NULL, + null, + + // resource + $file_handle, + + // undefined variable + @$undefined_var, + + // unset variable + @$unset_var +); + + +// loop through each element of the array and check the working of strrpos() +$counter = 1; +for($index = 0; $index < count($values); $index ++) { + echo "-- Iteration $counter --\n"; + $haystack = $values[$index]; + var_dump( strrpos($values[$index], $values[$index]) ); + var_dump( strrpos($values[$index], $values[$index], 1) ); + $counter ++; +} + +echo "*** Done ***"; +?> +--EXPECTF-- +*** Testing strrpos() function with unexpected values for haystack and needle *** +-- Iteration 1 -- +bool(false) +bool(false) +-- Iteration 2 -- +bool(false) +bool(false) +-- Iteration 3 -- +bool(false) +bool(false) +-- Iteration 4 -- +bool(false) +bool(false) +-- Iteration 5 -- +bool(false) +bool(false) +-- Iteration 6 -- +bool(false) +bool(false) +-- Iteration 7 -- +bool(false) +bool(false) +-- Iteration 8 -- +bool(false) +bool(false) +-- Iteration 9 -- +bool(false) +bool(false) +-- Iteration 10 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) +-- Iteration 11 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) +-- Iteration 12 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) +-- Iteration 13 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) +-- Iteration 14 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) +-- Iteration 15 -- +bool(false) +bool(false) +-- Iteration 16 -- +bool(false) +bool(false) +-- Iteration 17 -- +bool(false) +bool(false) +-- Iteration 18 -- +bool(false) +bool(false) +-- Iteration 19 -- + +Notice: Object of class sample could not be converted to int in %s on line %d +bool(false) + +Notice: Object of class sample could not be converted to int in %s on line %d +bool(false) +-- Iteration 20 -- +bool(false) +bool(false) +-- Iteration 21 -- +bool(false) +bool(false) +-- Iteration 22 -- +bool(false) +bool(false) +-- Iteration 23 -- +bool(false) +bool(false) +-- Iteration 24 -- + +Warning: strrpos() expects parameter 1 to be string, resource given in %s on line %d +bool(false) + +Warning: strrpos() expects parameter 1 to be string, resource given in %s on line %d +bool(false) +-- Iteration 25 -- +bool(false) +bool(false) +-- Iteration 26 -- +bool(false) +bool(false) +*** Done *** diff --git a/ext/standard/tests/strings/strrpos_variation12.phpt b/ext/standard/tests/strings/strrpos_variation12.phpt new file mode 100644 index 0000000000..87ac3b2f84 --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation12.phpt @@ -0,0 +1,47 @@ +--TEST-- +Test strrpos() function : usage variations - checking binary safe with 'haystack' argument +--FILE-- + +--EXPECTF-- +*** Test strrpos() function: binary safe *** +int(5) +int(5) +int(0) +bool(false) +int(11) +int(11) +int(2) +bool(false) +int(5) +int(5) +int(0) +bool(false) +int(5) +bool(false) +*** Done *** diff --git a/ext/standard/tests/strings/strrpos_variation13.phpt b/ext/standard/tests/strings/strrpos_variation13.phpt new file mode 100644 index 0000000000..f85c3c454f --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation13.phpt @@ -0,0 +1,49 @@ +--TEST-- +Test strrpos() function : usage variations - checking bianry safe with 'needle' argument +--FILE-- + +--EXPECTF-- +*** Test strrpos() function: binary safe *** +int(1) +int(1) +int(0) +bool(false) +int(12) +int(12) +bool(false) +bool(false) +bool(false) +bool(false) +int(0) +bool(false) +int(1) +bool(false) +*** Done *** diff --git a/ext/standard/tests/strings/strrpos_variation14.phpt b/ext/standard/tests/strings/strrpos_variation14.phpt new file mode 100644 index 0000000000..617685325f --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation14.phpt @@ -0,0 +1,153 @@ +--TEST-- +Test strrpos() function : usage variations - unexpected inputs for 'offset' argument +--FILE-- + 'red', 'item' => 'pen'), + + // boolean values + true, + false, + TRUE, + FALSE, + + // objects + new sample(), + + // empty string + "", + '', + + // null vlaues + NULL, + null, + + //resource + $file_handle, + + // undefined variable + @$undefined_var, + + // unset variable + @$unset_var +); + + +// loop through each element of the array and check the working of strrpos() +$counter = 1; +for($index = 0; $index < count($offsets); $index ++) { + echo "-- Iteration $counter --\n"; + var_dump( strrpos($haystack, $needle, $offsets[$index]) ); + $counter ++; +} + +echo "*** Done ***"; +?> +--EXPECTF-- +*** Testing strrpos() function: with unexpected values for offset *** +-- Iteration 1 -- +int(6) +-- Iteration 2 -- +int(6) +-- Iteration 3 -- + +Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +bool(false) +-- Iteration 4 -- +int(6) +-- Iteration 5 -- +int(6) +-- Iteration 6 -- + +Warning: strrpos() expects parameter 3 to be long, array given in %s on line %d +bool(false) +-- Iteration 7 -- + +Warning: strrpos() expects parameter 3 to be long, array given in %s on line %d +bool(false) +-- Iteration 8 -- + +Warning: strrpos() expects parameter 3 to be long, array given in %s on line %d +bool(false) +-- Iteration 9 -- + +Warning: strrpos() expects parameter 3 to be long, array given in %s on line %d +bool(false) +-- Iteration 10 -- + +Warning: strrpos() expects parameter 3 to be long, array given in %s on line %d +bool(false) +-- Iteration 11 -- +int(6) +-- Iteration 12 -- +int(6) +-- Iteration 13 -- +int(6) +-- Iteration 14 -- +int(6) +-- Iteration 15 -- + +Warning: strrpos() expects parameter 3 to be long, object given in %s on line %d +bool(false) +-- Iteration 16 -- + +Warning: strrpos() expects parameter 3 to be long, string given in %s on line %d +bool(false) +-- Iteration 17 -- + +Warning: strrpos() expects parameter 3 to be long, string given in %s on line %d +bool(false) +-- Iteration 18 -- +int(6) +-- Iteration 19 -- +int(6) +-- Iteration 20 -- + +Warning: strrpos() expects parameter 3 to be long, resource given in %s on line %d +bool(false) +-- Iteration 21 -- +int(6) +-- Iteration 22 -- +int(6) +*** Done *** diff --git a/ext/standard/tests/strings/strrpos_variation15.phpt b/ext/standard/tests/strings/strrpos_variation15.phpt new file mode 100644 index 0000000000..23c7aef145 --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation15.phpt @@ -0,0 +1,171 @@ +--TEST-- +Test strrpos() function : usage variations - unexpected inputs for 'haystack', 'needle' & 'offset' arguments +--FILE-- + 'red', 'item' => 'pen'), + + // boolean values + true, + false, + TRUE, + FALSE, + + // objects + new sample(), + + // empty string + "", + '', + + // null vlaues + NULL, + null, + + //resource + $file_handle, + + // undefined variable + @$undefined_var, + + // unset variable + @$unset_var +); + + +// loop through each element of the array and check the working of strrpos() +$counter = 1; +for($index = 0; $index < count($values); $index ++) { + echo "-- Iteration $counter --\n"; + var_dump( strrpos($values[$index], $values[$index], $values[$index]) ); + $counter ++; +} + +echo "*** Done ***"; +?> +--EXPECTF-- +*** Testing strrpos() function: with unexpected values for haystack, needle & offset *** +-- Iteration 1 -- +bool(false) +-- Iteration 2 -- +bool(false) +-- Iteration 3 -- + +Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +bool(false) +-- Iteration 4 -- + +Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +bool(false) +-- Iteration 5 -- + +Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +bool(false) +-- Iteration 6 -- + +Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +bool(false) +-- Iteration 7 -- + +Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +bool(false) +-- Iteration 8 -- +bool(false) +-- Iteration 9 -- +bool(false) +-- Iteration 10 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) +-- Iteration 11 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) +-- Iteration 12 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) +-- Iteration 13 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) +-- Iteration 14 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) +-- Iteration 15 -- +bool(false) +-- Iteration 16 -- +bool(false) +-- Iteration 17 -- +bool(false) +-- Iteration 18 -- +bool(false) +-- Iteration 19 -- + +Warning: strrpos() expects parameter 3 to be long, object given in %s on line %d +bool(false) +-- Iteration 20 -- + +Warning: strrpos() expects parameter 3 to be long, string given in %s on line %d +bool(false) +-- Iteration 21 -- + +Warning: strrpos() expects parameter 3 to be long, string given in %s on line %d +bool(false) +-- Iteration 22 -- +bool(false) +-- Iteration 23 -- +bool(false) +-- Iteration 24 -- + +Warning: strrpos() expects parameter 1 to be string, resource given in %s on line %d +bool(false) +-- Iteration 25 -- +bool(false) +-- Iteration 26 -- +bool(false) +*** Done *** diff --git a/ext/standard/tests/strings/strrpos_variation2.phpt b/ext/standard/tests/strings/strrpos_variation2.phpt new file mode 100644 index 0000000000..53645866be --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation2.phpt @@ -0,0 +1,186 @@ +--TEST-- +Test strrpos() function : usage variations - single quoted strings for 'haystack' & 'needle' arguments +--FILE-- +?@hello123456he \x234 \101 '; +$needle = array( + //regular strings + 'l', + 'L', + 'HELLO', + 'hEllo', + + //escape characters + '\t', + '\T', + ' ', + '\n', + '\N', + ' +', //new line + + //nulls + '\0', + NULL, + null, + + //boolean false + FALSE, + false, + + //empty string + '', + + //special chars + ' ', + '$', + ' $', + '&', + '!#', + '()', + '<=>', + '>', + '=>', + '?', + '@', + '@hEllo', + + '12345', //decimal numeric string + '\x23', //hexadecimal numeric string + '#', //hexadecimal numeric string + '\101', //octal numeric string + 'A', + '456HEE', //numerics + chars + 42, //needle as int(ASCII value of '*') + $haystack //haystack as needle +); + +/* loop through to get the position of the needle in haystack string */ +$count = 1; +for($index=0; $index +--EXPECTF-- +*** Testing strrpos() function: with single quoted strings *** +-- Iteration 1 -- +int(32) +int(32) +-- Iteration 2 -- +bool(false) +bool(false) +-- Iteration 3 -- +bool(false) +bool(false) +-- Iteration 4 -- +bool(false) +bool(false) +-- Iteration 5 -- +int(6) +int(6) +-- Iteration 6 -- +bool(false) +bool(false) +-- Iteration 7 -- +bool(false) +bool(false) +-- Iteration 8 -- +int(12) +int(12) +-- Iteration 9 -- +bool(false) +bool(false) +-- Iteration 10 -- +bool(false) +bool(false) +-- Iteration 11 -- +int(10) +int(10) +-- Iteration 12 -- +bool(false) +bool(false) +-- Iteration 13 -- +bool(false) +bool(false) +-- Iteration 14 -- +bool(false) +bool(false) +-- Iteration 15 -- +bool(false) +bool(false) +-- Iteration 16 -- +bool(false) +bool(false) +-- Iteration 17 -- +int(53) +int(53) +-- Iteration 18 -- +int(16) +bool(false) +-- Iteration 19 -- +int(15) +bool(false) +-- Iteration 20 -- +int(17) +bool(false) +-- Iteration 21 -- +int(18) +bool(false) +-- Iteration 22 -- +int(21) +int(21) +-- Iteration 23 -- +int(24) +int(24) +-- Iteration 24 -- +int(26) +int(26) +-- Iteration 25 -- +int(25) +int(25) +-- Iteration 26 -- +int(27) +int(27) +-- Iteration 27 -- +int(28) +int(28) +-- Iteration 28 -- +bool(false) +bool(false) +-- Iteration 29 -- +int(34) +int(34) +-- Iteration 30 -- +int(43) +int(43) +-- Iteration 31 -- +int(19) +bool(false) +-- Iteration 32 -- +int(49) +int(49) +-- Iteration 33 -- +bool(false) +bool(false) +-- Iteration 34 -- +bool(false) +bool(false) +-- Iteration 35 -- +int(23) +bool(false) +-- Iteration 36 -- +int(0) +bool(false) +*** Done *** diff --git a/ext/standard/tests/strings/strrpos_variation3.phpt b/ext/standard/tests/strings/strrpos_variation3.phpt new file mode 100644 index 0000000000..a0a0d270e8 --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation3.phpt @@ -0,0 +1,37 @@ +--TEST-- +Test strrpos() function : usage variations - multi line heredoc string for 'haystack' argument +--FILE-- + +--EXPECTF-- +*** Testing strrpos() function: with heredoc strings *** +-- With heredoc string containing multi lines -- +int(44) +int(44) +int(44) +bool(false) +int(55) +*** Done *** \ No newline at end of file diff --git a/ext/standard/tests/strings/strrpos_variation4.phpt b/ext/standard/tests/strings/strrpos_variation4.phpt new file mode 100644 index 0000000000..1ccf529856 --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation4.phpt @@ -0,0 +1,41 @@ +--TEST-- +Test strrpos() function : usage variations - heredoc string containing special chars for 'haystack' argument +--FILE-- + +--EXPECTF-- +*** Testing strrpos() function: with heredoc strings *** +-- With heredoc string containing special chars -- +int(0) +bool(false) +int(41) +int(39) +int(55) +int(55) +int(57) +*** Done *** \ No newline at end of file diff --git a/ext/standard/tests/strings/strrpos_variation5.phpt b/ext/standard/tests/strings/strrpos_variation5.phpt new file mode 100644 index 0000000000..f9537da0e2 --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation5.phpt @@ -0,0 +1,34 @@ +--TEST-- +Test strrpos() function : usage variations - heredoc string containing escape chars for 'haystack' argument +--FILE-- + +--EXPECTF-- +*** Testing strrpos() function: with heredoc strings *** +-- With heredoc string containing escape characters -- +int(13) +int(19) +int(13) +int(19) +*** Done *** \ No newline at end of file diff --git a/ext/standard/tests/strings/strrpos_variation6.phpt b/ext/standard/tests/strings/strrpos_variation6.phpt new file mode 100644 index 0000000000..c879a91209 --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation6.phpt @@ -0,0 +1,35 @@ +--TEST-- +Test strrpos() function : usage variations - heredoc string containing quotes for 'haystack' argument +--FILE-- + +--EXPECTF-- +*** Testing strrpos() function: with heredoc strings *** +-- With heredoc string containing quote & slash chars -- +int(88) +int(59) +int(59) +int(59) +*** Done *** \ No newline at end of file diff --git a/ext/standard/tests/strings/strrpos_variation7.phpt b/ext/standard/tests/strings/strrpos_variation7.phpt new file mode 100644 index 0000000000..239dc246bc --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation7.phpt @@ -0,0 +1,32 @@ +--TEST-- +Test strrpos() function : usage variations - empty heredoc string for 'haystack' argument +--FILE-- + +--EXPECTF-- +*** Testing strrpos() function: with heredoc strings *** +-- With empty heredoc string -- +bool(false) +bool(false) +bool(false) +bool(false) +*** Done *** \ No newline at end of file diff --git a/ext/standard/tests/strings/strrpos_variation8.phpt b/ext/standard/tests/strings/strrpos_variation8.phpt new file mode 100644 index 0000000000..eac7d8ff83 --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation8.phpt @@ -0,0 +1,59 @@ +--TEST-- +Test strrpos() function : usage variations - repetitive chars for 'haystack' argument +--FILE-- + +--EXPECTF-- +*** Testing strrpos() function: strings repetitive chars *** +-- Iteration 1 -- +int(4) +-- Iteration 2 -- +int(4) +-- Iteration 3 -- +int(4) +-- Iteration 4 -- +int(4) +-- Iteration 5 -- +int(4) +-- Iteration 6 -- +int(4) +-- Iteration 7 -- +bool(false) +-- Iteration 8 -- +bool(false) +-- Iteration 9 -- +bool(false) +-- Iteration 10 -- +bool(false) +-- Iteration 11 -- +bool(false) +-- Iteration 12 -- +bool(false) +-- Iteration 13 -- +bool(false) +-- Iteration 14 -- +bool(false) +-- Iteration 15 -- +bool(false) +*** Done *** \ No newline at end of file diff --git a/ext/standard/tests/strings/strrpos_variation9.phpt b/ext/standard/tests/strings/strrpos_variation9.phpt new file mode 100644 index 0000000000..9b3b8d673d --- /dev/null +++ b/ext/standard/tests/strings/strrpos_variation9.phpt @@ -0,0 +1,184 @@ +--TEST-- +Test strrpos() function : usage variations - unexpected inputs for 'haystack' argument +--FILE-- + 'red', 'item' => 'pen'), + + // boolean values + true, + false, + TRUE, + FALSE, + + // objects + new sample(), + + // empty string + "", + '', + + // null vlaues + NULL, + null, + + // resource + $file_handle, + + // undefined variable + @$undefined_var, + + // unset variable + @$unset_var +); + +$needle = "heredoc 0 1 2 -2 10.5 -10.5 10.5e10 10.6E-10 .5 array true false object \"\" null Resource"; + +// loop through each element of the array and check the working of strrpos() +$counter = 1; +for($index = 0; $index < count($haystacks); $index ++) { + echo "\n-- Iteration $counter --\n"; + var_dump( strrpos($haystacks[$index], $needle) ); + $counter ++; +} + +fclose($file_handle); //closing the file handle + +echo "*** Done ***"; +?> +--EXPECTF-- +*** Testing strrpos() function with unexpected values for haystack *** + +-- Iteration 1 -- +bool(false) + +-- Iteration 2 -- +bool(false) + +-- Iteration 3 -- +bool(false) + +-- Iteration 4 -- +bool(false) + +-- Iteration 5 -- +bool(false) + +-- Iteration 6 -- +bool(false) + +-- Iteration 7 -- +bool(false) + +-- Iteration 8 -- +bool(false) + +-- Iteration 9 -- +bool(false) + +-- Iteration 10 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) + +-- Iteration 11 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) + +-- Iteration 12 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) + +-- Iteration 13 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) + +-- Iteration 14 -- + +Warning: strrpos() expects parameter 1 to be string, array given in %s on line %d +bool(false) + +-- Iteration 15 -- +bool(false) + +-- Iteration 16 -- +bool(false) + +-- Iteration 17 -- +bool(false) + +-- Iteration 18 -- +bool(false) + +-- Iteration 19 -- +bool(false) + +-- Iteration 20 -- +bool(false) + +-- Iteration 21 -- +bool(false) + +-- Iteration 22 -- +bool(false) + +-- Iteration 23 -- +bool(false) + +-- Iteration 24 -- + +Warning: strrpos() expects parameter 1 to be string, resource given in %s on line %d +bool(false) + +-- Iteration 25 -- +bool(false) + +-- Iteration 26 -- +bool(false) +*** Done ***