]> granicus.if.org Git - php/commitdiff
New testcases for strcspn() function
authorRaghubansh Kumar <kraghuba@php.net>
Sat, 22 Sep 2007 10:36:15 +0000 (10:36 +0000)
committerRaghubansh Kumar <kraghuba@php.net>
Sat, 22 Sep 2007 10:36:15 +0000 (10:36 +0000)
14 files changed:
ext/standard/tests/strings/strcspn_basic.phpt [new file with mode: 0644]
ext/standard/tests/strings/strcspn_error.phpt [new file with mode: 0644]
ext/standard/tests/strings/strcspn_variation1.phpt [new file with mode: 0644]
ext/standard/tests/strings/strcspn_variation10.phpt [new file with mode: 0644]
ext/standard/tests/strings/strcspn_variation11.phpt [new file with mode: 0644]
ext/standard/tests/strings/strcspn_variation12.phpt [new file with mode: 0644]
ext/standard/tests/strings/strcspn_variation2.phpt [new file with mode: 0644]
ext/standard/tests/strings/strcspn_variation3.phpt [new file with mode: 0644]
ext/standard/tests/strings/strcspn_variation4.phpt [new file with mode: 0644]
ext/standard/tests/strings/strcspn_variation5.phpt [new file with mode: 0644]
ext/standard/tests/strings/strcspn_variation6.phpt [new file with mode: 0644]
ext/standard/tests/strings/strcspn_variation7.phpt [new file with mode: 0644]
ext/standard/tests/strings/strcspn_variation8.phpt [new file with mode: 0644]
ext/standard/tests/strings/strcspn_variation9.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/strings/strcspn_basic.phpt b/ext/standard/tests/strings/strcspn_basic.phpt
new file mode 100644 (file)
index 0000000..232b105
--- /dev/null
@@ -0,0 +1,41 @@
+--TEST--
+Test strcspn() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [, int start [, int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+                If start or/and length is provided, it works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+/*
+* Testing strcspn() : basic functionality
+*/
+
+echo "*** Testing strcspn() : basic functionality ***\n";
+
+
+// Initialise all required variables
+$str = "this is the test string";
+$mask = "es";
+$start = 15;
+$len = 30;
+
+// Calling strcspn() with all possible arguments
+var_dump( strcspn($str, $mask, $start, $len) );
+
+// Calling strcspn() with three arguments
+var_dump( strcspn($str, $mask, $start) );
+
+// Calling strcspn() with default arguments
+var_dump( strcspn($str, $mask) );
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : basic functionality ***
+int(2)
+int(2)
+int(3)
+Done
diff --git a/ext/standard/tests/strings/strcspn_error.phpt b/ext/standard/tests/strings/strcspn_error.phpt
new file mode 100644 (file)
index 0000000..03b4f2d
--- /dev/null
@@ -0,0 +1,57 @@
+--TEST--
+Test strcspn() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [, int start [, int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+                If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+/*
+* Test strcspn() : for error conditons
+*/
+
+echo "*** Testing strcspn() : error conditions ***\n";
+
+// Zero arguments
+echo "\n-- Testing strcspn() function with Zero arguments --\n";
+var_dump( strcspn() );
+
+//Test strcspn with one more than the expected number of arguments
+echo "\n-- Testing strcspn() function with more than expected no. of arguments --\n";
+$str = 'string_val';
+$mask = 'string_val';
+$start = 2;
+$len = 20;
+
+
+$extra_arg = 10;
+var_dump( strcspn($str,$mask,$start,$len, $extra_arg) );
+
+// Testing strcspn withone less than the expected number of arguments
+echo "\n-- Testing strcspn() function with less than expected no. of arguments --\n";
+$str = 'string_val';
+var_dump( strcspn($str) );
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : error conditions ***
+
+-- Testing strcspn() function with Zero arguments --
+
+Warning: strcspn() expects at least 2 parameters, 0 given in %s on line %d
+NULL
+
+-- Testing strcspn() function with more than expected no. of arguments --
+
+Warning: strcspn() expects at most 4 parameters, 5 given in %s on line %d
+NULL
+
+-- Testing strcspn() function with less than expected no. of arguments --
+
+Warning: strcspn() expects at least 2 parameters, 1 given in %s on line %d
+NULL
+Done
diff --git a/ext/standard/tests/strings/strcspn_variation1.phpt b/ext/standard/tests/strings/strcspn_variation1.phpt
new file mode 100644 (file)
index 0000000..f80e461
--- /dev/null
@@ -0,0 +1,276 @@
+--TEST--
+Test strcspn() function : usage variations - unexpected values for str argument
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [, int start [, int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+                If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+
+/*
+* Testing strspn() : with different unexpected values for str argument
+*/
+
+echo "*** Testing strcspn() : with unexpected values for str argument ***\n";
+
+// Initialise function arguments not being substititued (if any)
+$mask = 'abons1234567890';
+$start = 1;
+$len = 10;
+
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// declaring class
+class sample  {
+  public function __toString() {
+    return "object";
+  }
+}
+
+// creating a file resource
+$file_handle = fopen(__FILE__, 'r');
+
+
+//array of values to iterate over
+$values = array(
+
+      // int data
+      0,
+      1,
+      12345,
+      -2345,
+
+      // float data
+      10.5,
+      -10.5,
+      10.5e10,
+      10.6E-10,
+      .5,
+
+      // array data
+      array(),
+      array(0),
+      array(1),
+      array(1, 2),
+      array('color' => 'red', 'item' => 'pen'),
+
+      // null data
+      NULL,
+      null,
+
+      // boolean data
+      true,
+      false,
+      TRUE,
+      FALSE,
+
+      // empty data
+      "",
+      '',
+
+      // object data
+      new sample,
+
+      // undefined data
+      $undefined_var,
+
+      // unset data
+      $unset_var,
+
+      // resource
+      $file_handle
+);
+
+// loop through each element of the array for str
+
+foreach($values as $value) {
+      echo "\n-- Iteration with str value as \"$value\" \n";
+      var_dump( strcspn($value,$mask) ); // with default args
+      var_dump( strcspn($value,$mask,$start) );  // with default len value
+      var_dump( strcspn($value,$mask,$start,$len) );  //  with all args
+};
+
+// closing the resource
+fclose($file_handle);
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : with unexpected values for str argument ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+-- Iteration with str value as "0" 
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as "1" 
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as "12345" 
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as "-2345" 
+int(1)
+int(0)
+int(0)
+
+-- Iteration with str value as "10.5" 
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as "-10.5" 
+int(1)
+int(0)
+int(0)
+
+-- Iteration with str value as "105000000000" 
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as "1.06E-9" 
+int(0)
+int(1)
+int(1)
+
+-- Iteration with str value as "0.5" 
+int(0)
+int(1)
+int(1)
+
+-- Iteration with str value as "Array" 
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as "Array" 
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as "Array" 
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as "Array" 
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as "Array" 
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as "" 
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "" 
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "1" 
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as "" 
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "1" 
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as "" 
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "" 
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "" 
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "object" 
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as "" 
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "" 
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "Resource id #%d" 
+
+Warning: strcspn() expects parameter 1 to be string, resource given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, resource given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, resource given in %s on line %d
+NULL
+Done
diff --git a/ext/standard/tests/strings/strcspn_variation10.phpt b/ext/standard/tests/strings/strcspn_variation10.phpt
new file mode 100644 (file)
index 0000000..37bb00e
--- /dev/null
@@ -0,0 +1,272 @@
+--TEST--
+Test strcspn() function : usage variations - with varying mask & default start and len args
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [, int start [, int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+                If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+/*
+* Testing strcspn() : with varying mask and default start and len arguments
+*/
+
+echo "*** Testing strcspn() : with different mask strings and default start and len arguments ***\n";
+
+// initialing required variables
+$strings = array(
+                   "",
+                  '',
+                  "\n",
+                  '\n',
+                  "hello\tworld\nhello\nworld\n",
+                  'hello\tworld\nhello\nworld\n',
+                  "1234hello45world\t123",
+                  '1234hello45world\t123',
+                  "hello\0world\012",
+                  'hello\0world\012',
+                  chr(0).chr(0),
+                  chr(0)."hello\0world".chr(0),
+                  chr(0).'hello\0world'.chr(0),
+                  "hello".chr(0)."world",
+                  'hello'.chr(0).'world',
+                  "hello\0\100\xaaaworld",
+                  'hello\0\100\xaaaworld'
+                   );
+
+// defining array of mask strings
+$mask_array = array(
+                   "",
+                   '',
+                   "\n\trsti \l",
+                   '\n\trsti \l',
+                   "\t",
+                   "t\ ",
+                   '\t',
+                   "\t\ ",
+                   " \t",
+                    "\t\i\100\xa"
+                   );
+               
+
+// loop through each element of the array for mask argument
+$count = 1;
+foreach($strings as $str) {
+  echo "\n-- Itearation $count --\n";
+  foreach($mask_array as $mask) {
+      var_dump( strcspn($str,$mask) );
+  }
+  $count++;
+}
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : with different mask strings and default start and len arguments ***
+
+-- Itearation 1 --
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+
+-- Itearation 2 --
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+
+-- Itearation 3 --
+int(1)
+int(1)
+int(0)
+int(1)
+int(1)
+int(1)
+int(1)
+int(1)
+int(1)
+int(0)
+
+-- Itearation 4 --
+int(2)
+int(2)
+int(0)
+int(0)
+int(2)
+int(0)
+int(0)
+int(0)
+int(2)
+int(0)
+
+-- Itearation 5 --
+int(24)
+int(24)
+int(2)
+int(2)
+int(5)
+int(24)
+int(24)
+int(5)
+int(5)
+int(5)
+
+-- Itearation 6 --
+int(28)
+int(28)
+int(2)
+int(2)
+int(28)
+int(5)
+int(5)
+int(5)
+int(28)
+int(5)
+
+-- Itearation 7 --
+int(20)
+int(20)
+int(6)
+int(6)
+int(16)
+int(20)
+int(20)
+int(16)
+int(16)
+int(16)
+
+-- Itearation 8 --
+int(21)
+int(21)
+int(6)
+int(6)
+int(21)
+int(16)
+int(16)
+int(16)
+int(21)
+int(16)
+
+-- Itearation 9 --
+int(5)
+int(5)
+int(2)
+int(2)
+int(12)
+int(12)
+int(12)
+int(12)
+int(12)
+int(11)
+
+-- Itearation 10 --
+int(16)
+int(16)
+int(2)
+int(2)
+int(16)
+int(5)
+int(5)
+int(5)
+int(16)
+int(5)
+
+-- Itearation 11 --
+int(0)
+int(0)
+int(2)
+int(2)
+int(2)
+int(2)
+int(2)
+int(2)
+int(2)
+int(2)
+
+-- Itearation 12 --
+int(0)
+int(0)
+int(3)
+int(3)
+int(13)
+int(13)
+int(13)
+int(13)
+int(13)
+int(13)
+
+-- Itearation 13 --
+int(0)
+int(0)
+int(3)
+int(3)
+int(14)
+int(6)
+int(6)
+int(6)
+int(14)
+int(6)
+
+-- Itearation 14 --
+int(5)
+int(5)
+int(2)
+int(2)
+int(11)
+int(11)
+int(11)
+int(11)
+int(11)
+int(11)
+
+-- Itearation 15 --
+int(5)
+int(5)
+int(2)
+int(2)
+int(11)
+int(11)
+int(11)
+int(11)
+int(11)
+int(11)
+
+-- Itearation 16 --
+int(5)
+int(5)
+int(2)
+int(2)
+int(14)
+int(14)
+int(14)
+int(14)
+int(14)
+int(6)
+
+-- Itearation 17 --
+int(21)
+int(21)
+int(2)
+int(2)
+int(21)
+int(5)
+int(5)
+int(5)
+int(21)
+int(5)
+Done
\ No newline at end of file
diff --git a/ext/standard/tests/strings/strcspn_variation11.phpt b/ext/standard/tests/strings/strcspn_variation11.phpt
new file mode 100644 (file)
index 0000000..28f1dbe
--- /dev/null
@@ -0,0 +1,1306 @@
+--TEST--
+Test strcspn() function : usage variations - with varying start and default len args
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [, int start [, int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+                If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+/*
+* Testing strcspn() : with varying start and default len arguments
+*/
+
+echo "*** Testing strcspn() : with different start and default len values ***\n";
+
+// initialing required variables
+// initialing required variables
+$strings = array(
+                   "",
+                   '',
+                   "\n",
+                   '\n',
+                   "hello\tworld\nhello\nworld\n",
+                   'hello\tworld\nhello\nworld\n',
+                   "1234hello45world\t123",
+                   '1234hello45world\t123',
+                   "hello\0world\012",
+                   'hello\0world\012',
+                   chr(0).chr(0),
+                   chr(0)."hello\0world".chr(0),
+                   chr(0).'hello\0world'.chr(0),
+                   "hello".chr(0)."world",
+                   'hello'.chr(0).'world',
+                   "hello\0\100\xaaaworld",
+                   'hello\0\100\xaaaworld'
+                   );
+
+// defining array of mask strings
+$mask_array = array(
+                    "",
+                    '',
+                    "\n\trsti \l",
+                    '\n\trsti \l',
+                    "\t",
+                    "t\ ",
+                    '\t',
+                    "\t\ ",
+                    " \t",
+                    "\t\i\100\xa"
+                   );
+
+//defining array of start values
+$start_array = array(
+                     0,
+                     1,
+                     2,
+                     -1,
+                     -2,
+                     2147483647,  // max positive integer
+                     -2147483648,  // min negative integer
+                    );
+               
+
+// loop through each element of the arrays for str,mask and start arguments
+$count = 1;
+foreach($strings as $str) {
+  echo "\n-- Iteration $count --\n";
+  foreach($mask_array as $mask) {
+    foreach($start_array as $start) {
+      var_dump( strcspn($str,$mask,$start) );
+    }
+  }
+  $count++;
+}
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : with different start and default len values ***
+
+-- Iteration 1 --
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+
+-- Iteration 2 --
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+
+-- Iteration 3 --
+int(1)
+int(0)
+bool(false)
+int(1)
+int(1)
+bool(false)
+int(1)
+int(1)
+int(0)
+bool(false)
+int(1)
+int(1)
+bool(false)
+int(1)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(1)
+int(1)
+bool(false)
+int(1)
+int(1)
+int(0)
+bool(false)
+int(1)
+int(1)
+bool(false)
+int(1)
+int(1)
+int(0)
+bool(false)
+int(1)
+int(1)
+bool(false)
+int(1)
+int(1)
+int(0)
+bool(false)
+int(1)
+int(1)
+bool(false)
+int(1)
+int(1)
+int(0)
+bool(false)
+int(1)
+int(1)
+bool(false)
+int(1)
+int(1)
+int(0)
+bool(false)
+int(1)
+int(1)
+bool(false)
+int(1)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+
+-- Iteration 4 --
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(0)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(0)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(0)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(0)
+
+-- Iteration 5 --
+int(24)
+int(23)
+int(22)
+int(1)
+int(2)
+bool(false)
+int(24)
+int(24)
+int(23)
+int(22)
+int(1)
+int(2)
+bool(false)
+int(24)
+int(2)
+int(1)
+int(0)
+int(0)
+int(1)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(24)
+int(23)
+int(22)
+int(1)
+int(2)
+bool(false)
+int(24)
+int(24)
+int(23)
+int(22)
+int(1)
+int(2)
+bool(false)
+int(24)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(0)
+int(1)
+bool(false)
+int(5)
+
+-- Iteration 6 --
+int(28)
+int(27)
+int(26)
+int(1)
+int(2)
+bool(false)
+int(28)
+int(28)
+int(27)
+int(26)
+int(1)
+int(2)
+bool(false)
+int(28)
+int(2)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(0)
+int(0)
+bool(false)
+int(2)
+int(28)
+int(27)
+int(26)
+int(1)
+int(2)
+bool(false)
+int(28)
+int(5)
+int(4)
+int(3)
+int(1)
+int(0)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(1)
+int(0)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(1)
+int(0)
+bool(false)
+int(5)
+int(28)
+int(27)
+int(26)
+int(1)
+int(2)
+bool(false)
+int(28)
+int(5)
+int(4)
+int(3)
+int(1)
+int(0)
+bool(false)
+int(5)
+
+-- Iteration 7 --
+int(20)
+int(19)
+int(18)
+int(1)
+int(2)
+bool(false)
+int(20)
+int(20)
+int(19)
+int(18)
+int(1)
+int(2)
+bool(false)
+int(20)
+int(6)
+int(5)
+int(4)
+int(1)
+int(2)
+bool(false)
+int(6)
+int(6)
+int(5)
+int(4)
+int(1)
+int(2)
+bool(false)
+int(6)
+int(16)
+int(15)
+int(14)
+int(1)
+int(2)
+bool(false)
+int(16)
+int(20)
+int(19)
+int(18)
+int(1)
+int(2)
+bool(false)
+int(20)
+int(20)
+int(19)
+int(18)
+int(1)
+int(2)
+bool(false)
+int(20)
+int(16)
+int(15)
+int(14)
+int(1)
+int(2)
+bool(false)
+int(16)
+int(16)
+int(15)
+int(14)
+int(1)
+int(2)
+bool(false)
+int(16)
+int(16)
+int(15)
+int(14)
+int(1)
+int(2)
+bool(false)
+int(16)
+
+-- Iteration 8 --
+int(21)
+int(20)
+int(19)
+int(1)
+int(2)
+bool(false)
+int(21)
+int(21)
+int(20)
+int(19)
+int(1)
+int(2)
+bool(false)
+int(21)
+int(6)
+int(5)
+int(4)
+int(1)
+int(2)
+bool(false)
+int(6)
+int(6)
+int(5)
+int(4)
+int(1)
+int(2)
+bool(false)
+int(6)
+int(21)
+int(20)
+int(19)
+int(1)
+int(2)
+bool(false)
+int(21)
+int(16)
+int(15)
+int(14)
+int(1)
+int(2)
+bool(false)
+int(16)
+int(16)
+int(15)
+int(14)
+int(1)
+int(2)
+bool(false)
+int(16)
+int(16)
+int(15)
+int(14)
+int(1)
+int(2)
+bool(false)
+int(16)
+int(21)
+int(20)
+int(19)
+int(1)
+int(2)
+bool(false)
+int(21)
+int(16)
+int(15)
+int(14)
+int(1)
+int(2)
+bool(false)
+int(16)
+
+-- Iteration 9 --
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(2)
+int(1)
+int(0)
+int(0)
+int(1)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(12)
+int(11)
+int(10)
+int(1)
+int(2)
+bool(false)
+int(12)
+int(12)
+int(11)
+int(10)
+int(1)
+int(2)
+bool(false)
+int(12)
+int(12)
+int(11)
+int(10)
+int(1)
+int(2)
+bool(false)
+int(12)
+int(12)
+int(11)
+int(10)
+int(1)
+int(2)
+bool(false)
+int(12)
+int(12)
+int(11)
+int(10)
+int(1)
+int(2)
+bool(false)
+int(12)
+int(11)
+int(10)
+int(9)
+int(0)
+int(1)
+bool(false)
+int(11)
+
+-- Iteration 10 --
+int(16)
+int(15)
+int(14)
+int(1)
+int(2)
+bool(false)
+int(16)
+int(16)
+int(15)
+int(14)
+int(1)
+int(2)
+bool(false)
+int(16)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(16)
+int(15)
+int(14)
+int(1)
+int(2)
+bool(false)
+int(16)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(16)
+int(15)
+int(14)
+int(1)
+int(2)
+bool(false)
+int(16)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+
+-- Iteration 11 --
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+
+-- Iteration 12 --
+int(0)
+int(5)
+int(4)
+int(0)
+int(1)
+bool(false)
+int(0)
+int(0)
+int(5)
+int(4)
+int(0)
+int(1)
+bool(false)
+int(0)
+int(3)
+int(2)
+int(1)
+int(1)
+int(2)
+bool(false)
+int(3)
+int(3)
+int(2)
+int(1)
+int(1)
+int(2)
+bool(false)
+int(3)
+int(13)
+int(12)
+int(11)
+int(1)
+int(2)
+bool(false)
+int(13)
+int(13)
+int(12)
+int(11)
+int(1)
+int(2)
+bool(false)
+int(13)
+int(13)
+int(12)
+int(11)
+int(1)
+int(2)
+bool(false)
+int(13)
+int(13)
+int(12)
+int(11)
+int(1)
+int(2)
+bool(false)
+int(13)
+int(13)
+int(12)
+int(11)
+int(1)
+int(2)
+bool(false)
+int(13)
+int(13)
+int(12)
+int(11)
+int(1)
+int(2)
+bool(false)
+int(13)
+
+-- Iteration 13 --
+int(0)
+int(12)
+int(11)
+int(0)
+int(1)
+bool(false)
+int(0)
+int(0)
+int(12)
+int(11)
+int(0)
+int(1)
+bool(false)
+int(0)
+int(3)
+int(2)
+int(1)
+int(1)
+int(2)
+bool(false)
+int(3)
+int(3)
+int(2)
+int(1)
+int(1)
+int(2)
+bool(false)
+int(3)
+int(14)
+int(13)
+int(12)
+int(1)
+int(2)
+bool(false)
+int(14)
+int(6)
+int(5)
+int(4)
+int(1)
+int(2)
+bool(false)
+int(6)
+int(6)
+int(5)
+int(4)
+int(1)
+int(2)
+bool(false)
+int(6)
+int(6)
+int(5)
+int(4)
+int(1)
+int(2)
+bool(false)
+int(6)
+int(14)
+int(13)
+int(12)
+int(1)
+int(2)
+bool(false)
+int(14)
+int(6)
+int(5)
+int(4)
+int(1)
+int(2)
+bool(false)
+int(6)
+
+-- Iteration 14 --
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(2)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(2)
+int(11)
+int(10)
+int(9)
+int(1)
+int(2)
+bool(false)
+int(11)
+int(11)
+int(10)
+int(9)
+int(1)
+int(2)
+bool(false)
+int(11)
+int(11)
+int(10)
+int(9)
+int(1)
+int(2)
+bool(false)
+int(11)
+int(11)
+int(10)
+int(9)
+int(1)
+int(2)
+bool(false)
+int(11)
+int(11)
+int(10)
+int(9)
+int(1)
+int(2)
+bool(false)
+int(11)
+int(11)
+int(10)
+int(9)
+int(1)
+int(2)
+bool(false)
+int(11)
+
+-- Iteration 15 --
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(2)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(2)
+int(11)
+int(10)
+int(9)
+int(1)
+int(2)
+bool(false)
+int(11)
+int(11)
+int(10)
+int(9)
+int(1)
+int(2)
+bool(false)
+int(11)
+int(11)
+int(10)
+int(9)
+int(1)
+int(2)
+bool(false)
+int(11)
+int(11)
+int(10)
+int(9)
+int(1)
+int(2)
+bool(false)
+int(11)
+int(11)
+int(10)
+int(9)
+int(1)
+int(2)
+bool(false)
+int(11)
+int(11)
+int(10)
+int(9)
+int(1)
+int(2)
+bool(false)
+int(11)
+
+-- Iteration 16 --
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(2)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(2)
+int(14)
+int(13)
+int(12)
+int(1)
+int(2)
+bool(false)
+int(14)
+int(14)
+int(13)
+int(12)
+int(1)
+int(2)
+bool(false)
+int(14)
+int(14)
+int(13)
+int(12)
+int(1)
+int(2)
+bool(false)
+int(14)
+int(14)
+int(13)
+int(12)
+int(1)
+int(2)
+bool(false)
+int(14)
+int(14)
+int(13)
+int(12)
+int(1)
+int(2)
+bool(false)
+int(14)
+int(6)
+int(5)
+int(4)
+int(1)
+int(2)
+bool(false)
+int(6)
+
+-- Iteration 17 --
+int(21)
+int(20)
+int(19)
+int(1)
+int(2)
+bool(false)
+int(21)
+int(21)
+int(20)
+int(19)
+int(1)
+int(2)
+bool(false)
+int(21)
+int(2)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(2)
+int(21)
+int(20)
+int(19)
+int(1)
+int(2)
+bool(false)
+int(21)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(21)
+int(20)
+int(19)
+int(1)
+int(2)
+bool(false)
+int(21)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+Done
\ No newline at end of file
diff --git a/ext/standard/tests/strings/strcspn_variation12.phpt b/ext/standard/tests/strings/strcspn_variation12.phpt
new file mode 100644 (file)
index 0000000..b6f8cac
--- /dev/null
@@ -0,0 +1,2482 @@
+--TEST--
+Test strcspn() function : usage variations - with varying start and len args
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [,int start [,int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+                If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+/*
+* Testing strcspn() : with varying start and len arguments
+*/
+
+echo "*** Testing strcspn() : with different start and len values ***\n";
+
+// initialing required variables
+// initialing required variables
+$strings = array(
+                   "",
+                   '',
+                   "\n",
+                   '\n',
+                   "hello\tworld\nhello\nworld\n",
+                   "1234hello45world\t123",
+                   "hello\0world\012",
+                   chr(0).chr(0),
+                   chr(0)."hello\0world".chr(0),
+                   "hello".chr(0)."world",
+                   "hello\0\100\xaworld",
+                   );
+
+// defining array of mask strings
+$mask_array = array(
+                    "",
+                    '',
+                    "\n\trsti \l",
+                    "\t",
+                    "t\ ",
+                    "\t\i\100\xa"
+                   );
+
+//defining array of start values
+$start_array = array(
+                   0,
+                   1,
+                   2,
+                   -1,
+                   2147483647,  // max positive integer
+                   -2147483648  // min negative integer
+                   );
+               
+//defining array of len values
+$len_array = array(
+                   0,
+                   1,
+                   2,
+                   -1,
+                   2147483647,  // max positive integer
+                   -2147483648  // min negative integer
+                   );
+               
+
+// loop through each element of the arrays for str,mask,start and len arguments
+
+$count = 1;
+foreach($strings as $str) {
+  echo "\n-- Iteration $count --\n";
+  foreach($mask_array as $mask) {
+    foreach($start_array as $start) {
+      foreach($len_array as $len) {
+        var_dump( strcspn($str,$mask,$start,$len) );
+      }
+    }
+  }
+  $count++;
+}
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : with different start and len values ***
+
+-- Iteration 1 --
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+
+-- Iteration 2 --
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+
+-- Iteration 3 --
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+
+-- Iteration 4 --
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+
+-- Iteration 5 --
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(22)
+int(23)
+int(0)
+int(0)
+int(1)
+int(2)
+int(21)
+int(22)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(22)
+int(23)
+int(0)
+int(0)
+int(1)
+int(2)
+int(21)
+int(22)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(1)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(22)
+int(23)
+int(0)
+int(0)
+int(1)
+int(2)
+int(21)
+int(22)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+
+-- Iteration 6 --
+int(0)
+int(1)
+int(2)
+int(19)
+int(20)
+int(0)
+int(0)
+int(1)
+int(2)
+int(18)
+int(19)
+int(0)
+int(0)
+int(1)
+int(2)
+int(17)
+int(18)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(19)
+int(20)
+int(0)
+int(0)
+int(1)
+int(2)
+int(19)
+int(20)
+int(0)
+int(0)
+int(1)
+int(2)
+int(18)
+int(19)
+int(0)
+int(0)
+int(1)
+int(2)
+int(17)
+int(18)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(19)
+int(20)
+int(0)
+int(0)
+int(1)
+int(2)
+int(6)
+int(6)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(6)
+int(6)
+int(0)
+int(0)
+int(1)
+int(2)
+int(16)
+int(16)
+int(0)
+int(0)
+int(1)
+int(2)
+int(15)
+int(15)
+int(0)
+int(0)
+int(1)
+int(2)
+int(14)
+int(14)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(16)
+int(16)
+int(0)
+int(0)
+int(1)
+int(2)
+int(19)
+int(20)
+int(0)
+int(0)
+int(1)
+int(2)
+int(18)
+int(19)
+int(0)
+int(0)
+int(1)
+int(2)
+int(17)
+int(18)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(19)
+int(20)
+int(0)
+int(0)
+int(1)
+int(2)
+int(16)
+int(16)
+int(0)
+int(0)
+int(1)
+int(2)
+int(15)
+int(15)
+int(0)
+int(0)
+int(1)
+int(2)
+int(14)
+int(14)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(16)
+int(16)
+int(0)
+
+-- Iteration 7 --
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(1)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(11)
+int(12)
+int(0)
+int(0)
+int(1)
+int(2)
+int(10)
+int(11)
+int(0)
+int(0)
+int(1)
+int(2)
+int(9)
+int(10)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(11)
+int(12)
+int(0)
+int(0)
+int(1)
+int(2)
+int(11)
+int(12)
+int(0)
+int(0)
+int(1)
+int(2)
+int(10)
+int(11)
+int(0)
+int(0)
+int(1)
+int(2)
+int(9)
+int(10)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(11)
+int(12)
+int(0)
+int(0)
+int(1)
+int(2)
+int(11)
+int(11)
+int(0)
+int(0)
+int(1)
+int(2)
+int(10)
+int(10)
+int(0)
+int(0)
+int(1)
+int(2)
+int(9)
+int(9)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(11)
+int(11)
+int(0)
+
+-- Iteration 8 --
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+
+-- Iteration 9 --
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(1)
+int(1)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(1)
+int(2)
+int(12)
+int(13)
+int(0)
+int(0)
+int(1)
+int(2)
+int(11)
+int(12)
+int(0)
+int(0)
+int(1)
+int(2)
+int(10)
+int(11)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(12)
+int(13)
+int(0)
+int(0)
+int(1)
+int(2)
+int(12)
+int(13)
+int(0)
+int(0)
+int(1)
+int(2)
+int(11)
+int(12)
+int(0)
+int(0)
+int(1)
+int(2)
+int(10)
+int(11)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(12)
+int(13)
+int(0)
+int(0)
+int(1)
+int(2)
+int(12)
+int(13)
+int(0)
+int(0)
+int(1)
+int(2)
+int(11)
+int(12)
+int(0)
+int(0)
+int(1)
+int(2)
+int(10)
+int(11)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(12)
+int(13)
+int(0)
+
+-- Iteration 10 --
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(1)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(10)
+int(11)
+int(0)
+int(0)
+int(1)
+int(2)
+int(9)
+int(10)
+int(0)
+int(0)
+int(1)
+int(2)
+int(8)
+int(9)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(10)
+int(11)
+int(0)
+int(0)
+int(1)
+int(2)
+int(10)
+int(11)
+int(0)
+int(0)
+int(1)
+int(2)
+int(9)
+int(10)
+int(0)
+int(0)
+int(1)
+int(2)
+int(8)
+int(9)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(10)
+int(11)
+int(0)
+int(0)
+int(1)
+int(2)
+int(10)
+int(11)
+int(0)
+int(0)
+int(1)
+int(2)
+int(9)
+int(10)
+int(0)
+int(0)
+int(1)
+int(2)
+int(8)
+int(9)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(10)
+int(11)
+int(0)
+
+-- Iteration 11 --
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(1)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(12)
+int(13)
+int(0)
+int(0)
+int(1)
+int(2)
+int(11)
+int(12)
+int(0)
+int(0)
+int(1)
+int(2)
+int(10)
+int(11)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(12)
+int(13)
+int(0)
+int(0)
+int(1)
+int(2)
+int(12)
+int(13)
+int(0)
+int(0)
+int(1)
+int(2)
+int(11)
+int(12)
+int(0)
+int(0)
+int(1)
+int(2)
+int(10)
+int(11)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(12)
+int(13)
+int(0)
+int(0)
+int(1)
+int(2)
+int(6)
+int(6)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(6)
+int(6)
+int(0)
+Done
\ No newline at end of file
diff --git a/ext/standard/tests/strings/strcspn_variation2.phpt b/ext/standard/tests/strings/strcspn_variation2.phpt
new file mode 100644 (file)
index 0000000..df79e9a
--- /dev/null
@@ -0,0 +1,274 @@
+--TEST--
+Test strcspn() function : usage variations - unexpected values for mask argument
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [, int start [, int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+               If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+/*
+* Testing strcspn() : with different unexpected values for mask argument
+*/
+
+echo "*** Testing strcspn() : with diferent unexpected values of mask argument ***\n";
+
+$str = 'string_val';
+$start = 1;
+$len = 10;
+
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// declaring class
+class sample  {
+  public function __toString() {
+    return "object";
+  }
+}
+
+// creating a file resource
+$file_handle = fopen(__FILE__, 'r');
+
+
+//array of values to iterate over
+$values = array(
+
+      // int data
+      0,
+      1,
+      12345,
+      -2345,
+
+      // float data
+      10.5,
+      -10.5,
+      10.5e10,
+      10.6E-10,
+      .5,
+
+      // array data
+      array(),
+      array(0),
+      array(1),
+      array(1, 2),
+      array('color' => 'red', 'item' => 'pen'),
+
+      // null data
+      NULL,
+      null,
+
+      // boolean data
+      true,
+      false,
+      TRUE,
+      FALSE,
+
+      // empty data
+      "",
+      '',
+
+      // object data
+      new sample(),
+
+      // undefined data
+      $undefined_var,
+
+      // unset data
+      $unset_var,
+
+      // resource
+      $file_handle
+);
+
+// loop through each element of the array for mask
+
+foreach($values as $value) {
+      echo "\n-- Iteration with mask value as \"$value\" -- \n";
+      var_dump( strcspn($str,$value) );  // with defalut args
+      var_dump( strcspn($str,$value,$start) );  // with default len value
+      var_dump( strcspn($str,$value,$start,$len) );  // with all args
+};
+
+// close the resource
+fclose($file_handle);
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : with diferent unexpected values of mask argument ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+-- Iteration with mask value as "0" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "1" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "12345" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "-2345" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "10.5" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "-10.5" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "105000000000" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "1.06E-9" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "0.5" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "Array" -- 
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with mask value as "Array" -- 
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with mask value as "Array" -- 
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with mask value as "Array" -- 
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with mask value as "Array" -- 
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with mask value as "" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "1" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "1" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "object" -- 
+int(1)
+int(0)
+int(0)
+
+-- Iteration with mask value as "" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "" -- 
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "Resource id #%d" -- 
+
+Warning: strcspn() expects parameter 2 to be string, resource given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, resource given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, resource given in %s on line %d
+NULL
+Done
diff --git a/ext/standard/tests/strings/strcspn_variation3.phpt b/ext/standard/tests/strings/strcspn_variation3.phpt
new file mode 100644 (file)
index 0000000..869f465
--- /dev/null
@@ -0,0 +1,245 @@
+--TEST--
+Test strcspn() function : usage variations - unexpected values of start argument
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [,int start [,int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+                If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+/*
+* Testing strcspn() : with unexpected values of start argument
+*/
+
+echo "*** Testing strcspn() : with unexpected values of start argument ***\n";
+
+// initialing required variables
+$str = 'string_val';
+$mask = 'soibtFTf1234567890';
+$len = 10;
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// declaring class
+class sample  {
+  public function __toString() {
+    return "object";
+  }
+}
+
+// creating a file resource
+$file_handle = fopen(__FILE__, 'r');
+
+
+//array of values to iterate over
+$values = array(
+
+      // float data
+      10.5,
+      -10.5,
+      10.5e10,
+      10.6E-10,
+      .5,
+
+      // array data
+      array(),
+      array(0),
+      array(1),
+      array(1, 2),
+      array('color' => 'red', 'item' => 'pen'),
+
+      // null data
+      NULL,
+      null,
+
+      // boolean data
+      true,
+      false,
+      TRUE,
+      FALSE,
+
+      // empty data
+      "",
+      '',
+
+      // string data
+      "string",
+      'string',
+
+      // object data
+      new sample(),
+
+      // undefined data
+      $undefined_var,
+
+      // unset data
+      $unset_var,
+
+      // resource
+      $file_handle
+);
+
+// loop through each element of the array for start
+
+foreach($values as $value) {
+      echo "\n-- Iteration with start value as \"$value\" --\n";
+      var_dump( strcspn($str,$mask,$value) );  // with default len value
+      var_dump( strcspn($str,$mask,$value,$len) );  // with all args
+};
+
+// closing the resource
+fclose($file_handle);
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : with unexpected values of start argument ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+-- Iteration with start value as "10.5" --
+int(0)
+int(0)
+
+-- Iteration with start value as "-10.5" --
+int(0)
+int(0)
+
+-- Iteration with start value as "105000000000" --
+bool(false)
+bool(false)
+
+-- Iteration with start value as "1.06E-9" --
+int(0)
+int(0)
+
+-- Iteration with start value as "0.5" --
+int(0)
+int(0)
+
+-- Iteration with start value as "Array" --
+
+Warning: strcspn() expects parameter 3 to be long, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 3 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with start value as "Array" --
+
+Warning: strcspn() expects parameter 3 to be long, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 3 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with start value as "Array" --
+
+Warning: strcspn() expects parameter 3 to be long, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 3 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with start value as "Array" --
+
+Warning: strcspn() expects parameter 3 to be long, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 3 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with start value as "Array" --
+
+Warning: strcspn() expects parameter 3 to be long, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 3 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with start value as "" --
+int(0)
+int(0)
+
+-- Iteration with start value as "" --
+int(0)
+int(0)
+
+-- Iteration with start value as "1" --
+int(0)
+int(0)
+
+-- Iteration with start value as "" --
+int(0)
+int(0)
+
+-- Iteration with start value as "1" --
+int(0)
+int(0)
+
+-- Iteration with start value as "" --
+int(0)
+int(0)
+
+-- Iteration with start value as "" --
+
+Warning: strcspn() expects parameter 3 to be long, string given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 3 to be long, string given in %s on line %d
+NULL
+
+-- Iteration with start value as "" --
+
+Warning: strcspn() expects parameter 3 to be long, string given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 3 to be long, string given in %s on line %d
+NULL
+
+-- Iteration with start value as "string" --
+
+Warning: strcspn() expects parameter 3 to be long, string given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 3 to be long, string given in %s on line %d
+NULL
+
+-- Iteration with start value as "string" --
+
+Warning: strcspn() expects parameter 3 to be long, string given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 3 to be long, string given in %s on line %d
+NULL
+
+-- Iteration with start value as "object" --
+
+Warning: strcspn() expects parameter 3 to be long, object given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 3 to be long, object given in %s on line %d
+NULL
+
+-- Iteration with start value as "" --
+int(0)
+int(0)
+
+-- Iteration with start value as "" --
+int(0)
+int(0)
+
+-- Iteration with start value as "Resource id #%d" --
+
+Warning: strcspn() expects parameter 3 to be long, resource given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 3 to be long, resource given in %s on line %d
+NULL
+Done
diff --git a/ext/standard/tests/strings/strcspn_variation4.phpt b/ext/standard/tests/strings/strcspn_variation4.phpt
new file mode 100644 (file)
index 0000000..6ea4821
--- /dev/null
@@ -0,0 +1,198 @@
+--TEST--
+Test strcspn() function : usage variations - unexpected values of len argument
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [, int start [, int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+                If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+/*
+* Testing strcspn() : with unexpected values of len argument
+*/
+
+echo "*** Testing strcspn() : with unexpected values of len argument ***\n";
+
+// initialing required variables
+$str = 'string_val';
+$mask = 'soibtFTf1234567890';
+$start = 0;
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// declaring class
+class sample  {
+  public function __toString() {
+    return "object";
+  }
+}
+
+// creating a file resource
+$file_handle = fopen(__FILE__, 'r');
+
+
+//array of values to iterate over
+$values = array(
+
+      // float data
+      10.5,
+      -10.5,
+      10.5e10,
+      10.6E-10,
+      .5,
+
+      // array data
+      array(),
+      array(0),
+      array(1),
+      array(1, 2),
+      array('color' => 'red', 'item' => 'pen'),
+
+      // null data
+      NULL,
+      null,
+
+      // boolean data
+      true,
+      false,
+      TRUE,
+      FALSE,
+
+      // empty data
+      "",
+      '',
+
+      // string data
+      "string",
+      'string',
+
+      // object data
+      new sample(),
+
+      // undefined data
+      $undefined_var,
+
+      // unset data
+      $unset_var,
+
+      // resource
+      $file_handle
+);
+
+// loop through each element of the array for start
+
+foreach($values as $value) {
+      echo "\n-- Iteration with len value as \"$value\" --\n";
+      var_dump( strcspn($str,$mask,$start,$value) );  // with all args
+};
+
+// closing the resource
+fclose($file_handle);
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : with unexpected values of len argument ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+-- Iteration with len value as "10.5" --
+int(0)
+
+-- Iteration with len value as "-10.5" --
+int(0)
+
+-- Iteration with len value as "105000000000" --
+int(0)
+
+-- Iteration with len value as "1.06E-9" --
+int(0)
+
+-- Iteration with len value as "0.5" --
+int(0)
+
+-- Iteration with len value as "Array" --
+
+Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with len value as "Array" --
+
+Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with len value as "Array" --
+
+Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with len value as "Array" --
+
+Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with len value as "Array" --
+
+Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with len value as "" --
+int(0)
+
+-- Iteration with len value as "" --
+int(0)
+
+-- Iteration with len value as "1" --
+int(0)
+
+-- Iteration with len value as "" --
+int(0)
+
+-- Iteration with len value as "1" --
+int(0)
+
+-- Iteration with len value as "" --
+int(0)
+
+-- Iteration with len value as "" --
+
+Warning: strcspn() expects parameter 4 to be long, string given in %s on line %d
+NULL
+
+-- Iteration with len value as "" --
+
+Warning: strcspn() expects parameter 4 to be long, string given in %s on line %d
+NULL
+
+-- Iteration with len value as "string" --
+
+Warning: strcspn() expects parameter 4 to be long, string given in %s on line %d
+NULL
+
+-- Iteration with len value as "string" --
+
+Warning: strcspn() expects parameter 4 to be long, string given in %s on line %d
+NULL
+
+-- Iteration with len value as "object" --
+
+Warning: strcspn() expects parameter 4 to be long, object given in %s on line %d
+NULL
+
+-- Iteration with len value as "" --
+int(0)
+
+-- Iteration with len value as "" --
+int(0)
+
+-- Iteration with len value as "Resource id #%d" --
+
+Warning: strcspn() expects parameter 4 to be long, resource given in %s on line %d
+NULL
+Done
diff --git a/ext/standard/tests/strings/strcspn_variation5.phpt b/ext/standard/tests/strings/strcspn_variation5.phpt
new file mode 100644 (file)
index 0000000..a3dfa51
Binary files /dev/null and b/ext/standard/tests/strings/strcspn_variation5.phpt differ
diff --git a/ext/standard/tests/strings/strcspn_variation6.phpt b/ext/standard/tests/strings/strcspn_variation6.phpt
new file mode 100644 (file)
index 0000000..92fa3d0
--- /dev/null
@@ -0,0 +1,177 @@
+--TEST--
+Test strcspn() function : usage variations - with heredoc strings, varying mask & default start and len args
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [,int start [,int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+                If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+/*
+* Testing strcspn() : with heredoc string, varying mask and default start and len arguments
+*/
+
+echo "*** Testing strcspn() : with different mask strings ***\n";
+
+// initialing required variables
+// defining different heredoc strings
+$empty_heredoc = <<<EOT
+EOT;
+
+$heredoc_with_newline = <<<EOT
+\n
+
+EOT;
+
+$heredoc_with_characters = <<<EOT
+first line of heredoc string
+second line of heredoc string
+third line of heredocstring
+EOT;
+
+$heredoc_with_newline_and_tabs = <<<EOT
+hello\tworld\nhello\nworld\n
+EOT;
+
+$heredoc_with_alphanumerics = <<<EOT
+hello123world456
+1234hello\t1234
+EOT;
+
+$heredoc_with_embedded_nulls = <<<EOT
+hello\0world\0hello
+\0hello\0
+EOT;
+
+$heredoc_with_hexa_octal = <<<EOT
+hello\0\100\xaaworld\0hello
+\0hello\0
+EOT;
+
+$heredoc_strings = array(
+                   $empty_heredoc,
+                   $heredoc_with_newline,
+                   $heredoc_with_characters,
+                   $heredoc_with_newline_and_tabs,
+                   $heredoc_with_alphanumerics,
+                   $heredoc_with_embedded_nulls,
+                   $heredoc_with_hexa_octal
+                   );
+
+// defining array of mask strings
+$mask_array = array(
+                   "",
+                   '',
+                   "\n\trsti \l",
+                   '\n\trsti \l',
+                   "\t",
+                   "t\ ",
+                   '\t',
+                   "\t\ ",
+                   " \t",
+                    "\t\i\100\xaa"
+                   );
+               
+
+// loop through each element of the arrays for string and mask arguments
+
+$count = 1;
+foreach($heredoc_strings as $str) {
+  echo "\n-- Iteration $count --\n";
+  foreach($mask_array as $mask) {
+      var_dump( strcspn($str,$mask) ); // with default start and len value
+  }
+  $count++;
+}
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : with different mask strings ***
+
+-- Iteration 1 --
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+
+-- Iteration 2 --
+int(2)
+int(2)
+int(0)
+int(2)
+int(2)
+int(2)
+int(2)
+int(2)
+int(2)
+int(2)
+
+-- Iteration 3 --
+int(86)
+int(86)
+int(1)
+int(1)
+int(86)
+int(4)
+int(4)
+int(5)
+int(5)
+int(1)
+
+-- Iteration 4 --
+int(24)
+int(24)
+int(2)
+int(2)
+int(5)
+int(24)
+int(24)
+int(5)
+int(5)
+int(5)
+
+-- Iteration 5 --
+int(31)
+int(31)
+int(2)
+int(2)
+int(26)
+int(31)
+int(31)
+int(26)
+int(26)
+int(26)
+
+-- Iteration 6 --
+int(5)
+int(5)
+int(2)
+int(2)
+int(25)
+int(25)
+int(25)
+int(25)
+int(25)
+int(25)
+
+-- Iteration 7 --
+int(5)
+int(5)
+int(2)
+int(2)
+int(27)
+int(27)
+int(27)
+int(27)
+int(27)
+int(6)
+Done
diff --git a/ext/standard/tests/strings/strcspn_variation7.phpt b/ext/standard/tests/strings/strcspn_variation7.phpt
new file mode 100644 (file)
index 0000000..ae01f91
--- /dev/null
@@ -0,0 +1,612 @@
+--TEST--
+Test strcspn() function : usage variations - with heredoc strings, varying start and default len args
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [, int start [,int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+                If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+/*
+* Testing strcspn() : with heredoc string, varying start and default len arguments
+*/
+
+echo "*** Testing strcspn() : with different start values ***\n";
+
+// initialing required variables
+// defining different heredoc strings
+$empty_heredoc = <<<EOT
+EOT;
+
+$heredoc_with_newline = <<<EOT
+\n
+
+EOT;
+
+$heredoc_with_characters = <<<EOT
+first line of heredoc string
+second line of heredoc string
+third line of heredocstring
+EOT;
+
+$heredoc_with_newline_and_tabs = <<<EOT
+hello\tworld\nhello\nworld\n
+EOT;
+
+$heredoc_with_alphanumerics = <<<EOT
+hello123world456
+1234hello\t1234
+EOT;
+
+$heredoc_with_embedded_nulls = <<<EOT
+hello\0world\0hello
+\0hello\0
+EOT;
+
+$heredoc_with_hexa_octal = <<<EOT
+hello\0\100\xaaworld\0hello
+\0hello\0
+EOT;
+
+$heredoc_strings = array(
+                   $empty_heredoc,
+                   $heredoc_with_newline,
+                   $heredoc_with_characters,
+                   $heredoc_with_newline_and_tabs,
+                   $heredoc_with_alphanumerics,
+                   $heredoc_with_embedded_nulls,
+                  $heredoc_with_hexa_octal
+                  );
+
+
+// defining array of mask strings
+
+$mask_array = array(
+                   "",
+                   '',
+                   "\n\trsti \l",
+                   '\n\trsti \l',
+                   "\t",
+                   "t\ ",
+                   '\t',
+                   "\t\ ",
+                   " \t",
+                    "\t\i\100\xaa"
+                   );
+
+// definig array of start values
+$start_array = array(
+                   0,
+                   1,
+                   2,
+                   -1,
+                   -2,
+                   2147483647,  // max positive integer
+                   -2147483648,  // min negative integer
+                   );
+               
+
+// loop through each element of the arrays for str, mask and start arguments
+
+$count = 1;
+foreach($heredoc_strings as $str) {
+  echo "\n-- Iteration $count --\n";
+  foreach($mask_array as $mask) {
+    foreach($start_array as $start) {
+      var_dump( strcspn($str,$mask,$start) );  // with default len value
+    }
+  }
+  $count++;
+}
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : with different start values ***
+
+-- Iteration 1 --
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(0)
+bool(false)
+bool(false)
+int(0)
+int(0)
+bool(false)
+int(0)
+
+-- Iteration 2 --
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+int(0)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+
+-- Iteration 3 --
+int(86)
+int(85)
+int(84)
+int(1)
+int(2)
+bool(false)
+int(86)
+int(86)
+int(85)
+int(84)
+int(1)
+int(2)
+bool(false)
+int(86)
+int(1)
+int(0)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(1)
+int(1)
+int(0)
+int(0)
+int(1)
+int(0)
+bool(false)
+int(1)
+int(86)
+int(85)
+int(84)
+int(1)
+int(2)
+bool(false)
+int(86)
+int(4)
+int(3)
+int(2)
+int(1)
+int(2)
+bool(false)
+int(4)
+int(4)
+int(3)
+int(2)
+int(1)
+int(2)
+bool(false)
+int(4)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(1)
+int(0)
+int(5)
+int(1)
+int(2)
+bool(false)
+int(1)
+
+-- Iteration 4 --
+int(24)
+int(23)
+int(22)
+int(1)
+int(2)
+bool(false)
+int(24)
+int(24)
+int(23)
+int(22)
+int(1)
+int(2)
+bool(false)
+int(24)
+int(2)
+int(1)
+int(0)
+int(0)
+int(1)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(24)
+int(23)
+int(22)
+int(1)
+int(2)
+bool(false)
+int(24)
+int(24)
+int(23)
+int(22)
+int(1)
+int(2)
+bool(false)
+int(24)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(1)
+int(2)
+bool(false)
+int(5)
+
+-- Iteration 5 --
+int(31)
+int(30)
+int(29)
+int(1)
+int(2)
+bool(false)
+int(31)
+int(31)
+int(30)
+int(29)
+int(1)
+int(2)
+bool(false)
+int(31)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(26)
+int(25)
+int(24)
+int(1)
+int(2)
+bool(false)
+int(26)
+int(31)
+int(30)
+int(29)
+int(1)
+int(2)
+bool(false)
+int(31)
+int(31)
+int(30)
+int(29)
+int(1)
+int(2)
+bool(false)
+int(31)
+int(26)
+int(25)
+int(24)
+int(1)
+int(2)
+bool(false)
+int(26)
+int(26)
+int(25)
+int(24)
+int(1)
+int(2)
+bool(false)
+int(26)
+int(26)
+int(25)
+int(24)
+int(1)
+int(2)
+bool(false)
+int(26)
+
+-- Iteration 6 --
+int(5)
+int(4)
+int(3)
+int(0)
+int(1)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(0)
+int(1)
+bool(false)
+int(5)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(25)
+int(24)
+int(23)
+int(1)
+int(2)
+bool(false)
+int(25)
+int(25)
+int(24)
+int(23)
+int(1)
+int(2)
+bool(false)
+int(25)
+int(25)
+int(24)
+int(23)
+int(1)
+int(2)
+bool(false)
+int(25)
+int(25)
+int(24)
+int(23)
+int(1)
+int(2)
+bool(false)
+int(25)
+int(25)
+int(24)
+int(23)
+int(1)
+int(2)
+bool(false)
+int(25)
+int(25)
+int(24)
+int(23)
+int(1)
+int(2)
+bool(false)
+int(25)
+
+-- Iteration 7 --
+int(5)
+int(4)
+int(3)
+int(0)
+int(1)
+bool(false)
+int(5)
+int(5)
+int(4)
+int(3)
+int(0)
+int(1)
+bool(false)
+int(5)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(2)
+int(1)
+int(0)
+int(1)
+int(2)
+bool(false)
+int(2)
+int(27)
+int(26)
+int(25)
+int(1)
+int(2)
+bool(false)
+int(27)
+int(27)
+int(26)
+int(25)
+int(1)
+int(2)
+bool(false)
+int(27)
+int(27)
+int(26)
+int(25)
+int(1)
+int(2)
+bool(false)
+int(27)
+int(27)
+int(26)
+int(25)
+int(1)
+int(2)
+bool(false)
+int(27)
+int(27)
+int(26)
+int(25)
+int(1)
+int(2)
+bool(false)
+int(27)
+int(6)
+int(5)
+int(4)
+int(1)
+int(2)
+bool(false)
+int(6)
+Done
\ No newline at end of file
diff --git a/ext/standard/tests/strings/strcspn_variation8.phpt b/ext/standard/tests/strings/strcspn_variation8.phpt
new file mode 100644 (file)
index 0000000..6b662ec
--- /dev/null
@@ -0,0 +1,1892 @@
+--TEST--
+Test strcspn() function : usage variations - with heredoc strings, varying start and len args
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [, int start [, int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+                If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+/*
+* Testing strcspn() : with heredoc string, varying start and len arguments
+*/
+
+echo "*** Testing strcspn() : with different start and len values ***\n";
+
+// initialing required variables
+// defining different heredoc strings
+$empty_heredoc = <<<EOT
+EOT;
+
+$heredoc_with_newline = <<<EOT
+\n
+
+EOT;
+
+$heredoc_with_characters = <<<EOT
+first line of heredoc string
+second line of heredoc string
+third line of heredocstring
+EOT;
+
+$heredoc_with_newline_and_tabs = <<<EOT
+hello\tworld\nhello\nworld\n
+EOT;
+
+$heredoc_with_alphanumerics = <<<EOT
+hello123world456
+1234hello\t1234
+EOT;
+
+$heredoc_with_embedded_nulls = <<<EOT
+hello\0world\0hello
+\0hello\0
+EOT;
+
+$heredoc_with_hexa_octal = <<<EOT
+hello\0\100\xaaworld\0hello
+\0hello\0
+EOT;
+
+$heredoc_strings = array(
+                   $empty_heredoc,
+                   $heredoc_with_newline,
+                   $heredoc_with_characters,
+                   $heredoc_with_newline_and_tabs,
+                   $heredoc_with_alphanumerics,
+                   $heredoc_with_embedded_nulls,
+                  $heredoc_with_hexa_octal
+                  );
+
+// defining array of mask strings
+$mask_array = array(
+                   "",
+                   '',
+                   "\n\trsti \l",
+                   "\t",
+                   "t\ ",
+                   " \t",
+                    "\t\i\100\xaa"
+                   );
+
+// definig array of start values
+$start_array = array(
+                   0,
+                   1,
+                   2,
+                   -1,
+                   2147483647,  // max positive integer
+                   -2147483648,  // min negative integer
+                   );
+               
+// defining array of len values
+$len_array = array(
+                   0,
+                   1,
+                   2,
+                   -1,
+                   2147483647,  // max positive integer
+                   -2147483648,  // min negative integer
+                   );
+               
+
+// loop through each element of the arrays for all arguments
+
+$count = 1;
+foreach($heredoc_strings as $str) {
+  echo "\n-- Iteration $count --\n";
+  foreach($mask_array as $mask) {
+    foreach($start_array as $start) {
+      foreach($len_array as $len) {
+        var_dump( strcspn($str,$mask,$start,$len) ); 
+      }
+    }
+  }
+  $count++;
+}
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : with different start and len values ***
+
+-- Iteration 1 --
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+
+-- Iteration 2 --
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(1)
+int(2)
+int(0)
+
+-- Iteration 3 --
+int(0)
+int(1)
+int(2)
+int(85)
+int(86)
+int(0)
+int(0)
+int(1)
+int(2)
+int(84)
+int(85)
+int(0)
+int(0)
+int(1)
+int(2)
+int(83)
+int(84)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(85)
+int(86)
+int(0)
+int(0)
+int(1)
+int(2)
+int(85)
+int(86)
+int(0)
+int(0)
+int(1)
+int(2)
+int(84)
+int(85)
+int(0)
+int(0)
+int(1)
+int(2)
+int(83)
+int(84)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(85)
+int(86)
+int(0)
+int(0)
+int(1)
+int(1)
+int(1)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(1)
+int(1)
+int(1)
+int(0)
+int(0)
+int(1)
+int(2)
+int(85)
+int(86)
+int(0)
+int(0)
+int(1)
+int(2)
+int(84)
+int(85)
+int(0)
+int(0)
+int(1)
+int(2)
+int(83)
+int(84)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(85)
+int(86)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(1)
+int(1)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(1)
+int(1)
+int(1)
+int(0)
+
+-- Iteration 4 --
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(22)
+int(23)
+int(0)
+int(0)
+int(1)
+int(2)
+int(21)
+int(22)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(22)
+int(23)
+int(0)
+int(0)
+int(1)
+int(2)
+int(21)
+int(22)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(1)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(22)
+int(23)
+int(0)
+int(0)
+int(1)
+int(2)
+int(21)
+int(22)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+
+-- Iteration 5 --
+int(0)
+int(1)
+int(2)
+int(30)
+int(31)
+int(0)
+int(0)
+int(1)
+int(2)
+int(29)
+int(30)
+int(0)
+int(0)
+int(1)
+int(2)
+int(28)
+int(29)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(30)
+int(31)
+int(0)
+int(0)
+int(1)
+int(2)
+int(30)
+int(31)
+int(0)
+int(0)
+int(1)
+int(2)
+int(29)
+int(30)
+int(0)
+int(0)
+int(1)
+int(2)
+int(28)
+int(29)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(30)
+int(31)
+int(0)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(1)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(26)
+int(26)
+int(0)
+int(0)
+int(1)
+int(2)
+int(25)
+int(25)
+int(0)
+int(0)
+int(1)
+int(2)
+int(24)
+int(24)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(26)
+int(26)
+int(0)
+int(0)
+int(1)
+int(2)
+int(30)
+int(31)
+int(0)
+int(0)
+int(1)
+int(2)
+int(29)
+int(30)
+int(0)
+int(0)
+int(1)
+int(2)
+int(28)
+int(29)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(30)
+int(31)
+int(0)
+int(0)
+int(1)
+int(2)
+int(26)
+int(26)
+int(0)
+int(0)
+int(1)
+int(2)
+int(25)
+int(25)
+int(0)
+int(0)
+int(1)
+int(2)
+int(24)
+int(24)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(26)
+int(26)
+int(0)
+int(0)
+int(1)
+int(2)
+int(26)
+int(26)
+int(0)
+int(0)
+int(1)
+int(2)
+int(25)
+int(25)
+int(0)
+int(0)
+int(1)
+int(2)
+int(24)
+int(24)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(26)
+int(26)
+int(0)
+
+-- Iteration 6 --
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(1)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(24)
+int(25)
+int(0)
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(22)
+int(23)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(24)
+int(25)
+int(0)
+int(0)
+int(1)
+int(2)
+int(24)
+int(25)
+int(0)
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(22)
+int(23)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(24)
+int(25)
+int(0)
+int(0)
+int(1)
+int(2)
+int(24)
+int(25)
+int(0)
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(22)
+int(23)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(24)
+int(25)
+int(0)
+int(0)
+int(1)
+int(2)
+int(24)
+int(25)
+int(0)
+int(0)
+int(1)
+int(2)
+int(23)
+int(24)
+int(0)
+int(0)
+int(1)
+int(2)
+int(22)
+int(23)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(24)
+int(25)
+int(0)
+
+-- Iteration 7 --
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(2)
+int(3)
+int(3)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(1)
+int(1)
+int(1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(2)
+int(2)
+int(0)
+int(0)
+int(1)
+int(2)
+int(26)
+int(27)
+int(0)
+int(0)
+int(1)
+int(2)
+int(25)
+int(26)
+int(0)
+int(0)
+int(1)
+int(2)
+int(24)
+int(25)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(26)
+int(27)
+int(0)
+int(0)
+int(1)
+int(2)
+int(26)
+int(27)
+int(0)
+int(0)
+int(1)
+int(2)
+int(25)
+int(26)
+int(0)
+int(0)
+int(1)
+int(2)
+int(24)
+int(25)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(26)
+int(27)
+int(0)
+int(0)
+int(1)
+int(2)
+int(26)
+int(27)
+int(0)
+int(0)
+int(1)
+int(2)
+int(25)
+int(26)
+int(0)
+int(0)
+int(1)
+int(2)
+int(24)
+int(25)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(26)
+int(27)
+int(0)
+int(0)
+int(1)
+int(2)
+int(6)
+int(6)
+int(0)
+int(0)
+int(1)
+int(2)
+int(5)
+int(5)
+int(0)
+int(0)
+int(1)
+int(2)
+int(4)
+int(4)
+int(0)
+int(0)
+int(1)
+int(1)
+int(0)
+int(1)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(0)
+int(1)
+int(2)
+int(6)
+int(6)
+int(0)
+Done
\ No newline at end of file
diff --git a/ext/standard/tests/strings/strcspn_variation9.phpt b/ext/standard/tests/strings/strcspn_variation9.phpt
new file mode 100644 (file)
index 0000000..e765084
Binary files /dev/null and b/ext/standard/tests/strings/strcspn_variation9.phpt differ