summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaghubansh Kumar <kraghuba@php.net>2007-09-29 09:22:42 +0000
committerRaghubansh Kumar <kraghuba@php.net>2007-09-29 09:22:42 +0000
commit46700e7a4785690fb7f23a26dc65600c6f793f84 (patch)
tree3225a00014119cc5f5815a689c12f39392e9bb05
parent03d6500fb02c1892a2759e578e80e4d9a9c67322 (diff)
downloadphp-git-46700e7a4785690fb7f23a26dc65600c6f793f84.tar.gz
New testcases for stripos() function
-rw-r--r--ext/standard/tests/strings/stripos_basic1.phpt70
-rw-r--r--ext/standard/tests/strings/stripos_basic2.phpt69
-rw-r--r--ext/standard/tests/strings/stripos_error.phpt50
-rw-r--r--ext/standard/tests/strings/stripos_variation1.phpt332
-rw-r--r--ext/standard/tests/strings/stripos_variation10.phpt264
-rw-r--r--ext/standard/tests/strings/stripos_variation11.phpt344
-rw-r--r--ext/standard/tests/strings/stripos_variation12.phpt62
-rw-r--r--ext/standard/tests/strings/stripos_variation13.phpt59
-rw-r--r--ext/standard/tests/strings/stripos_variation14.phpt224
-rw-r--r--ext/standard/tests/strings/stripos_variation15.phpt254
-rw-r--r--ext/standard/tests/strings/stripos_variation2.phpt360
-rw-r--r--ext/standard/tests/strings/stripos_variation3.phpt44
-rw-r--r--ext/standard/tests/strings/stripos_variation4.phpt50
-rw-r--r--ext/standard/tests/strings/stripos_variation5.phpt40
-rw-r--r--ext/standard/tests/strings/stripos_variation6.phpt41
-rw-r--r--ext/standard/tests/strings/stripos_variation7.phpt42
-rw-r--r--ext/standard/tests/strings/stripos_variation8.phpt393
-rw-r--r--ext/standard/tests/strings/stripos_variation9.phpt182
18 files changed, 2880 insertions, 0 deletions
diff --git a/ext/standard/tests/strings/stripos_basic1.phpt b/ext/standard/tests/strings/stripos_basic1.phpt
new file mode 100644
index 0000000000..37b737edda
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_basic1.phpt
@@ -0,0 +1,70 @@
+--TEST--
+Test stripos() function : basic functionality - with default arguments
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+echo "*** Testing stripos() function: basic functionality ***\n";
+$heredoc_str = <<<Identifier
+Hello, World
+Identifier;
+
+echo "-- With default arguments --\n";
+//regular string for haystack & needle
+var_dump( stripos("Hello, World", "Hello") );
+var_dump( stripos('Hello, World', "hello") );
+var_dump( stripos("Hello, World", 'World') );
+var_dump( stripos('Hello, World', 'WORLD') );
+
+//single char for needle
+var_dump( stripos("Hello, World", "o") );
+var_dump( stripos("Hello, World", ",") );
+
+//heredoc string for haystack & needle
+var_dump( stripos($heredoc_str, "Hello, World") );
+var_dump( stripos($heredoc_str, 'Hello') );
+var_dump( stripos($heredoc_str, $heredoc_str) );
+
+//unicode strings for haystack & needle
+var_dump( stripos((unicode)"Hello, World", "Hello") );
+var_dump( stripos('Hello, World', (unicode)"hello") );
+
+//non-existing needle in haystack
+var_dump( stripos("Hello, World", "ooo") );
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() function: basic functionality ***
+-- With default arguments --
+int(0)
+int(0)
+int(7)
+int(7)
+int(4)
+int(5)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+*** Done ***
+--UEXPECTF--
+*** Testing stripos() function: basic functionality ***
+-- With default arguments --
+int(0)
+int(0)
+int(7)
+int(7)
+int(4)
+int(5)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_basic2.phpt b/ext/standard/tests/strings/stripos_basic2.phpt
new file mode 100644
index 0000000000..1115171b34
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_basic2.phpt
@@ -0,0 +1,69 @@
+--TEST--
+Test stripos() function : basic functionality - with all arguments
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+echo "*** Testing stripos() function: basic functionality ***\n";
+$heredoc_str = <<<Identifier
+Hello, World
+Identifier;
+
+echo "-- With all arguments --\n";
+//regular string for haystack & needle, with various offsets
+var_dump( stripos("Hello, World", "Hello", 0) );
+var_dump( stripos("Hello, World", 'Hello', 1) );
+var_dump( stripos('Hello, World', 'WORLD', 1) );
+var_dump( stripos('Hello, World', "WoRld", 5) );
+
+//heredoc string for haystack & needle, with various offsets
+var_dump( stripos($heredoc_str, "Hello, World", 0) );
+var_dump( stripos($heredoc_str, 'Hello', 0) );
+var_dump( stripos($heredoc_str, 'Hello', 1) );
+var_dump( stripos($heredoc_str, $heredoc_str, 0) );
+var_dump( stripos($heredoc_str, $heredoc_str, 1) );
+
+//various offsets
+var_dump( stripos("Hello, World", "o", 3) );
+var_dump( stripos("Hello, World", "O", 5) );
+var_dump( stripos("Hello, World", "o", 6) );
+var_dump( stripos("Hello, World", "o", 10) );
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() 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(4)
+int(8)
+int(8)
+bool(false)
+*** Done ***
+--UEXPECTF--
+*** Testing stripos() 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(4)
+int(8)
+int(8)
+bool(false)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_error.phpt b/ext/standard/tests/strings/stripos_error.phpt
new file mode 100644
index 0000000000..71d93ef5a8
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_error.phpt
@@ -0,0 +1,50 @@
+--TEST--
+Test stripos() function : error conditions
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+echo "*** Testing stripos() function: error conditions ***\n";
+echo "\n-- With Zero arguments --";
+var_dump( stripos() );
+
+echo "\n-- With less than expected number of arguments --";
+var_dump( stripos("String") );
+
+echo "\n-- With more than expected number of arguments --";
+var_dump( stripos("string", "String", 1, 'extra_arg') );
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() function: error conditions ***
+
+-- With Zero arguments --
+Warning: stripos() expects at least 2 parameters, 0 given in %s on line %d
+NULL
+
+-- With less than expected number of arguments --
+Warning: stripos() expects at least 2 parameters, 1 given in %s on line %d
+NULL
+
+-- With more than expected number of arguments --
+Warning: stripos() expects at most 3 parameters, 4 given in %s on line %d
+NULL
+*** Done ***
+--UEXPECTF--
+*** Testing stripos() function: error conditions ***
+
+-- With Zero arguments --
+Warning: stripos() expects at least 2 parameters, 0 given in %s on line %d
+NULL
+
+-- With less than expected number of arguments --
+Warning: stripos() expects at least 2 parameters, 1 given in %s on line %d
+NULL
+
+-- With more than expected number of arguments --
+Warning: stripos() expects at most 3 parameters, 4 given in %s on line %d
+NULL
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_variation1.phpt b/ext/standard/tests/strings/stripos_variation1.phpt
new file mode 100644
index 0000000000..374c3a0e01
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation1.phpt
@@ -0,0 +1,332 @@
+--TEST--
+Test stripos() function : usage variations - double quoted strings for 'haystack' & 'needle' arguments
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function by passing double quoted strings to 'haystack' & 'needle' arguments */
+
+echo "*** Testing stripos() function: with double quoted strings ***\n";
+$haystack = "Hello,\t\n\0\n $&!#%\o,()*+-./:;<=>?@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
+ " ",
+ "$",
+ " $",
+ "&",
+ "!#",
+ "%\o",
+ "\o,",
+ "()",
+ "*+",
+ "+",
+ ".",
+ ".;",
+ ":;",
+ ";",
+ "<=>",
+ ">",
+ "=>",
+ "@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 'needle' array to get the position of the needle in haystack string */
+$count = 1;
+for($index=0; $index<count($needle); $index++) {
+ echo "-- Iteration $count --\n";
+ var_dump( stripos($haystack, $needle[$index]) );
+ var_dump( stripos($haystack, $needle[$index], $index) );
+ $count++;
+}
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() function: with double quoted strings ***
+-- Iteration 1 --
+int(2)
+int(2)
+-- Iteration 2 --
+int(2)
+int(2)
+-- Iteration 3 --
+int(0)
+int(34)
+-- Iteration 4 --
+int(0)
+int(34)
+-- Iteration 5 --
+int(6)
+int(6)
+-- Iteration 6 --
+bool(false)
+bool(false)
+-- Iteration 7 --
+bool(false)
+bool(false)
+-- Iteration 8 --
+int(7)
+int(7)
+-- Iteration 9 --
+bool(false)
+bool(false)
+-- Iteration 10 --
+int(7)
+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(10)
+int(47)
+-- 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(16)
+bool(false)
+-- Iteration 23 --
+int(17)
+bool(false)
+-- Iteration 24 --
+int(20)
+bool(false)
+-- Iteration 25 --
+int(22)
+bool(false)
+-- Iteration 26 --
+int(23)
+bool(false)
+-- Iteration 27 --
+int(25)
+bool(false)
+-- Iteration 28 --
+bool(false)
+bool(false)
+-- Iteration 29 --
+int(27)
+bool(false)
+-- Iteration 30 --
+int(28)
+bool(false)
+-- Iteration 31 --
+int(29)
+bool(false)
+-- Iteration 32 --
+int(31)
+int(31)
+-- Iteration 33 --
+int(30)
+bool(false)
+-- Iteration 34 --
+int(33)
+int(33)
+-- Iteration 35 --
+int(39)
+int(39)
+-- Iteration 36 --
+int(15)
+int(48)
+-- Iteration 37 --
+int(15)
+int(48)
+-- Iteration 38 --
+int(51)
+int(51)
+-- Iteration 39 --
+int(51)
+int(51)
+-- Iteration 40 --
+bool(false)
+bool(false)
+-- Iteration 41 --
+int(0)
+bool(false)
+*** Done ***
+--UEXPECTF--
+*** Testing stripos() function: with double quoted strings ***
+-- Iteration 1 --
+int(2)
+int(2)
+-- Iteration 2 --
+int(2)
+int(2)
+-- Iteration 3 --
+int(0)
+int(34)
+-- Iteration 4 --
+int(0)
+int(34)
+-- Iteration 5 --
+int(6)
+int(6)
+-- Iteration 6 --
+bool(false)
+bool(false)
+-- Iteration 7 --
+bool(false)
+bool(false)
+-- Iteration 8 --
+int(7)
+int(7)
+-- Iteration 9 --
+bool(false)
+bool(false)
+-- Iteration 10 --
+int(7)
+int(9)
+-- Iteration 11 --
+int(8)
+int(52)
+-- Iteration 12 --
+int(8)
+int(52)
+-- Iteration 13 --
+int(8)
+int(52)
+-- Iteration 14 --
+int(8)
+int(52)
+-- Iteration 15 --
+int(8)
+int(52)
+-- Iteration 16 --
+bool(false)
+bool(false)
+-- Iteration 17 --
+int(10)
+int(47)
+-- 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(16)
+bool(false)
+-- Iteration 23 --
+int(17)
+bool(false)
+-- Iteration 24 --
+int(20)
+bool(false)
+-- Iteration 25 --
+int(22)
+bool(false)
+-- Iteration 26 --
+int(23)
+bool(false)
+-- Iteration 27 --
+int(25)
+bool(false)
+-- Iteration 28 --
+bool(false)
+bool(false)
+-- Iteration 29 --
+int(27)
+bool(false)
+-- Iteration 30 --
+int(28)
+bool(false)
+-- Iteration 31 --
+int(29)
+bool(false)
+-- Iteration 32 --
+int(31)
+int(31)
+-- Iteration 33 --
+int(30)
+bool(false)
+-- Iteration 34 --
+int(33)
+int(33)
+-- Iteration 35 --
+int(39)
+int(39)
+-- Iteration 36 --
+int(15)
+int(48)
+-- Iteration 37 --
+int(15)
+int(48)
+-- Iteration 38 --
+int(51)
+int(51)
+-- Iteration 39 --
+int(51)
+int(51)
+-- Iteration 40 --
+bool(false)
+bool(false)
+-- Iteration 41 --
+int(0)
+bool(false)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_variation10.phpt b/ext/standard/tests/strings/stripos_variation10.phpt
new file mode 100644
index 0000000000..4c41afd844
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation10.phpt
@@ -0,0 +1,264 @@
+--TEST--
+Test stripos() function : usage variations - unexpected inputs for 'needle' argument
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function with unexpected inputs for needle and expected type for haystack */
+
+echo "*** Testing stripos() function with unexpected values for needle ***\n";
+
+// get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+// defining a class
+class sample {
+ public function __toString() {
+ return "object";
+ }
+}
+
+//getting the resource
+$file_handle = fopen(__FILE__, "r");
+
+$haystack = "heredoc 0 1 2 -2 10.5 -10.5 10.5e10 10.6E-10 .5 array true false object \"\" null Resource";
+
+// array with different values
+$needles = array (
+
+ // integer values
+ 0,
+ 1,
+ 12345,
+ -2345,
+
+ // float values
+ 10.5,
+ -10.5,
+ 10.5e10,
+ 10.6E-10,
+ .5,
+
+ // array values
+ array(),
+ array(0),
+ array(1),
+ array(1, 2),
+ array('color' => '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 stripos()
+$counter = 1;
+for($index = 0; $index < count($needles); $index ++) {
+ echo "\n-- Iteration $counter --\n";
+ var_dump( stripos($haystack, $needles[$index]) );
+ $counter ++;
+}
+
+fclose($file_handle); //closing the file handle
+
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() 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 ***
+--UEXPECTF--
+*** Testing stripos() function with unexpected values for needle ***
+
+-- Iteration 1 --
+bool(false)
+
+-- Iteration 2 --
+bool(false)
+
+-- Iteration 3 --
+bool(false)
+
+-- Iteration 4 --
+
+Warning: Needle argument codepoint value out of range (0 - 0x10FFFF) in %s on line %d
+bool(false)
+
+-- Iteration 5 --
+bool(false)
+
+-- Iteration 6 --
+
+Warning: Needle argument codepoint value out of range (0 - 0x10FFFF) in %s on line %d
+bool(false)
+
+-- Iteration 7 --
+
+Warning: Needle argument codepoint value out of range (0 - 0x10FFFF) in %s on line %d
+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/stripos_variation11.phpt b/ext/standard/tests/strings/stripos_variation11.phpt
new file mode 100644
index 0000000000..3bc862fa5e
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation11.phpt
@@ -0,0 +1,344 @@
+--TEST--
+Test stripos() function : usage variations - unexpected inputs for 'haystack' and 'needle' arguments
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function with unexpected inputs for haystack and needle arguments */
+
+echo "*** Testing stripos() function with unexpected values for haystack and needle ***\n";
+
+// get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+// defining a class
+class sample {
+ public function __toString() {
+ return "object";
+ }
+}
+
+//getting the resource
+$file_handle = fopen(__FILE__, "r");
+
+// array with different values
+$values = array (
+
+ // integer values
+ 0,
+ 1,
+ 12345,
+ -2345,
+
+ // float values
+ 10.5,
+ -10.5,
+ 10.5e10,
+ 10.6E-10,
+ .5,
+
+ // array values
+ array(),
+ array(0),
+ array(1),
+ array(1, 2),
+ array('color' => '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 stripos()
+$counter = 1;
+for($index = 0; $index < count($values); $index ++) {
+ echo "-- Iteration $counter --\n";
+ $haystack = $values[$index];
+ var_dump( stripos($values[$index], $values[$index]) );
+ var_dump( stripos($values[$index], $values[$index], 1) );
+ $counter ++;
+}
+
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() 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 --
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+-- Iteration 11 --
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+-- Iteration 12 --
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+-- Iteration 13 --
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+-- Iteration 14 --
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+-- Iteration 15 --
+bool(false)
+bool(false)
+-- Iteration 16 --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 17 --
+bool(false)
+bool(false)
+-- Iteration 18 --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+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)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 21 --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 22 --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 23 --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 24 --
+bool(false)
+bool(false)
+-- Iteration 25 --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 26 --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+*** Done ***
+--UEXPECTF--
+*** Testing stripos() function with unexpected values for haystack and needle ***
+-- Iteration 1 --
+bool(false)
+int(1)
+-- Iteration 2 --
+bool(false)
+bool(false)
+-- Iteration 3 --
+bool(false)
+bool(false)
+-- Iteration 4 --
+
+Warning: Needle argument codepoint value out of range (0 - 0x10FFFF) in %s on line %d
+bool(false)
+
+Warning: Needle argument codepoint value out of range (0 - 0x10FFFF) in %s on line %d
+bool(false)
+-- Iteration 5 --
+bool(false)
+bool(false)
+-- Iteration 6 --
+
+Warning: Needle argument codepoint value out of range (0 - 0x10FFFF) in %s on line %d
+bool(false)
+
+Warning: Needle argument codepoint value out of range (0 - 0x10FFFF) in %s on line %d
+bool(false)
+-- Iteration 7 --
+
+Warning: Needle argument codepoint value out of range (0 - 0x10FFFF) in %s on line %d
+bool(false)
+
+Warning: Needle argument codepoint value out of range (0 - 0x10FFFF) in %s on line %d
+bool(false)
+-- Iteration 8 --
+bool(false)
+int(7)
+-- Iteration 9 --
+bool(false)
+int(3)
+-- Iteration 10 --
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+
+Notice: Array to string conversion in %s on line %d
+int(5)
+-- Iteration 11 --
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+-- Iteration 12 --
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+-- Iteration 13 --
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+-- Iteration 14 --
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+-- Iteration 15 --
+bool(false)
+bool(false)
+-- Iteration 16 --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 17 --
+bool(false)
+bool(false)
+-- Iteration 18 --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+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)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 21 --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 22 --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 23 --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 24 --
+bool(false)
+bool(false)
+-- Iteration 25 --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 26 --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_variation12.phpt b/ext/standard/tests/strings/stripos_variation12.phpt
new file mode 100644
index 0000000000..4a62f09960
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation12.phpt
@@ -0,0 +1,62 @@
+--TEST--
+Test stripos() function : usage variations - null terminated strings for 'haystack' argument
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function with null terminated strings for 'haystack' argument */
+
+echo "*** Test stripos() function: binary safe ***\n";
+$haystacks = array(
+ "Hello".chr(0)."World",
+ chr(0)."Hello World",
+ "Hello World".chr(0),
+ chr(0).chr(0).chr(0),
+ b"Hello\0world",
+ "\0Hello",
+ "Hello\0"
+);
+
+for($index = 0; $index < count($haystacks); $index++ ) {
+ var_dump( stripos($haystacks[$index], "\0") );
+ var_dump( stripos($haystacks[$index], "\0", $index) );
+}
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Test stripos() function: binary safe ***
+int(5)
+int(5)
+int(0)
+bool(false)
+int(11)
+int(11)
+int(0)
+bool(false)
+int(5)
+int(5)
+int(0)
+bool(false)
+int(5)
+bool(false)
+*** Done ***
+--UEXPECTF--
+*** Test stripos() function: binary safe ***
+int(5)
+int(5)
+int(0)
+int(12)
+int(11)
+int(11)
+int(0)
+int(3)
+int(5)
+int(5)
+int(0)
+int(6)
+int(5)
+int(6)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_variation13.phpt b/ext/standard/tests/strings/stripos_variation13.phpt
new file mode 100644
index 0000000000..a9e7b64b73
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation13.phpt
@@ -0,0 +1,59 @@
+--TEST--
+Test stripos() function : usage variations - null terminated strings for 'needle' argument
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function with null terminated strings for 'needle' argument */
+
+echo "*** Test stripos() function: binary safe ***\n";
+$haystack = "\0Hello\0World\0";
+
+$needles = array(
+ "Hello".chr(0)."World",
+ chr(0)."Hello World",
+ "Hello World".chr(0),
+ "Hello\0world",
+ "\0Hello",
+ "Hello\0"
+);
+
+for($index = 0; $index < count($needles); $index++ ) {
+ var_dump( stripos($haystack, $needles[$index]) );
+ var_dump( stripos($haystack, $needles[$index], $index) );
+}
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Test stripos() function: binary safe ***
+int(1)
+int(1)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(1)
+bool(false)
+int(0)
+bool(false)
+int(1)
+bool(false)
+*** Done ***
+--UEXPECTF--
+*** Test stripos() function: binary safe ***
+int(1)
+int(1)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(1)
+bool(false)
+int(0)
+bool(false)
+int(1)
+bool(false)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_variation14.phpt b/ext/standard/tests/strings/stripos_variation14.phpt
new file mode 100644
index 0000000000..6ed60a56f3
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation14.phpt
@@ -0,0 +1,224 @@
+--TEST--
+Test stripos() function : usage variations - unexpected inputs for 'offset' argument
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function with unexpected inputs for offset argument */
+
+echo "*** Testing stripos() function with unexpected values for haystack and needle ***\n";
+
+// get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+// declaring a class
+class sample {
+ public function __toString() {
+ return "object";
+ }
+}
+
+//getting the resource
+$file_handle = fopen(__FILE__, "r");
+
+//definition of input args
+$haystack = "hello world";
+$needle = "world";
+
+// array with different values
+$offsets = array (
+
+ // float values
+ 1.5,
+ -1.5,
+ 1.5e10,
+ 1.6E-10,
+ .5,
+
+ // array values
+ array(),
+ array(0),
+ array(1),
+ array(1, 2),
+ array('color' => '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 stripos()
+$counter = 1;
+for($index = 0; $index < count($offsets); $index ++) {
+ echo "-- Iteration $counter --\n";
+ var_dump( stripos($haystack, $needle, $offsets[$index]) );
+ $counter ++;
+}
+
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() function with unexpected values for haystack and needle ***
+-- Iteration 1 --
+int(6)
+-- Iteration 2 --
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 3 --
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 4 --
+int(6)
+-- Iteration 5 --
+int(6)
+-- Iteration 6 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 7 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 8 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 9 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 10 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 11 --
+int(6)
+-- Iteration 12 --
+int(6)
+-- Iteration 13 --
+int(6)
+-- Iteration 14 --
+int(6)
+-- Iteration 15 --
+
+Warning: stripos() expects parameter 3 to be long, object given in %s on line %d
+NULL
+-- Iteration 16 --
+
+Warning: stripos() expects parameter 3 to be long, string given in %s on line %d
+NULL
+-- Iteration 17 --
+
+Warning: stripos() expects parameter 3 to be long, string given in %s on line %d
+NULL
+-- Iteration 18 --
+int(6)
+-- Iteration 19 --
+int(6)
+-- Iteration 20 --
+
+Warning: stripos() expects parameter 3 to be long, resource given in %s on line %d
+NULL
+-- Iteration 21 --
+int(6)
+-- Iteration 22 --
+int(6)
+*** Done ***
+--UEXPECTF--
+*** Testing stripos() function with unexpected values for haystack and needle ***
+-- Iteration 1 --
+int(6)
+-- Iteration 2 --
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 3 --
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 4 --
+int(6)
+-- Iteration 5 --
+int(6)
+-- Iteration 6 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 7 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 8 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 9 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 10 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 11 --
+int(6)
+-- Iteration 12 --
+int(6)
+-- Iteration 13 --
+int(6)
+-- Iteration 14 --
+int(6)
+-- Iteration 15 --
+
+Warning: stripos() expects parameter 3 to be long, object given in %s on line %d
+NULL
+-- Iteration 16 --
+
+Warning: stripos() expects parameter 3 to be long, Unicode string given in %s on line %d
+NULL
+-- Iteration 17 --
+
+Warning: stripos() expects parameter 3 to be long, Unicode string given in %s on line %d
+NULL
+-- Iteration 18 --
+int(6)
+-- Iteration 19 --
+int(6)
+-- Iteration 20 --
+
+Warning: stripos() expects parameter 3 to be long, resource given in %s on line %d
+NULL
+-- Iteration 21 --
+int(6)
+-- Iteration 22 --
+int(6)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_variation15.phpt b/ext/standard/tests/strings/stripos_variation15.phpt
new file mode 100644
index 0000000000..3f443899bd
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation15.phpt
@@ -0,0 +1,254 @@
+--TEST--
+Test stripos() function : usage variations - unexpected inputs for 'haystack', 'needle' & 'offset'
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function with unexpected inputs for haystack, needle & offset */
+
+echo "*** Testing stripos() function with unexpected values for haystack, needle & offset ***\n";
+
+// get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+// defining a class
+class sample {
+ public function __toString() {
+ return "object";
+ }
+}
+
+//getting the resource
+$file_handle = fopen(__FILE__, "r");
+
+// array with different values
+$values = array (
+
+ // integer values
+ 0,
+ 1,
+ 12345,
+ -2345,
+
+ // float values
+ 10.5,
+ -10.5,
+ 10.5e10,
+ 10.6E-10,
+ .5,
+
+ // array values
+ array(),
+ array(0),
+ array(1),
+ array(1, 2),
+ array('color' => '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 stripos()
+$counter = 1;
+for($index = 0; $index < count($values); $index ++) {
+ echo "-- Iteration $counter --\n";
+ var_dump( stripos($values[$index], $values[$index], $values[$index]) );
+ $counter ++;
+}
+
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() function with unexpected values for haystack, needle & offset ***
+-- Iteration 1 --
+bool(false)
+-- Iteration 2 --
+bool(false)
+-- Iteration 3 --
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 4 --
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 5 --
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 6 --
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 7 --
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 8 --
+bool(false)
+-- Iteration 9 --
+bool(false)
+-- Iteration 10 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 11 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 12 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 13 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 14 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 15 --
+bool(false)
+-- Iteration 16 --
+bool(false)
+-- Iteration 17 --
+bool(false)
+-- Iteration 18 --
+bool(false)
+-- Iteration 19 --
+
+Warning: stripos() expects parameter 3 to be long, object given in %s on line %d
+NULL
+-- Iteration 20 --
+
+Warning: stripos() expects parameter 3 to be long, string given in %s on line %d
+NULL
+-- Iteration 21 --
+
+Warning: stripos() expects parameter 3 to be long, string given in %s on line %d
+NULL
+-- Iteration 22 --
+bool(false)
+-- Iteration 23 --
+bool(false)
+-- Iteration 24 --
+
+Warning: stripos() expects parameter 3 to be long, resource given in %s on line %d
+NULL
+-- Iteration 25 --
+bool(false)
+-- Iteration 26 --
+bool(false)
+*** Done ***
+--UEXPECTF--
+*** Testing stripos() function with unexpected values for haystack, needle & offset ***
+-- Iteration 1 --
+bool(false)
+-- Iteration 2 --
+bool(false)
+-- Iteration 3 --
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 4 --
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 5 --
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 6 --
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 7 --
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+-- Iteration 8 --
+bool(false)
+-- Iteration 9 --
+bool(false)
+-- Iteration 10 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 11 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 12 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 13 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 14 --
+
+Warning: stripos() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 15 --
+bool(false)
+-- Iteration 16 --
+bool(false)
+-- Iteration 17 --
+bool(false)
+-- Iteration 18 --
+bool(false)
+-- Iteration 19 --
+
+Warning: stripos() expects parameter 3 to be long, object given in %s on line %d
+NULL
+-- Iteration 20 --
+
+Warning: stripos() expects parameter 3 to be long, Unicode string given in %s on line %d
+NULL
+-- Iteration 21 --
+
+Warning: stripos() expects parameter 3 to be long, Unicode string given in %s on line %d
+NULL
+-- Iteration 22 --
+bool(false)
+-- Iteration 23 --
+bool(false)
+-- Iteration 24 --
+
+Warning: stripos() expects parameter 3 to be long, resource given in %s on line %d
+NULL
+-- Iteration 25 --
+bool(false)
+-- Iteration 26 --
+bool(false)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_variation2.phpt b/ext/standard/tests/strings/stripos_variation2.phpt
new file mode 100644
index 0000000000..48ce5e968e
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation2.phpt
@@ -0,0 +1,360 @@
+--TEST--
+Test stripos() function : usage variations - single quoted strings for 'haystack' & 'needle' arguments
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function by passing single quoted strings to 'haystack' & 'needle' arguments */
+
+echo "*** Testing stripos() function: with single quoted strings ***\n";
+$haystack = 'Hello,\t\n\0\n $&!#%\o,()*+-./:;<=>?@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
+ ' ',
+ '$',
+ ' $',
+ '&',
+ '!#',
+ '%\o',
+ '\o,',
+ '()',
+ '*+',
+ '+',
+ '-',
+ '.',
+ '.;',
+ '.;',
+ ':;',
+ ';',
+ '<=>',
+ '>',
+ '=>',
+ '?',
+ '@',
+ '@hEllo',
+
+ '12345', //decimal numeric string
+ '\x23', //hexadecimal numeric string
+ '#', //hexadecimal numeric string
+ '\101', //octal numeric string
+ '456HEE', //numerics + chars
+ 42, //needle as int(ASCII value of '*')
+ $haystack //haystack as needle
+);
+
+/* loop through 'needle' array to get the position of the needle in haystack string */
+$count = 1;
+for($index=0; $index<count($needle); $index++) {
+ echo "-- Iteration $count --\n";
+ var_dump( stripos($haystack, $needle[$index]) );
+ var_dump( stripos($haystack, $needle[$index], $index) );
+ $count++;
+}
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() function: with single quoted strings ***
+-- Iteration 1 --
+int(2)
+int(2)
+-- Iteration 2 --
+int(2)
+int(2)
+-- Iteration 3 --
+int(0)
+int(38)
+-- Iteration 4 --
+int(0)
+int(38)
+-- Iteration 5 --
+int(6)
+int(6)
+-- Iteration 6 --
+int(6)
+int(6)
+-- Iteration 7 --
+bool(false)
+bool(false)
+-- Iteration 8 --
+int(8)
+int(8)
+-- Iteration 9 --
+int(8)
+int(8)
+-- 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(14)
+int(51)
+-- 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(20)
+bool(false)
+-- Iteration 23 --
+int(21)
+bool(false)
+-- Iteration 24 --
+int(24)
+int(24)
+-- Iteration 25 --
+int(26)
+int(26)
+-- Iteration 26 --
+int(27)
+int(27)
+-- Iteration 27 --
+int(28)
+int(28)
+-- Iteration 28 --
+int(29)
+int(29)
+-- Iteration 29 --
+bool(false)
+bool(false)
+-- Iteration 30 --
+bool(false)
+bool(false)
+-- Iteration 31 --
+int(31)
+int(31)
+-- Iteration 32 --
+int(32)
+int(32)
+-- Iteration 33 --
+int(33)
+int(33)
+-- Iteration 34 --
+int(35)
+int(35)
+-- Iteration 35 --
+int(34)
+int(34)
+-- Iteration 36 --
+int(36)
+int(36)
+-- Iteration 37 --
+int(37)
+int(37)
+-- Iteration 38 --
+int(37)
+int(37)
+-- Iteration 39 --
+int(43)
+int(43)
+-- Iteration 40 --
+int(52)
+int(52)
+-- Iteration 41 --
+int(19)
+bool(false)
+-- Iteration 42 --
+int(58)
+int(58)
+-- Iteration 43 --
+bool(false)
+bool(false)
+-- Iteration 44 --
+int(26)
+bool(false)
+-- Iteration 45 --
+int(0)
+bool(false)
+*** Done ***
+--UEXPECTF--
+*** Testing stripos() function: with single quoted strings ***
+-- Iteration 1 --
+int(2)
+int(2)
+-- Iteration 2 --
+int(2)
+int(2)
+-- Iteration 3 --
+int(0)
+int(38)
+-- Iteration 4 --
+int(0)
+int(38)
+-- Iteration 5 --
+int(6)
+int(6)
+-- Iteration 6 --
+int(6)
+int(6)
+-- Iteration 7 --
+bool(false)
+bool(false)
+-- Iteration 8 --
+int(8)
+int(8)
+-- Iteration 9 --
+int(8)
+int(8)
+-- Iteration 10 --
+bool(false)
+bool(false)
+-- Iteration 11 --
+int(10)
+int(10)
+-- Iteration 12 --
+bool(false)
+int(63)
+-- Iteration 13 --
+bool(false)
+int(63)
+-- Iteration 14 --
+bool(false)
+int(63)
+-- Iteration 15 --
+bool(false)
+int(63)
+-- Iteration 16 --
+bool(false)
+bool(false)
+-- Iteration 17 --
+int(14)
+int(51)
+-- 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(20)
+bool(false)
+-- Iteration 23 --
+int(21)
+bool(false)
+-- Iteration 24 --
+int(24)
+int(24)
+-- Iteration 25 --
+int(26)
+int(26)
+-- Iteration 26 --
+int(27)
+int(27)
+-- Iteration 27 --
+int(28)
+int(28)
+-- Iteration 28 --
+int(29)
+int(29)
+-- Iteration 29 --
+bool(false)
+bool(false)
+-- Iteration 30 --
+bool(false)
+bool(false)
+-- Iteration 31 --
+int(31)
+int(31)
+-- Iteration 32 --
+int(32)
+int(32)
+-- Iteration 33 --
+int(33)
+int(33)
+-- Iteration 34 --
+int(35)
+int(35)
+-- Iteration 35 --
+int(34)
+int(34)
+-- Iteration 36 --
+int(36)
+int(36)
+-- Iteration 37 --
+int(37)
+int(37)
+-- Iteration 38 --
+int(37)
+int(37)
+-- Iteration 39 --
+int(43)
+int(43)
+-- Iteration 40 --
+int(52)
+int(52)
+-- Iteration 41 --
+int(19)
+bool(false)
+-- Iteration 42 --
+int(58)
+int(58)
+-- Iteration 43 --
+bool(false)
+bool(false)
+-- Iteration 44 --
+int(26)
+bool(false)
+-- Iteration 45 --
+int(0)
+bool(false)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_variation3.phpt b/ext/standard/tests/strings/stripos_variation3.phpt
new file mode 100644
index 0000000000..012dbf4930
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation3.phpt
@@ -0,0 +1,44 @@
+--TEST--
+Test stripos() function : usage variations - multiline heredoc strings for 'haystack' arguments
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function by passing multi-line heredoc string for 'haystack' arguments */
+
+echo "*** Testing stripos() function: with heredoc strings ***\n";
+echo "-- With heredoc string containing multi lines --\n";
+$multi_line_str = <<<EOD
+Example of string
+spanning multiple lines
+using heredoc syntax.
+EOD;
+var_dump( stripos($multi_line_str, "ing", 0) );
+var_dump( stripos($multi_line_str, "ing", 15) );
+var_dump( stripos($multi_line_str, "ing", 22) );
+var_dump( stripos($multi_line_str, "") );
+var_dump( stripos($multi_line_str, " ") );
+
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() function: with heredoc strings ***
+-- With heredoc string containing multi lines --
+int(14)
+int(23)
+int(23)
+bool(false)
+int(7)
+*** Done ***
+--UEXPECTF--
+*** Testing stripos() function: with heredoc strings ***
+-- With heredoc string containing multi lines --
+int(14)
+int(23)
+int(23)
+bool(false)
+int(7)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_variation4.phpt b/ext/standard/tests/strings/stripos_variation4.phpt
new file mode 100644
index 0000000000..ee611dccb3
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation4.phpt
@@ -0,0 +1,50 @@
+--TEST--
+Test stripos() function : usage variations - heredoc string containing special chars for 'haystack' arguments
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function by passing heredoc string containing special chars for 'haystack' arguments */
+
+echo "*** Testing stripos() function: with heredoc strings ***\n";
+echo "-- With heredoc string containing special chars --\n";
+$special_chars_str = <<<EOD
+Ex'ple of h'doc st'g, contains
+$#%^*&*_("_")!#@@!$#$^^&$*(special)
+chars.
+EOD;
+var_dump( stripos($special_chars_str, "Ex'ple", 0) );
+var_dump( stripos($special_chars_str, "!@@!", 23) );
+var_dump( stripos($special_chars_str, '_') );
+var_dump( stripos($special_chars_str, '("_")') );
+var_dump( stripos($special_chars_str, "$*") );
+var_dump( stripos($special_chars_str, "$*", 10) );
+var_dump( stripos($special_chars_str, "(special)") );
+
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() function: with heredoc strings ***
+-- With heredoc string containing special chars --
+int(0)
+bool(false)
+int(38)
+int(39)
+int(55)
+int(55)
+int(57)
+*** Done ***
+--UEXPECTF--
+*** Testing stripos() function: with heredoc strings ***
+-- With heredoc string containing special chars --
+int(0)
+bool(false)
+int(38)
+int(39)
+int(55)
+int(55)
+int(57)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_variation5.phpt b/ext/standard/tests/strings/stripos_variation5.phpt
new file mode 100644
index 0000000000..7d8f90b6f4
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation5.phpt
@@ -0,0 +1,40 @@
+--TEST--
+Test stripos() function : usage variations - heredoc string containing escape chars for 'haystack' argument
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function by passing heredoc string containing escape chars for 'haystack' */
+
+echo "*** Testing stripos() function: with heredoc strings ***\n";
+echo "-- With heredoc string containing escape characters --\n";
+$control_char_str = <<<EOD
+Hello, World\n
+Hello\tWorld
+EOD;
+var_dump( stripos($control_char_str, "\n") );
+var_dump( stripos($control_char_str, "\t") );
+var_dump( stripos($control_char_str, "\n", 12) );
+var_dump( stripos($control_char_str, "\t", 15) );
+
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() function: with heredoc strings ***
+-- With heredoc string containing escape characters --
+int(12)
+int(19)
+int(12)
+int(19)
+*** Done ***
+--UEXPECTF--
+*** Testing stripos() function: with heredoc strings ***
+-- With heredoc string containing escape characters --
+int(12)
+int(19)
+int(12)
+int(19)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_variation6.phpt b/ext/standard/tests/strings/stripos_variation6.phpt
new file mode 100644
index 0000000000..7ed69cec2b
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation6.phpt
@@ -0,0 +1,41 @@
+--TEST--
+Test stripos() function : usage variations - heredoc string containing quotes for 'haystack' argument
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function by passing heredoc string containing quotes for 'haystack' */
+
+echo "*** Testing stripos() function: with heredoc strings ***\n";
+echo "-- With heredoc string containing quote & slash chars --\n";
+$quote_char_str = <<<EOD
+it's bright,but i cann't see it.
+"things in double quote"
+'things in single quote'
+this\line is /with\slashs
+EOD;
+var_dump( stripos($quote_char_str, "line") );
+var_dump( stripos($quote_char_str, 'things') );
+var_dump( stripos($quote_char_str, 'things', 0) );
+var_dump( stripos($quote_char_str, "things", 20) );
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() function: with heredoc strings ***
+-- With heredoc string containing quote & slash chars --
+int(88)
+int(34)
+int(34)
+int(34)
+*** Done ***
+--UEXPECTF--
+*** Testing stripos() function: with heredoc strings ***
+-- With heredoc string containing quote & slash chars --
+int(88)
+int(34)
+int(34)
+int(34)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_variation7.phpt b/ext/standard/tests/strings/stripos_variation7.phpt
new file mode 100644
index 0000000000..fb5f42706c
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation7.phpt
@@ -0,0 +1,42 @@
+--TEST--
+Test stripos() function : usage variations - empty heredoc string for 'haystack' argument
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function by passing empty heredoc string for 'haystack' argument */
+
+echo "*** Testing stripos() function: with heredoc strings ***\n";
+echo "-- With empty heredoc string --\n";
+$empty_string = <<<EOD
+EOD;
+var_dump( stripos($empty_string, "") );
+var_dump( stripos($empty_string, "", 1) );
+var_dump( stripos($empty_string, FALSE) );
+var_dump( stripos($empty_string, NULL) );
+
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() function: with heredoc strings ***
+-- With empty heredoc string --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+bool(false)
+bool(false)
+*** Done ***
+--UEXPECTF--
+*** Testing stripos() function: with heredoc strings ***
+-- With empty heredoc string --
+bool(false)
+
+Warning: stripos(): Offset not contained in string in %s on line %d
+bool(false)
+bool(false)
+bool(false)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_variation8.phpt b/ext/standard/tests/strings/stripos_variation8.phpt
new file mode 100644
index 0000000000..1266427246
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation8.phpt
@@ -0,0 +1,393 @@
+--TEST--
+Test stripos() function : usage variations - repetitive chars for 'haystack' argument
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function with strings containing repetitive chars for 'haystak' and with various 'offset's */
+
+echo "*** Testing stripos() function: variations with offset ***\n";
+$haystack = "aBAbaBAbaBabAbAbaBa";
+$needles = array(
+ "aba",
+ "aBA",
+ "ABA",
+ "Aba",
+ "BAb",
+ "bab",
+ "bAb",
+ "BAB"
+);
+
+/* loop through to consider various offsets in getting the position of the needle in haystack string */
+$count = 1;
+for($index = 0; $index < count($needles); $index++) {
+ echo "\n-- Iteration $count --\n";
+ for($offset = 0; $offset <= strlen($haystack); $offset++ ) {
+ var_dump( stripos($haystack, $needles[$index], $offset) );
+ }
+ $count++;
+}
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() function: variations with offset ***
+
+-- Iteration 1 --
+int(0)
+int(2)
+int(2)
+int(4)
+int(4)
+int(6)
+int(6)
+int(8)
+int(8)
+int(10)
+int(10)
+int(12)
+int(12)
+int(14)
+int(14)
+int(16)
+int(16)
+bool(false)
+bool(false)
+bool(false)
+
+-- Iteration 2 --
+int(0)
+int(2)
+int(2)
+int(4)
+int(4)
+int(6)
+int(6)
+int(8)
+int(8)
+int(10)
+int(10)
+int(12)
+int(12)
+int(14)
+int(14)
+int(16)
+int(16)
+bool(false)
+bool(false)
+bool(false)
+
+-- Iteration 3 --
+int(0)
+int(2)
+int(2)
+int(4)
+int(4)
+int(6)
+int(6)
+int(8)
+int(8)
+int(10)
+int(10)
+int(12)
+int(12)
+int(14)
+int(14)
+int(16)
+int(16)
+bool(false)
+bool(false)
+bool(false)
+
+-- Iteration 4 --
+int(0)
+int(2)
+int(2)
+int(4)
+int(4)
+int(6)
+int(6)
+int(8)
+int(8)
+int(10)
+int(10)
+int(12)
+int(12)
+int(14)
+int(14)
+int(16)
+int(16)
+bool(false)
+bool(false)
+bool(false)
+
+-- Iteration 5 --
+int(1)
+int(1)
+int(3)
+int(3)
+int(5)
+int(5)
+int(7)
+int(7)
+int(9)
+int(9)
+int(11)
+int(11)
+int(13)
+int(13)
+int(15)
+int(15)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+
+-- Iteration 6 --
+int(1)
+int(1)
+int(3)
+int(3)
+int(5)
+int(5)
+int(7)
+int(7)
+int(9)
+int(9)
+int(11)
+int(11)
+int(13)
+int(13)
+int(15)
+int(15)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+
+-- Iteration 7 --
+int(1)
+int(1)
+int(3)
+int(3)
+int(5)
+int(5)
+int(7)
+int(7)
+int(9)
+int(9)
+int(11)
+int(11)
+int(13)
+int(13)
+int(15)
+int(15)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+
+-- Iteration 8 --
+int(1)
+int(1)
+int(3)
+int(3)
+int(5)
+int(5)
+int(7)
+int(7)
+int(9)
+int(9)
+int(11)
+int(11)
+int(13)
+int(13)
+int(15)
+int(15)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+*** Done ***
+--UEXPECTF--
+*** Testing stripos() function: variations with offset ***
+
+-- Iteration 1 --
+int(0)
+int(2)
+int(2)
+int(4)
+int(4)
+int(6)
+int(6)
+int(8)
+int(8)
+int(10)
+int(10)
+int(12)
+int(12)
+int(14)
+int(14)
+int(16)
+int(16)
+bool(false)
+bool(false)
+bool(false)
+
+-- Iteration 2 --
+int(0)
+int(2)
+int(2)
+int(4)
+int(4)
+int(6)
+int(6)
+int(8)
+int(8)
+int(10)
+int(10)
+int(12)
+int(12)
+int(14)
+int(14)
+int(16)
+int(16)
+bool(false)
+bool(false)
+bool(false)
+
+-- Iteration 3 --
+int(0)
+int(2)
+int(2)
+int(4)
+int(4)
+int(6)
+int(6)
+int(8)
+int(8)
+int(10)
+int(10)
+int(12)
+int(12)
+int(14)
+int(14)
+int(16)
+int(16)
+bool(false)
+bool(false)
+bool(false)
+
+-- Iteration 4 --
+int(0)
+int(2)
+int(2)
+int(4)
+int(4)
+int(6)
+int(6)
+int(8)
+int(8)
+int(10)
+int(10)
+int(12)
+int(12)
+int(14)
+int(14)
+int(16)
+int(16)
+bool(false)
+bool(false)
+bool(false)
+
+-- Iteration 5 --
+int(1)
+int(1)
+int(3)
+int(3)
+int(5)
+int(5)
+int(7)
+int(7)
+int(9)
+int(9)
+int(11)
+int(11)
+int(13)
+int(13)
+int(15)
+int(15)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+
+-- Iteration 6 --
+int(1)
+int(1)
+int(3)
+int(3)
+int(5)
+int(5)
+int(7)
+int(7)
+int(9)
+int(9)
+int(11)
+int(11)
+int(13)
+int(13)
+int(15)
+int(15)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+
+-- Iteration 7 --
+int(1)
+int(1)
+int(3)
+int(3)
+int(5)
+int(5)
+int(7)
+int(7)
+int(9)
+int(9)
+int(11)
+int(11)
+int(13)
+int(13)
+int(15)
+int(15)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+
+-- Iteration 8 --
+int(1)
+int(1)
+int(3)
+int(3)
+int(5)
+int(5)
+int(7)
+int(7)
+int(9)
+int(9)
+int(11)
+int(11)
+int(13)
+int(13)
+int(15)
+int(15)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+*** Done ***
diff --git a/ext/standard/tests/strings/stripos_variation9.phpt b/ext/standard/tests/strings/stripos_variation9.phpt
new file mode 100644
index 0000000000..993b8f1e06
--- /dev/null
+++ b/ext/standard/tests/strings/stripos_variation9.phpt
@@ -0,0 +1,182 @@
+--TEST--
+Test stripos() function : usage variations - unexpected inputs for 'haystack' argument
+--FILE--
+<?php
+/* Prototype : int stripos ( string $haystack, string $needle [, int $offset] );
+ * Description: Find position of first occurrence of a case-insensitive string
+ * Source code: ext/standard/string.c
+*/
+
+/* Test stripos() function with unexpected inputs for haystack argument */
+
+echo "*** Testing stripos() function with unexpected values for haystack ***\n";
+
+// get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+// declaring a class
+class sample {
+ public function __toString() {
+ return "object";
+ }
+}
+
+//getting the resource
+$file_handle = fopen(__FILE__, "r");
+
+// array with different values
+$haystacks = array (
+
+ // integer values
+ 0,
+ 1,
+ 12345,
+ -2345,
+
+ // float values
+ 10.5,
+ -10.5,
+ 10.5e10,
+ 10.6E-10,
+ .5,
+
+ // array values
+ array(),
+ array(0),
+ array(1),
+ array(1, 2),
+ array('color' => '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 stripos()
+$counter = 1;
+for($index = 0; $index < count($haystacks); $index ++) {
+ echo "\n-- Iteration $counter --\n";
+ var_dump( stripos($haystacks[$index], $needle) );
+ $counter ++;
+}
+
+fclose($file_handle); //closing the file handle
+
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing stripos() 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 --
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+
+-- Iteration 11 --
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+
+-- Iteration 12 --
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+
+-- Iteration 13 --
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+
+-- Iteration 14 --
+
+Notice: Array to string conversion 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 --
+bool(false)
+
+-- Iteration 25 --
+bool(false)
+
+-- Iteration 26 --
+bool(false)
+*** Done ***