kraghuba                Fri Sep  7 14:22:56 2007 UTC

  Modified files:              
    /php-src/ext/standard/tests/strings strncmp_basic.phpt 
                                        strncmp_variation1.phpt 
                                        strncmp_variation2.phpt 
                                        strncmp_variation3.phpt 
                                        strncmp_variation4.phpt 
                                        strncmp_variation5.phpt 
                                        strncmp_error.phpt 
                                        strncmp_variation6.phpt 
                                        strncmp_variation7.phpt 
                                        strncmp_variation8.phpt 
                                        strncmp_variation9.phpt 
  Log:
  New testcases for strncmp() function
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strncmp_basic.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/strncmp_basic.phpt
diff -u /dev/null php-src/ext/standard/tests/strings/strncmp_basic.phpt:1.2
--- /dev/null   Fri Sep  7 14:22:56 2007
+++ php-src/ext/standard/tests/strings/strncmp_basic.phpt       Fri Sep  7 
14:22:56 2007
@@ -0,0 +1,29 @@
+--TEST--
+Test strncmp() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : int strncmp ( string $str1, string $str2, int $len );
+ * Description: Binary safe case-sensitive string comparison of the first n 
characters
+ * Source code: Zend/zend_builtin_functions.c
+*/
+
+/* Test strncmp() function with all three arguments */
+
+echo "*** Test strncmp() function: basic functionality ***\n";
+var_dump( strncmp("Hello", "Hello", 5) );  //expected: int(0)
+var_dump( strncmp("Hello", "Hi", 5) );  //expected: int(-1)
+var_dump( strncmp("Hi", "Hello", 5) );  //expected: int(1)
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Test strncmp() function: basic functionality ***
+int(0)
+int(-1)
+int(1)
+*** Done ***
+--UEXPECTF--
+*** Test strncmp() function: basic functionality ***
+int(0)
+int(-1)
+int(1)
+*** Done ***
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strncmp_variation1.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/strncmp_variation1.phpt
diff -u /dev/null php-src/ext/standard/tests/strings/strncmp_variation1.phpt:1.2
--- /dev/null   Fri Sep  7 14:22:56 2007
+++ php-src/ext/standard/tests/strings/strncmp_variation1.phpt  Fri Sep  7 
14:22:56 2007
@@ -0,0 +1,245 @@
+--TEST--
+Test strncmp() function: usage variations - different inputs(alphabet 
characters)
+--FILE--
+<?php
+/* Prototype  : int strncmp ( string $str1, string $str2, int $len );
+ * Description: Binary safe case-sensitive string comparison of the first n 
characters
+ * Source code: Zend/zend_builtin_functions.c
+*/
+
+/* Test strncmp() function with upper-case and lower-case alphabets as inputs 
for 'str1' and 'str2' */
+
+echo "*** Test strncmp() function: with chars ***\n";
+echo "-- Passing upper-case letters for 'str1' --\n";
+for($ASCII = 65; $ASCII <= 90; $ASCII++) {
+  var_dump( strncmp( chr($ASCII), chr($ASCII), 1 ) );  //comparing uppercase 
letters with uppercase letters; exp: int(0)
+  var_dump( strncmp( chr($ASCII), chr($ASCII + 32), 1 ) );  //comparing 
uppercase letters with lowercase letters; exp: int(-1)
+}
+
+echo "\n-- Passing lower-case letters for 'str1' --\n";
+for($ASCII = 97; $ASCII <= 122; $ASCII++) {
+  var_dump( strncmp( chr($ASCII), chr($ASCII), 1 ) );  //comparing lowercase 
letters with lowercase letters; exp: int(0)
+  var_dump( strncmp( chr($ASCII), chr($ASCII - 32), 1 ) );  //comparing 
lowercase letters with uppercase letters; exp: int(1)
+}
+echo "*** Done ***\n";
+?>
+--EXPECTF--    
+*** Test strncmp() function: with chars ***
+-- Passing upper-case letters for 'str1' --
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+
+-- Passing lower-case letters for 'str1' --
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+*** Done ***
+--UEXPECTF--   
+*** Test strncmp() function: with chars ***
+-- Passing upper-case letters for 'str1' --
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+int(0)
+int(-1)
+
+-- Passing lower-case letters for 'str1' --
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(1)
+*** Done ***
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strncmp_variation2.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/strncmp_variation2.phpt
diff -u /dev/null php-src/ext/standard/tests/strings/strncmp_variation2.phpt:1.2
--- /dev/null   Fri Sep  7 14:22:56 2007
+++ php-src/ext/standard/tests/strings/strncmp_variation2.phpt  Fri Sep  7 
14:22:56 2007
@@ -0,0 +1,96 @@
+--TEST--
+Test strncmp() function: usage variations - different inputs(double quoted 
strings)
+--FILE--
+<?php
+/* Prototype  : int strncmp ( string $str1, string $str2, int $len );
+ * Description: Binary safe case-sensitive string comparison of the first n 
characters
+ * Source code: Zend/zend_builtin_functions.c
+*/
+
+/* Test strncmp() function with different strings for 'str1', 'str2' and 
considering case sensitive */
+
+echo "*** Test strncmp() function: with different input strings ***\n";
+$strings = array(
+  "Hello, World",
+  b"hello, world",
+  "HELLO, WORLD",
+  "Hello, World\n",
+  "Hello".chr(0)."World"
+);
+/* loop through to compare each string with the other string */
+$count = 1;
+for($index1 = 0; $index1 < count($strings); $index1++) {
+  echo "-- Iteration $count --\n";
+  for($index2 = 0; $index2 < count($strings); $index2++) {
+    var_dump( strncmp( $strings[$index1], $strings[$index2], 
(strlen($strings[$index1]) + 1) ) );
+  }
+  $count ++;
+}
+echo "*** Done ***\n";
+?>
+--EXPECTF--
+*** Test strncmp() function: with different input strings ***
+-- Iteration 1 --
+int(0)
+int(-1)
+int(1)
+int(-1)
+int(1)
+-- Iteration 2 --
+int(1)
+int(0)
+int(1)
+int(1)
+int(1)
+-- Iteration 3 --
+int(-1)
+int(-1)
+int(0)
+int(-1)
+int(-1)
+-- Iteration 4 --
+int(1)
+int(-1)
+int(1)
+int(0)
+int(1)
+-- Iteration 5 --
+int(-1)
+int(-1)
+int(1)
+int(-1)
+int(0)
+*** Done ***
+--UEXPECTF--
+*** Test strncmp() function: with different input strings ***
+-- Iteration 1 --
+int(0)
+int(-1)
+int(1)
+int(-1)
+int(1)
+-- Iteration 2 --
+int(1)
+int(0)
+int(1)
+int(1)
+int(1)
+-- Iteration 3 --
+int(-1)
+int(-1)
+int(0)
+int(-1)
+int(-1)
+-- Iteration 4 --
+int(1)
+int(-1)
+int(1)
+int(0)
+int(1)
+-- Iteration 5 --
+int(-1)
+int(-1)
+int(1)
+int(-1)
+int(0)
+*** Done ***
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strncmp_variation3.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/strncmp_variation3.phpt
diff -u /dev/null php-src/ext/standard/tests/strings/strncmp_variation3.phpt:1.2
--- /dev/null   Fri Sep  7 14:22:56 2007
+++ php-src/ext/standard/tests/strings/strncmp_variation3.phpt  Fri Sep  7 
14:22:56 2007
@@ -0,0 +1,56 @@
+--TEST--
+Test strncmp() function: usage variations - different lengths
+--FILE--
+<?php
+/* Prototype  : int strncmp ( string $str1, string $str2, int $len );
+ * Description: Binary safe case-sensitive string comparison of the first n 
characters
+ * Source code: Zend/zend_builtin_functions.c
+*/
+
+/* Test strncmp() with various nteger length values including zero and 
considering case sensitive */
+
+echo "*** Test strncmp() function: with different lengths ***\n";
+/* definitions of required variables */
+$str1 = "Hello, World\n";
+$str2 = "Hello, world\n";
+
+/* loop through to compare the strings, for various length values */
+for($len = strlen($str1); $len >= 0; $len--) {
+  var_dump( strncmp($str1, $str2, $len) );
+}
+echo "*** Done ***\n";
+?>
+--EXPECTF--    
+*** Test strncmp() function: with different lengths ***
+int(-1)
+int(-1)
+int(-1)
+int(-1)
+int(-1)
+int(-1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+*** Done ***
+--UEXPECTF--   
+*** Test strncmp() function: with different lengths ***
+int(-1)
+int(-1)
+int(-1)
+int(-1)
+int(-1)
+int(-1)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+int(0)
+*** Done ***
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strncmp_variation4.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/strncmp_variation4.phpt
diff -u /dev/null php-src/ext/standard/tests/strings/strncmp_variation4.phpt:1.2
--- /dev/null   Fri Sep  7 14:22:56 2007
+++ php-src/ext/standard/tests/strings/strncmp_variation4.phpt  Fri Sep  7 
14:22:56 2007
@@ -0,0 +1,281 @@
+--TEST--
+Test strncmp() function : usage variations - different inputs(all types)
+--FILE--
+<?php
+/* Prototype  : int strncmp ( string $str1, string $str2, int $len );
+ * Description: Binary safe case-sensitive string comparison of the first n 
characters
+ * Source code: Zend/zend_builtin_functions.c
+*/
+
+/* Test strncmp() function with the input strings are of all types */
+
+echo "*** Testing strncmp() function: by supplying all types for 'str1' and 
'str2' ***\n";
+/* get an unset variable */
+$unset_var = 'string_val';
+unset($unset_var);
+
+/* get resource handle */
+$file_handle = fopen(__FILE__, "r");
+
+/* declaring a class */
+class sample  {
+  public function __toString() {
+  return "object";
+  }
+}
+
+
+/* array with different values */
+$values =  array (
+  /* integer values */
+  0,
+  1,
+  12345,
+  -2345,
+ 
+  /* float values */
+  10.5,
+  -10.5,
+  10.5e10,
+  10.6E-10,
+  .5,
+
+  /* hexadecimal values */
+  0x12,
+  -0x12,
+  
+  /* octal values */
+  012,
+  -012,
+  01.2,
+
+  /* array values */
+  array(),
+  array(0),
+  array(1),
+  array(1, 2),
+  array('color' => 'red', 'item' => 'pen'),
+
+  /* boolean values */
+  true,
+  false,
+  TRUE,
+  FALSE,
+
+  /* nulls */
+  NULL,
+  null,
+
+  /* empty string */
+  "",
+  '',
+
+  /* undefined variable */
+  $undefined_var,
+
+  /* unset variable */
+  $unset_var,
+
+  /* resource */
+  $file_handle,  
+
+  /* object */
+  new sample()
+);
+
+/* loop through each element of the array and check the working of strncmp() */
+$counter = 1;
+for($index = 0; $index < count($values); $index ++) {
+  echo "-- Iteration $counter --\n";
+  $str1 = $values[$index];
+  $str2 = $values[$index];
+  $len = strlen($values[$index]) + 1;
+  var_dump( strncmp($str1, $str2, $len) );
+  $counter ++;
+}
+fclose($file_handle);
+
+echo "*** Done ***\n";
+?>
+--EXPECTF--
+*** Testing strncmp() function: by supplying all types for 'str1' and 'str2' 
***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+-- Iteration 1 --
+int(0)
+-- Iteration 2 --
+int(0)
+-- Iteration 3 --
+int(0)
+-- Iteration 4 --
+int(0)
+-- Iteration 5 --
+int(0)
+-- Iteration 6 --
+int(0)
+-- Iteration 7 --
+int(0)
+-- Iteration 8 --
+int(0)
+-- Iteration 9 --
+int(0)
+-- Iteration 10 --
+int(0)
+-- Iteration 11 --
+int(0)
+-- Iteration 12 --
+int(0)
+-- Iteration 13 --
+int(0)
+-- Iteration 14 --
+int(0)
+-- Iteration 15 --
+
+Notice: Array to string conversion in %s on line %d
+
+Warning: strncmp() expects parameter 1 to be string (Unicode or binary), array 
given in %s on line %d
+NULL
+-- Iteration 16 --
+
+Notice: Array to string conversion in %s on line %d
+
+Warning: strncmp() expects parameter 1 to be string (Unicode or binary), array 
given in %s on line %d
+NULL
+-- Iteration 17 --
+
+Notice: Array to string conversion in %s on line %d
+
+Warning: strncmp() expects parameter 1 to be string (Unicode or binary), array 
given in %s on line %d
+NULL
+-- Iteration 18 --
+
+Notice: Array to string conversion in %s on line %d
+
+Warning: strncmp() expects parameter 1 to be string (Unicode or binary), array 
given in %s on line %d
+NULL
+-- Iteration 19 --
+
+Notice: Array to string conversion in %s on line %d
+
+Warning: strncmp() expects parameter 1 to be string (Unicode or binary), array 
given in %s on line %d
+NULL
+-- Iteration 20 --
+int(0)
+-- Iteration 21 --
+int(0)
+-- Iteration 22 --
+int(0)
+-- Iteration 23 --
+int(0)
+-- Iteration 24 --
+int(0)
+-- Iteration 25 --
+int(0)
+-- Iteration 26 --
+int(0)
+-- Iteration 27 --
+int(0)
+-- Iteration 28 --
+int(0)
+-- Iteration 29 --
+int(0)
+-- Iteration 30 --
+
+Warning: strncmp() expects parameter 1 to be string (Unicode or binary), 
resource given in %s on line %d
+NULL
+-- Iteration 31 --
+int(0)
+*** Done ***
+--UEXPECTF--
+*** Testing strncmp() function: by supplying all types for 'str1' and 'str2' 
***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+-- Iteration 1 --
+int(0)
+-- Iteration 2 --
+int(0)
+-- Iteration 3 --
+int(0)
+-- Iteration 4 --
+int(0)
+-- Iteration 5 --
+int(0)
+-- Iteration 6 --
+int(0)
+-- Iteration 7 --
+int(0)
+-- Iteration 8 --
+int(0)
+-- Iteration 9 --
+int(0)
+-- Iteration 10 --
+int(0)
+-- Iteration 11 --
+int(0)
+-- Iteration 12 --
+int(0)
+-- Iteration 13 --
+int(0)
+-- Iteration 14 --
+int(0)
+-- Iteration 15 --
+
+Notice: Array to string conversion in %s on line %d
+
+Warning: strncmp() expects parameter 1 to be string (Unicode or binary), array 
given in %s on line %d
+NULL
+-- Iteration 16 --
+
+Notice: Array to string conversion in %s on line %d
+
+Warning: strncmp() expects parameter 1 to be string (Unicode or binary), array 
given in %s on line %d
+NULL
+-- Iteration 17 --
+
+Notice: Array to string conversion in %s on line %d
+
+Warning: strncmp() expects parameter 1 to be string (Unicode or binary), array 
given in %s on line %d
+NULL
+-- Iteration 18 --
+
+Notice: Array to string conversion in %s on line %d
+
+Warning: strncmp() expects parameter 1 to be string (Unicode or binary), array 
given in %s on line %d
+NULL
+-- Iteration 19 --
+
+Notice: Array to string conversion in %s on line %d
+
+Warning: strncmp() expects parameter 1 to be string (Unicode or binary), array 
given in %s on line %d
+NULL
+-- Iteration 20 --
+int(0)
+-- Iteration 21 --
+int(0)
+-- Iteration 22 --
+int(0)
+-- Iteration 23 --
+int(0)
+-- Iteration 24 --
+int(0)
+-- Iteration 25 --
+int(0)
+-- Iteration 26 --
+int(0)
+-- Iteration 27 --
+int(0)
+-- Iteration 28 --
+int(0)
+-- Iteration 29 --
+int(0)
+-- Iteration 30 --
+
+Warning: strncmp() expects parameter 1 to be string (Unicode or binary), 
resource given in %s on line %d
+NULL
+-- Iteration 31 --
+int(0)
+*** Done ***
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strncmp_variation5.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/strncmp_variation5.phpt
diff -u /dev/null php-src/ext/standard/tests/strings/strncmp_variation5.phpt:1.2
--- /dev/null   Fri Sep  7 14:22:56 2007
+++ php-src/ext/standard/tests/strings/strncmp_variation5.phpt  Fri Sep  7 
14:22:56 2007
@@ -0,0 +1,256 @@
+--TEST--
+Test strncmp() function : usage variations - different lengths(all types)
+--FILE--
+<?php
+/* Prototype  : int strncmp ( string $str1, string $str2, int $len );
+ * Description: Binary safe case-sensitive string comparison of the first n 
characters
+ * Source code: Zend/zend_builtin_functions.c
+*/
+
+/* Test strncmp() function with the length as all types, and giving the same 
strings for 'str1' and 'str2' */
+
+echo "*** Test strncmp() function: by supplying all types for 'len' ***\n";
+
+/* definition of required variables */
+$str1 = "Hello, World\n";
+$str2 = "Hello, World\n";
+
+/* get an unset variable */
+$unset_var = 'string_val';
+unset($unset_var);
+
+/* get resource handle */
+$file_handle = fopen(__FILE__, "r");
+
+/* declaring a class */
+class sample  {
+  public function __toString() {
+  return "object";
+  }
+}
+
+
+/* array with different values */
+$lengths =  array (
+  /* integer values */
+  0,
+  1,
+  12345,
+
+  /* float values */
+  10.5,
+  10.5e10,
+  10.6E-10,
+  .5,
+
+  /* hexadecimal values */
+  0x12,
+
+  /* octal values */
+  012,
+  01.2,
+
+  /* array values */
+  array(),
+  array(0),
+  array(1),
+  array(1, 2),
+  array('color' => 'red', 'item' => 'pen'),
+
+  /* boolean values */
+  true,
+  false,
+  TRUE,
+  FALSE,
+
+  /* nulls */
+  NULL,
+  null,
+
+  /* empty string */
+  "",
+  '',
+
+  /* undefined variable */
+  $undefined_var,
+
+  /* unset variable */
+  $unset_var,
+
+  /* resource */
+  $file_handle,
+
+  /* object */
+  new sample()
+);
+
+/* loop through each element of the array and check the working of strncmp() */
+$counter = 1;
+for($index = 0; $index < count($lengths); $index ++) {
+  $len = $lengths[$index];
+  echo "-- Iteration $counter --\n";
+  var_dump( strncmp($str1, $str2, $len) );
+  $counter ++;
+}
+fclose($file_handle);
+
+echo "*** Done ***\n";
+?>
+--EXPECTF--
+*** Test strncmp() function: by supplying all types for 'len' ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+-- Iteration 1 --
+int(0)
+-- Iteration 2 --
+int(0)
+-- Iteration 3 --
+int(0)
+-- Iteration 4 --
+int(0)
+-- Iteration 5 --
+int(0)
+-- Iteration 6 --
+int(0)
+-- Iteration 7 --
+int(0)
+-- Iteration 8 --
+int(0)
+-- Iteration 9 --
+int(0)
+-- Iteration 10 --
+int(0)
+-- Iteration 11 --
+
+Warning: strncmp() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 12 --
+
+Warning: strncmp() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 13 --
+
+Warning: strncmp() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 14 --
+
+Warning: strncmp() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 15 --
+
+Warning: strncmp() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 16 --
+int(0)
+-- Iteration 17 --
+int(0)
+-- Iteration 18 --
+int(0)
+-- Iteration 19 --
+int(0)
+-- Iteration 20 --
+int(0)
+-- Iteration 21 --
+int(0)
+-- Iteration 22 --
+
+Warning: strncmp() expects parameter 3 to be long, string given in %s on line 
%d
+NULL
+-- Iteration 23 --
+
+Warning: strncmp() expects parameter 3 to be long, string given in %s on line 
%d
+NULL
+-- Iteration 24 --
+int(0)
+-- Iteration 25 --
+int(0)
+-- Iteration 26 --
+
+Warning: strncmp() expects parameter 3 to be long, resource given in %s on 
line %d
+NULL
+-- Iteration 27 --
+
+Warning: strncmp() expects parameter 3 to be long, object given in %s on line 
%d
+NULL
+*** Done ***
+--UEXPECTF--
+*** Test strncmp() function: by supplying all types for 'len' ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+-- Iteration 1 --
+int(0)
+-- Iteration 2 --
+int(0)
+-- Iteration 3 --
+int(0)
+-- Iteration 4 --
+int(0)
+-- Iteration 5 --
+int(0)
+-- Iteration 6 --
+int(0)
+-- Iteration 7 --
+int(0)
+-- Iteration 8 --
+int(0)
+-- Iteration 9 --
+int(0)
+-- Iteration 10 --
+int(0)
+-- Iteration 11 --
+
+Warning: strncmp() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 12 --
+
+Warning: strncmp() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 13 --
+
+Warning: strncmp() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 14 --
+
+Warning: strncmp() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 15 --
+
+Warning: strncmp() expects parameter 3 to be long, array given in %s on line %d
+NULL
+-- Iteration 16 --
+int(0)
+-- Iteration 17 --
+int(0)
+-- Iteration 18 --
+int(0)
+-- Iteration 19 --
+int(0)
+-- Iteration 20 --
+int(0)
+-- Iteration 21 --
+int(0)
+-- Iteration 22 --
+
+Warning: strncmp() expects parameter 3 to be long, Unicode string given in %s 
on line %d
+NULL
+-- Iteration 23 --
+
+Warning: strncmp() expects parameter 3 to be long, Unicode string given in %s 
on line %d
+NULL
+-- Iteration 24 --
+int(0)
+-- Iteration 25 --
+int(0)
+-- Iteration 26 --
+
+Warning: strncmp() expects parameter 3 to be long, resource given in %s on 
line %d
+NULL
+-- Iteration 27 --
+
+Warning: strncmp() expects parameter 3 to be long, object given in %s on line 
%d
+NULL
+*** Done ***
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strncmp_error.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/strncmp_error.phpt
diff -u /dev/null php-src/ext/standard/tests/strings/strncmp_error.phpt:1.2
--- /dev/null   Fri Sep  7 14:22:56 2007
+++ php-src/ext/standard/tests/strings/strncmp_error.phpt       Fri Sep  7 
14:22:56 2007
@@ -0,0 +1,63 @@
+--TEST--
+Test strncmp() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : int strncmp ( string $str1, string $str2, int $len );
+ * Description: Binary safe case-sensitive string comparison of the first n 
characters
+ * Source code: Zend/zend_builtin_functions.c
+*/
+
+/* Test strncmp() function with more/less number of args and invalid args */
+
+echo "*** Testing strncmp() function: error conditions ***\n";
+$str1 = 'string_val';
+$str2 = 'string_val';
+$len = 10;
+$extra_arg = 10;
+
+var_dump( strncmp() );  //Zero argument
+var_dump( strncmp($str1) );  //One argument, less than expected no. of args
+var_dump( strncmp($str1, $str2) );  //Two arguments, less than expected no. of 
args
+var_dump( strncmp($str1, $str2, $len, $extra_arg) );  //Four arguments, 
greater than expected no. of args
+
+/* Invalid argument for $len */
+$len = -10;
+var_dump( strncmp($str1, $str2, $len) );
+echo "*** Done ***\n";
+?>
+--EXPECTF--
+*** Testing strncmp() function: error conditions ***
+
+Warning: strncmp() expects exactly 3 parameters, 0 given in %s on line %d
+NULL
+
+Warning: strncmp() expects exactly 3 parameters, 1 given in %s on line %d
+NULL
+
+Warning: strncmp() expects exactly 3 parameters, 2 given in %s on line %d
+NULL
+
+Warning: strncmp() expects exactly 3 parameters, 4 given in %s on line %d
+NULL
+
+Warning: Length must be greater than or equal to 0 in %s on line %d
+bool(false)
+*** Done ***
+--UEXPECTF--
+*** Testing strncmp() function: error conditions ***
+
+Warning: strncmp() expects exactly 3 parameters, 0 given in %s on line %d
+NULL
+
+Warning: strncmp() expects exactly 3 parameters, 1 given in %s on line %d
+NULL
+
+Warning: strncmp() expects exactly 3 parameters, 2 given in %s on line %d
+NULL
+
+Warning: strncmp() expects exactly 3 parameters, 4 given in %s on line %d
+NULL
+
+Warning: Length must be greater than or equal to 0 in %s on line %d
+bool(false)
+*** Done ***
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strncmp_variation6.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/strncmp_variation6.phpt
diff -u /dev/null php-src/ext/standard/tests/strings/strncmp_variation6.phpt:1.2
--- /dev/null   Fri Sep  7 14:22:56 2007
+++ php-src/ext/standard/tests/strings/strncmp_variation6.phpt  Fri Sep  7 
14:22:56 2007
@@ -0,0 +1,1588 @@
+--TEST--
+Test strncmp() function : usage variations - binary safe(binary values) (fails 
on Unicode, Bug #42528)
+--FILE--
+<?php
+/* Prototype  : int strncmp ( string $str1, string $str2, int $len );
+ * Description: Binary safe case-sensitive string comparison of the first n 
characters
+ * Source code: Zend/zend_builtin_functions.c
+*/
+
+/* Test strncmp() function with binary values passed to 'str1' & 'str2' and 
with the null terminated strings */
+
+echo "*** Test strncmp() function: with binary inputs ***\n";
+
+echo "\n-- Checking with all 256 characters given, in binary format --\n";
+/* A binary function should work with all 256 characters that a 
character(8-bit) can take */
+/* loop through to get all 256 character's equivelent binary value, and check 
working of strncmp() */
+$count = 1;
+for($ASCII = 0; $ASCII <= 255; $ASCII++) {
+  $str1 = decbin($ASCII);  //ASCII value in binary form
+  $str2 = decbin( ord( chr($ASCII) ) );  //Getting equivelent ASCII value for 
the character in binary form
+  echo "-- Iteration $count --\n";
+  var_dump( strncmp($str1, $str2, 8) );  //comparing all the 8-bits; expected: 
int(0)
+  var_dump( strncmp($str1, $str2, 4) );  //comparing only 4-bits; expected: 
int(0)
+  $count++;
+}
+
+echo "\n-- Checking with out of character's range, given in binary format 
--\n";
+/* Checking with the out of range ASCII value(given in binary format) */ 
+$str1 = decbin(256);
+$str2 = decbin( ord( chr(256) ));
+var_dump( strncmp($str1, $str2, 8) );  //comparing all the 8-bits; expected: 
int(1)
+
+echo "\n*** Done ***\n";
+?>
+--EXPECTF--
+*** Test strncmp() function: with binary inputs ***
+
+-- Checking with all 256 characters given, in binary format --
+-- Iteration 1 --
+int(0)
+int(0)
+-- Iteration 2 --
+int(0)
+int(0)
+-- Iteration 3 --
+int(0)
+int(0)
+-- Iteration 4 --
+int(0)
+int(0)
+-- Iteration 5 --
+int(0)
+int(0)
+-- Iteration 6 --
+int(0)
+int(0)
+-- Iteration 7 --
+int(0)
+int(0)
+-- Iteration 8 --
+int(0)
+int(0)
+-- Iteration 9 --
+int(0)
+int(0)
+-- Iteration 10 --
+int(0)
+int(0)
+-- Iteration 11 --
+int(0)
+int(0)
+-- Iteration 12 --
+int(0)
+int(0)
+-- Iteration 13 --
+int(0)
+int(0)
+-- Iteration 14 --
+int(0)
+int(0)
+-- Iteration 15 --
+int(0)
+int(0)
+-- Iteration 16 --
+int(0)
+int(0)
+-- Iteration 17 --
+int(0)
+int(0)
+-- Iteration 18 --
+int(0)
+int(0)
+-- Iteration 19 --
+int(0)
+int(0)
+-- Iteration 20 --
+int(0)
+int(0)
+-- Iteration 21 --
+int(0)
+int(0)
+-- Iteration 22 --
+int(0)
+int(0)
+-- Iteration 23 --
+int(0)
+int(0)
+-- Iteration 24 --
+int(0)
+int(0)
+-- Iteration 25 --
+int(0)
+int(0)
+-- Iteration 26 --
+int(0)
+int(0)
+-- Iteration 27 --
+int(0)
+int(0)
+-- Iteration 28 --
+int(0)
+int(0)
+-- Iteration 29 --
+int(0)
+int(0)
+-- Iteration 30 --
+int(0)
+int(0)
+-- Iteration 31 --
+int(0)
+int(0)
+-- Iteration 32 --
+int(0)
+int(0)
+-- Iteration 33 --
+int(0)
+int(0)
+-- Iteration 34 --
+int(0)
+int(0)
+-- Iteration 35 --
+int(0)
+int(0)
+-- Iteration 36 --
+int(0)
+int(0)
+-- Iteration 37 --
+int(0)
+int(0)
+-- Iteration 38 --
+int(0)
+int(0)
+-- Iteration 39 --
+int(0)
+int(0)
+-- Iteration 40 --
+int(0)
+int(0)
+-- Iteration 41 --
+int(0)
+int(0)
+-- Iteration 42 --
+int(0)
+int(0)
+-- Iteration 43 --
+int(0)
+int(0)
+-- Iteration 44 --
+int(0)
+int(0)
+-- Iteration 45 --
+int(0)
+int(0)
+-- Iteration 46 --
+int(0)
+int(0)
+-- Iteration 47 --
+int(0)
+int(0)
+-- Iteration 48 --
+int(0)
+int(0)
+-- Iteration 49 --
+int(0)
+int(0)
+-- Iteration 50 --
+int(0)
+int(0)
+-- Iteration 51 --
+int(0)
+int(0)
+-- Iteration 52 --
+int(0)
+int(0)
+-- Iteration 53 --
+int(0)
+int(0)
+-- Iteration 54 --
+int(0)
+int(0)
+-- Iteration 55 --
+int(0)
+int(0)
+-- Iteration 56 --
+int(0)
+int(0)
+-- Iteration 57 --
+int(0)
+int(0)
+-- Iteration 58 --
+int(0)
+int(0)
+-- Iteration 59 --
+int(0)
+int(0)
+-- Iteration 60 --
+int(0)
+int(0)
+-- Iteration 61 --
+int(0)
+int(0)
+-- Iteration 62 --
+int(0)
+int(0)
+-- Iteration 63 --
+int(0)
+int(0)
+-- Iteration 64 --
+int(0)
+int(0)
+-- Iteration 65 --
+int(0)
+int(0)
+-- Iteration 66 --
+int(0)
+int(0)
+-- Iteration 67 --
+int(0)
+int(0)
+-- Iteration 68 --
+int(0)
+int(0)
+-- Iteration 69 --
+int(0)
+int(0)
+-- Iteration 70 --
+int(0)
+int(0)
+-- Iteration 71 --
+int(0)
+int(0)
+-- Iteration 72 --
+int(0)
+int(0)
+-- Iteration 73 --
+int(0)
+int(0)
+-- Iteration 74 --
+int(0)
+int(0)
+-- Iteration 75 --
+int(0)
+int(0)
+-- Iteration 76 --
+int(0)
+int(0)
+-- Iteration 77 --
+int(0)
+int(0)
+-- Iteration 78 --
+int(0)
+int(0)
+-- Iteration 79 --
+int(0)
+int(0)
+-- Iteration 80 --
+int(0)
+int(0)
+-- Iteration 81 --
+int(0)
+int(0)
+-- Iteration 82 --
+int(0)
+int(0)
+-- Iteration 83 --
+int(0)
+int(0)
+-- Iteration 84 --
+int(0)
+int(0)
+-- Iteration 85 --
+int(0)
+int(0)
+-- Iteration 86 --
+int(0)
+int(0)
+-- Iteration 87 --
+int(0)
+int(0)
+-- Iteration 88 --
+int(0)
+int(0)
+-- Iteration 89 --
+int(0)
+int(0)
+-- Iteration 90 --
+int(0)
+int(0)
+-- Iteration 91 --
+int(0)
+int(0)
+-- Iteration 92 --
+int(0)
+int(0)
+-- Iteration 93 --
+int(0)
+int(0)
+-- Iteration 94 --
+int(0)
+int(0)
+-- Iteration 95 --
+int(0)
+int(0)
+-- Iteration 96 --
+int(0)
+int(0)
+-- Iteration 97 --
+int(0)
+int(0)
+-- Iteration 98 --
+int(0)
+int(0)
+-- Iteration 99 --
+int(0)
+int(0)
+-- Iteration 100 --
+int(0)
+int(0)
+-- Iteration 101 --
+int(0)
+int(0)
+-- Iteration 102 --
+int(0)
+int(0)
+-- Iteration 103 --
+int(0)
+int(0)
+-- Iteration 104 --
+int(0)
+int(0)
+-- Iteration 105 --
+int(0)
+int(0)
+-- Iteration 106 --
+int(0)
+int(0)
+-- Iteration 107 --
+int(0)
+int(0)
+-- Iteration 108 --
+int(0)
+int(0)
+-- Iteration 109 --
+int(0)
+int(0)
+-- Iteration 110 --
+int(0)
+int(0)
+-- Iteration 111 --
+int(0)
+int(0)
+-- Iteration 112 --
+int(0)
+int(0)
+-- Iteration 113 --
+int(0)
+int(0)
+-- Iteration 114 --
+int(0)
+int(0)
+-- Iteration 115 --
+int(0)
+int(0)
+-- Iteration 116 --
+int(0)
+int(0)
+-- Iteration 117 --
+int(0)
+int(0)
+-- Iteration 118 --
+int(0)
+int(0)
+-- Iteration 119 --
+int(0)
+int(0)
+-- Iteration 120 --
+int(0)
+int(0)
+-- Iteration 121 --
+int(0)
+int(0)
+-- Iteration 122 --
+int(0)
+int(0)
+-- Iteration 123 --
+int(0)
+int(0)
+-- Iteration 124 --
+int(0)
+int(0)
+-- Iteration 125 --
+int(0)
+int(0)
+-- Iteration 126 --
+int(0)
+int(0)
+-- Iteration 127 --
+int(0)
+int(0)
+-- Iteration 128 --
+int(0)
+int(0)
+-- Iteration 129 --
+int(0)
+int(0)
+-- Iteration 130 --
+int(0)
+int(0)
+-- Iteration 131 --
+int(0)
+int(0)
+-- Iteration 132 --
+int(0)
+int(0)
+-- Iteration 133 --
+int(0)
+int(0)
+-- Iteration 134 --
+int(0)
+int(0)
+-- Iteration 135 --
+int(0)
+int(0)
+-- Iteration 136 --
+int(0)
+int(0)
+-- Iteration 137 --
+int(0)
+int(0)
+-- Iteration 138 --
+int(0)
+int(0)
+-- Iteration 139 --
+int(0)
+int(0)
+-- Iteration 140 --
+int(0)
+int(0)
+-- Iteration 141 --
+int(0)
+int(0)
+-- Iteration 142 --
+int(0)
+int(0)
+-- Iteration 143 --
+int(0)
+int(0)
+-- Iteration 144 --
+int(0)
+int(0)
+-- Iteration 145 --
+int(0)
+int(0)
+-- Iteration 146 --
+int(0)
+int(0)
+-- Iteration 147 --
+int(0)
+int(0)
+-- Iteration 148 --
+int(0)
+int(0)
+-- Iteration 149 --
+int(0)
+int(0)
+-- Iteration 150 --
+int(0)
+int(0)
+-- Iteration 151 --
+int(0)
+int(0)
+-- Iteration 152 --
+int(0)
+int(0)
+-- Iteration 153 --
+int(0)
+int(0)
+-- Iteration 154 --
+int(0)
+int(0)
+-- Iteration 155 --
+int(0)
+int(0)
+-- Iteration 156 --
+int(0)
+int(0)
+-- Iteration 157 --
+int(0)
+int(0)
+-- Iteration 158 --
+int(0)
+int(0)
+-- Iteration 159 --
+int(0)
+int(0)
+-- Iteration 160 --
+int(0)
+int(0)
+-- Iteration 161 --
+int(0)
+int(0)
+-- Iteration 162 --
+int(0)
+int(0)
+-- Iteration 163 --
+int(0)
+int(0)
+-- Iteration 164 --
+int(0)
+int(0)
+-- Iteration 165 --
+int(0)
+int(0)
+-- Iteration 166 --
+int(0)
+int(0)
+-- Iteration 167 --
+int(0)
+int(0)
+-- Iteration 168 --
+int(0)
+int(0)
+-- Iteration 169 --
+int(0)
+int(0)
+-- Iteration 170 --
+int(0)
+int(0)
+-- Iteration 171 --
+int(0)
+int(0)
+-- Iteration 172 --
+int(0)
+int(0)
+-- Iteration 173 --
+int(0)
+int(0)
+-- Iteration 174 --
+int(0)
+int(0)
+-- Iteration 175 --
+int(0)
+int(0)
+-- Iteration 176 --
+int(0)
+int(0)
+-- Iteration 177 --
+int(0)
+int(0)
+-- Iteration 178 --
+int(0)
+int(0)
+-- Iteration 179 --
+int(0)
+int(0)
+-- Iteration 180 --
+int(0)
+int(0)
+-- Iteration 181 --
+int(0)
+int(0)
+-- Iteration 182 --
+int(0)
+int(0)
+-- Iteration 183 --
+int(0)
+int(0)
+-- Iteration 184 --
+int(0)
+int(0)
+-- Iteration 185 --
+int(0)
+int(0)
+-- Iteration 186 --
+int(0)
+int(0)
+-- Iteration 187 --
+int(0)
+int(0)
+-- Iteration 188 --
+int(0)
+int(0)
+-- Iteration 189 --
+int(0)
+int(0)
+-- Iteration 190 --
+int(0)
+int(0)
+-- Iteration 191 --
+int(0)
+int(0)
+-- Iteration 192 --
+int(0)
+int(0)
+-- Iteration 193 --
+int(0)
+int(0)
+-- Iteration 194 --
+int(0)
+int(0)
+-- Iteration 195 --
+int(0)
+int(0)
+-- Iteration 196 --
+int(0)
+int(0)
+-- Iteration 197 --
+int(0)
+int(0)
+-- Iteration 198 --
+int(0)
+int(0)
+-- Iteration 199 --
+int(0)
+int(0)
+-- Iteration 200 --
+int(0)
+int(0)
+-- Iteration 201 --
+int(0)
+int(0)
+-- Iteration 202 --
+int(0)
+int(0)
+-- Iteration 203 --
+int(0)
+int(0)
+-- Iteration 204 --
+int(0)
+int(0)
+-- Iteration 205 --
+int(0)
+int(0)
+-- Iteration 206 --
+int(0)
+int(0)
+-- Iteration 207 --
+int(0)
+int(0)
+-- Iteration 208 --
+int(0)
+int(0)
+-- Iteration 209 --
+int(0)
+int(0)
+-- Iteration 210 --
+int(0)
+int(0)
+-- Iteration 211 --
+int(0)
+int(0)
+-- Iteration 212 --
+int(0)
+int(0)
+-- Iteration 213 --
+int(0)
+int(0)
+-- Iteration 214 --
+int(0)
+int(0)
+-- Iteration 215 --
+int(0)
+int(0)
+-- Iteration 216 --
+int(0)
+int(0)
+-- Iteration 217 --
+int(0)
+int(0)
+-- Iteration 218 --
+int(0)
+int(0)
+-- Iteration 219 --
+int(0)
+int(0)
+-- Iteration 220 --
+int(0)
+int(0)
+-- Iteration 221 --
+int(0)
+int(0)
+-- Iteration 222 --
+int(0)
+int(0)
+-- Iteration 223 --
+int(0)
+int(0)
+-- Iteration 224 --
+int(0)
+int(0)
+-- Iteration 225 --
+int(0)
+int(0)
+-- Iteration 226 --
+int(0)
+int(0)
+-- Iteration 227 --
+int(0)
+int(0)
+-- Iteration 228 --
+int(0)
+int(0)
+-- Iteration 229 --
+int(0)
+int(0)
+-- Iteration 230 --
+int(0)
+int(0)
+-- Iteration 231 --
+int(0)
+int(0)
+-- Iteration 232 --
+int(0)
+int(0)
+-- Iteration 233 --
+int(0)
+int(0)
+-- Iteration 234 --
+int(0)
+int(0)
+-- Iteration 235 --
+int(0)
+int(0)
+-- Iteration 236 --
+int(0)
+int(0)
+-- Iteration 237 --
+int(0)
+int(0)
+-- Iteration 238 --
+int(0)
+int(0)
+-- Iteration 239 --
+int(0)
+int(0)
+-- Iteration 240 --
+int(0)
+int(0)
+-- Iteration 241 --
+int(0)
+int(0)
+-- Iteration 242 --
+int(0)
+int(0)
+-- Iteration 243 --
+int(0)
+int(0)
+-- Iteration 244 --
+int(0)
+int(0)
+-- Iteration 245 --
+int(0)
+int(0)
+-- Iteration 246 --
+int(0)
+int(0)
+-- Iteration 247 --
+int(0)
+int(0)
+-- Iteration 248 --
+int(0)
+int(0)
+-- Iteration 249 --
+int(0)
+int(0)
+-- Iteration 250 --
+int(0)
+int(0)
+-- Iteration 251 --
+int(0)
+int(0)
+-- Iteration 252 --
+int(0)
+int(0)
+-- Iteration 253 --
+int(0)
+int(0)
+-- Iteration 254 --
+int(0)
+int(0)
+-- Iteration 255 --
+int(0)
+int(0)
+-- Iteration 256 --
+int(0)
+int(0)
+
+-- Checking with out of character's range, given in binary format --
+int(1)
+
+*** Done ***
+--UEXPECTF--
+*** Test strncmp() function: with binary inputs ***
+
+-- Checking with all 256 characters given, in binary format --
+-- Iteration 1 --
+int(0)
+int(0)
+-- Iteration 2 --
+int(0)
+int(0)
+-- Iteration 3 --
+int(0)
+int(0)
+-- Iteration 4 --
+int(0)
+int(0)
+-- Iteration 5 --
+int(0)
+int(0)
+-- Iteration 6 --
+int(0)
+int(0)
+-- Iteration 7 --
+int(0)
+int(0)
+-- Iteration 8 --
+int(0)
+int(0)
+-- Iteration 9 --
+int(0)
+int(0)
+-- Iteration 10 --
+int(0)
+int(0)
+-- Iteration 11 --
+int(0)
+int(0)
+-- Iteration 12 --
+int(0)
+int(0)
+-- Iteration 13 --
+int(0)
+int(0)
+-- Iteration 14 --
+int(0)
+int(0)
+-- Iteration 15 --
+int(0)
+int(0)
+-- Iteration 16 --
+int(0)
+int(0)
+-- Iteration 17 --
+int(0)
+int(0)
+-- Iteration 18 --
+int(0)
+int(0)
+-- Iteration 19 --
+int(0)
+int(0)
+-- Iteration 20 --
+int(0)
+int(0)
+-- Iteration 21 --
+int(0)
+int(0)
+-- Iteration 22 --
+int(0)
+int(0)
+-- Iteration 23 --
+int(0)
+int(0)
+-- Iteration 24 --
+int(0)
+int(0)
+-- Iteration 25 --
+int(0)
+int(0)
+-- Iteration 26 --
+int(0)
+int(0)
+-- Iteration 27 --
+int(0)
+int(0)
+-- Iteration 28 --
+int(0)
+int(0)
+-- Iteration 29 --
+int(0)
+int(0)
+-- Iteration 30 --
+int(0)
+int(0)
+-- Iteration 31 --
+int(0)
+int(0)
+-- Iteration 32 --
+int(0)
+int(0)
+-- Iteration 33 --
+int(0)
+int(0)
+-- Iteration 34 --
+int(0)
+int(0)
+-- Iteration 35 --
+int(0)
+int(0)
+-- Iteration 36 --
+int(0)
+int(0)
+-- Iteration 37 --
+int(0)
+int(0)
+-- Iteration 38 --
+int(0)
+int(0)
+-- Iteration 39 --
+int(0)
+int(0)
+-- Iteration 40 --
+int(0)
+int(0)
+-- Iteration 41 --
+int(0)
+int(0)
+-- Iteration 42 --
+int(0)
+int(0)
+-- Iteration 43 --
+int(0)
+int(0)
+-- Iteration 44 --
+int(0)
+int(0)
+-- Iteration 45 --
+int(0)
+int(0)
+-- Iteration 46 --
+int(0)
+int(0)
+-- Iteration 47 --
+int(0)
+int(0)
+-- Iteration 48 --
+int(0)
+int(0)
+-- Iteration 49 --
+int(0)
+int(0)
+-- Iteration 50 --
+int(0)
+int(0)
+-- Iteration 51 --
+int(0)
+int(0)
+-- Iteration 52 --
+int(0)
+int(0)
+-- Iteration 53 --
+int(0)
+int(0)
+-- Iteration 54 --
+int(0)
+int(0)
+-- Iteration 55 --
+int(0)
+int(0)
+-- Iteration 56 --
+int(0)
+int(0)
+-- Iteration 57 --
+int(0)
+int(0)
+-- Iteration 58 --
+int(0)
+int(0)
+-- Iteration 59 --
+int(0)
+int(0)
+-- Iteration 60 --
+int(0)
+int(0)
+-- Iteration 61 --
+int(0)
+int(0)
+-- Iteration 62 --
+int(0)
+int(0)
+-- Iteration 63 --
+int(0)
+int(0)
+-- Iteration 64 --
+int(0)
+int(0)
+-- Iteration 65 --
+int(0)
+int(0)
+-- Iteration 66 --
+int(0)
+int(0)
+-- Iteration 67 --
+int(0)
+int(0)
+-- Iteration 68 --
+int(0)
+int(0)
+-- Iteration 69 --
+int(0)
+int(0)
+-- Iteration 70 --
+int(0)
+int(0)
+-- Iteration 71 --
+int(0)
+int(0)
+-- Iteration 72 --
+int(0)
+int(0)
+-- Iteration 73 --
+int(0)
+int(0)
+-- Iteration 74 --
+int(0)
+int(0)
+-- Iteration 75 --
+int(0)
+int(0)
+-- Iteration 76 --
+int(0)
+int(0)
+-- Iteration 77 --
+int(0)
+int(0)
+-- Iteration 78 --
+int(0)
+int(0)
+-- Iteration 79 --
+int(0)
+int(0)
+-- Iteration 80 --
+int(0)
+int(0)
+-- Iteration 81 --
+int(0)
+int(0)
+-- Iteration 82 --
+int(0)
+int(0)
+-- Iteration 83 --
+int(0)
+int(0)
+-- Iteration 84 --
+int(0)
+int(0)
+-- Iteration 85 --
+int(0)
+int(0)
+-- Iteration 86 --
+int(0)
+int(0)
+-- Iteration 87 --
+int(0)
+int(0)
+-- Iteration 88 --
+int(0)
+int(0)
+-- Iteration 89 --
+int(0)
+int(0)
+-- Iteration 90 --
+int(0)
+int(0)
+-- Iteration 91 --
+int(0)
+int(0)
+-- Iteration 92 --
+int(0)
+int(0)
+-- Iteration 93 --
+int(0)
+int(0)
+-- Iteration 94 --
+int(0)
+int(0)
+-- Iteration 95 --
+int(0)
+int(0)
+-- Iteration 96 --
+int(0)
+int(0)
+-- Iteration 97 --
+int(0)
+int(0)
+-- Iteration 98 --
+int(0)
+int(0)
+-- Iteration 99 --
+int(0)
+int(0)
+-- Iteration 100 --
+int(0)
+int(0)
+-- Iteration 101 --
+int(0)
+int(0)
+-- Iteration 102 --
+int(0)
+int(0)
+-- Iteration 103 --
+int(0)
+int(0)
+-- Iteration 104 --
+int(0)
+int(0)
+-- Iteration 105 --
+int(0)
+int(0)
+-- Iteration 106 --
+int(0)
+int(0)
+-- Iteration 107 --
+int(0)
+int(0)
+-- Iteration 108 --
+int(0)
+int(0)
+-- Iteration 109 --
+int(0)
+int(0)
+-- Iteration 110 --
+int(0)
+int(0)
+-- Iteration 111 --
+int(0)
+int(0)
+-- Iteration 112 --
+int(0)
+int(0)
+-- Iteration 113 --
+int(0)
+int(0)
+-- Iteration 114 --
+int(0)
+int(0)
+-- Iteration 115 --
+int(0)
+int(0)
+-- Iteration 116 --
+int(0)
+int(0)
+-- Iteration 117 --
+int(0)
+int(0)
+-- Iteration 118 --
+int(0)
+int(0)
+-- Iteration 119 --
+int(0)
+int(0)
+-- Iteration 120 --
+int(0)
+int(0)
+-- Iteration 121 --
+int(0)
+int(0)
+-- Iteration 122 --
+int(0)
+int(0)
+-- Iteration 123 --
+int(0)
+int(0)
+-- Iteration 124 --
+int(0)
+int(0)
+-- Iteration 125 --
+int(0)
+int(0)
+-- Iteration 126 --
+int(0)
+int(0)
+-- Iteration 127 --
+int(0)
+int(0)
+-- Iteration 128 --
+int(0)
+int(0)
+-- Iteration 129 --
+int(0)
+int(0)
+-- Iteration 130 --
+int(0)
+int(0)
+-- Iteration 131 --
+int(0)
+int(0)
+-- Iteration 132 --
+int(0)
+int(0)
+-- Iteration 133 --
+int(0)
+int(0)
+-- Iteration 134 --
+int(0)
+int(0)
+-- Iteration 135 --
+int(0)
+int(0)
+-- Iteration 136 --
+int(0)
+int(0)
+-- Iteration 137 --
+int(0)
+int(0)
+-- Iteration 138 --
+int(0)
+int(0)
+-- Iteration 139 --
+int(0)
+int(0)
+-- Iteration 140 --
+int(0)
+int(0)
+-- Iteration 141 --
+int(0)
+int(0)
+-- Iteration 142 --
+int(0)
+int(0)
+-- Iteration 143 --
+int(0)
+int(0)
+-- Iteration 144 --
+int(0)
+int(0)
+-- Iteration 145 --
+int(0)
+int(0)
+-- Iteration 146 --
+int(0)
+int(0)
+-- Iteration 147 --
+int(0)
+int(0)
+-- Iteration 148 --
+int(0)
+int(0)
+-- Iteration 149 --
+int(0)
+int(0)
+-- Iteration 150 --
+int(0)
+int(0)
+-- Iteration 151 --
+int(0)
+int(0)
+-- Iteration 152 --
+int(0)
+int(0)
+-- Iteration 153 --
+int(0)
+int(0)
+-- Iteration 154 --
+int(0)
+int(0)
+-- Iteration 155 --
+int(0)
+int(0)
+-- Iteration 156 --
+int(0)
+int(0)
+-- Iteration 157 --
+int(0)
+int(0)
+-- Iteration 158 --
+int(0)
+int(0)
+-- Iteration 159 --
+int(0)
+int(0)
+-- Iteration 160 --
+int(0)
+int(0)
+-- Iteration 161 --
+int(0)
+int(0)
+-- Iteration 162 --
+int(0)
+int(0)
+-- Iteration 163 --
+int(0)
+int(0)
+-- Iteration 164 --
+int(0)
+int(0)
+-- Iteration 165 --
+int(0)
+int(0)
+-- Iteration 166 --
+int(0)
+int(0)
+-- Iteration 167 --
+int(0)
+int(0)
+-- Iteration 168 --
+int(0)
+int(0)
+-- Iteration 169 --
+int(0)
+int(0)
+-- Iteration 170 --
+int(0)
+int(0)
+-- Iteration 171 --
+int(0)
+int(0)
+-- Iteration 172 --
+int(0)
+int(0)
+-- Iteration 173 --
+int(0)
+int(0)
+-- Iteration 174 --
+int(0)
+int(0)
+-- Iteration 175 --
+int(0)
+int(0)
+-- Iteration 176 --
+int(0)
+int(0)
+-- Iteration 177 --
+int(0)
+int(0)
+-- Iteration 178 --
+int(0)
+int(0)
+-- Iteration 179 --
+int(0)
+int(0)
+-- Iteration 180 --
+int(0)
+int(0)
+-- Iteration 181 --
+int(0)
+int(0)
+-- Iteration 182 --
+int(0)
+int(0)
+-- Iteration 183 --
+int(0)
+int(0)
+-- Iteration 184 --
+int(0)
+int(0)
+-- Iteration 185 --
+int(0)
+int(0)
+-- Iteration 186 --
+int(0)
+int(0)
+-- Iteration 187 --
+int(0)
+int(0)
+-- Iteration 188 --
+int(0)
+int(0)
+-- Iteration 189 --
+int(0)
+int(0)
+-- Iteration 190 --
+int(0)
+int(0)
+-- Iteration 191 --
+int(0)
+int(0)
+-- Iteration 192 --
+int(0)
+int(0)
+-- Iteration 193 --
+int(0)
+int(0)
+-- Iteration 194 --
+int(0)
+int(0)
+-- Iteration 195 --
+int(0)
+int(0)
+-- Iteration 196 --
+int(0)
+int(0)
+-- Iteration 197 --
+int(0)
+int(0)
+-- Iteration 198 --
+int(0)
+int(0)
+-- Iteration 199 --
+int(0)
+int(0)
+-- Iteration 200 --
+int(0)
+int(0)
+-- Iteration 201 --
+int(0)
+int(0)
+-- Iteration 202 --
+int(0)
+int(0)
+-- Iteration 203 --
+int(0)
+int(0)
+-- Iteration 204 --
+int(0)
+int(0)
+-- Iteration 205 --
+int(0)
+int(0)
+-- Iteration 206 --
+int(0)
+int(0)
+-- Iteration 207 --
+int(0)
+int(0)
+-- Iteration 208 --
+int(0)
+int(0)
+-- Iteration 209 --
+int(0)
+int(0)
+-- Iteration 210 --
+int(0)
+int(0)
+-- Iteration 211 --
+int(0)
+int(0)
+-- Iteration 212 --
+int(0)
+int(0)
+-- Iteration 213 --
+int(0)
+int(0)
+-- Iteration 214 --
+int(0)
+int(0)
+-- Iteration 215 --
+int(0)
+int(0)
+-- Iteration 216 --
+int(0)
+int(0)
+-- Iteration 217 --
+int(0)
+int(0)
+-- Iteration 218 --
+int(0)
+int(0)
+-- Iteration 219 --
+int(0)
+int(0)
+-- Iteration 220 --
+int(0)
+int(0)
+-- Iteration 221 --
+int(0)
+int(0)
+-- Iteration 222 --
+int(0)
+int(0)
+-- Iteration 223 --
+int(0)
+int(0)
+-- Iteration 224 --
+int(0)
+int(0)
+-- Iteration 225 --
+int(0)
+int(0)
+-- Iteration 226 --
+int(0)
+int(0)
+-- Iteration 227 --
+int(0)
+int(0)
+-- Iteration 228 --
+int(0)
+int(0)
+-- Iteration 229 --
+int(0)
+int(0)
+-- Iteration 230 --
+int(0)
+int(0)
+-- Iteration 231 --
+int(0)
+int(0)
+-- Iteration 232 --
+int(0)
+int(0)
+-- Iteration 233 --
+int(0)
+int(0)
+-- Iteration 234 --
+int(0)
+int(0)
+-- Iteration 235 --
+int(0)
+int(0)
+-- Iteration 236 --
+int(0)
+int(0)
+-- Iteration 237 --
+int(0)
+int(0)
+-- Iteration 238 --
+int(0)
+int(0)
+-- Iteration 239 --
+int(0)
+int(0)
+-- Iteration 240 --
+int(0)
+int(0)
+-- Iteration 241 --
+int(0)
+int(0)
+-- Iteration 242 --
+int(0)
+int(0)
+-- Iteration 243 --
+int(0)
+int(0)
+-- Iteration 244 --
+int(0)
+int(0)
+-- Iteration 245 --
+int(0)
+int(0)
+-- Iteration 246 --
+int(0)
+int(0)
+-- Iteration 247 --
+int(0)
+int(0)
+-- Iteration 248 --
+int(0)
+int(0)
+-- Iteration 249 --
+int(0)
+int(0)
+-- Iteration 250 --
+int(0)
+int(0)
+-- Iteration 251 --
+int(0)
+int(0)
+-- Iteration 252 --
+int(0)
+int(0)
+-- Iteration 253 --
+int(0)
+int(0)
+-- Iteration 254 --
+int(0)
+int(0)
+-- Iteration 255 --
+int(0)
+int(0)
+-- Iteration 256 --
+int(0)
+int(0)
+
+-- Checking with out of character's range, given in binary format --
+int(1)
+
+*** Done ***
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strncmp_variation7.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/strncmp_variation7.phpt
diff -u /dev/null php-src/ext/standard/tests/strings/strncmp_variation7.phpt:1.2
--- /dev/null   Fri Sep  7 14:22:56 2007
+++ php-src/ext/standard/tests/strings/strncmp_variation7.phpt  Fri Sep  7 
14:22:56 2007
@@ -0,0 +1,28 @@
+--TEST--
+Test strncmp() function : usage variations - binary safe(null terminated 
strings)
+--FILE--
+<?php
+/* Prototype  : int strncmp ( string $str1, string $str2, int $len );
+ * Description: Binary safe case-sensitive string comparison of the first n 
characters
+ * Source code: Zend/zend_builtin_functions.c
+*/
+
+/* Test strncmp() function with binary values passed to 'str1' & 'str2' and 
with the null terminated strings */
+
+echo "*** Test strncmp() function: Checking with the null terminated strings 
***\n";
+
+/* A binary function should not expect a null terminated string, and it should 
treat input as a raw stream of data */
+$str1 = "Hello\0world";
+$str2 = "Hello\0";
+var_dump( strncmp($str1, $str2, 12) );  //expected: int(5);
+
+echo "*** Done ***\n";
+?>
+--EXPECTF--
+*** Test strncmp() function: Checking with the null terminated strings ***
+int(5)
+*** Done ***
+--UEXPECTF--
+*** Test strncmp() function: Checking with the null terminated strings ***
+int(1)
+*** Done ***
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strncmp_variation8.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/strncmp_variation8.phpt
diff -u /dev/null php-src/ext/standard/tests/strings/strncmp_variation8.phpt:1.2
--- /dev/null   Fri Sep  7 14:22:56 2007
+++ php-src/ext/standard/tests/strings/strncmp_variation8.phpt  Fri Sep  7 
14:22:56 2007
@@ -0,0 +1,75 @@
+--TEST--
+Test strncmp() function: usage variations - different inputs(single quoted 
strings)
+--FILE--
+<?php
+/* Prototype  : int strncmp ( string $str1, string $str2, int $len );
+ * Description: Binary safe case-sensitive string comparison of the first n 
characters
+ * Source code: Zend/zend_builtin_functions.c
+*/
+
+/* Test strncmp() function with different strings for 'str1', 'str2' and 
considering case sensitive */
+
+echo "*** Test strncmp() function: with different input strings ***\n";
+$strings = array(
+  'Hello, World',
+  'hello, world',
+  'HELLO, WORLD',
+  'Hello, World\n'
+);
+/* loop through to compare each string with the other string */
+$count = 1;
+for($index1 = 0; $index1 < count($strings); $index1++) {
+  echo "-- Iteration $count --\n";
+  for($index2 = 0; $index2 < count($strings); $index2++) {
+    var_dump( strncmp( $strings[$index1], $strings[$index2], 
(strlen($strings[$index1]) + 1) ) );
+  }
+  $count ++;
+}
+echo "*** Done ***\n";
+?>
+--EXPECTF--
+*** Test strncmp() function: with different input strings ***
+-- Iteration 1 --
+int(0)
+int(-1)
+int(1)
+int(-1)
+-- Iteration 2 --
+int(1)
+int(0)
+int(1)
+int(1)
+-- Iteration 3 --
+int(-1)
+int(-1)
+int(0)
+int(-1)
+-- Iteration 4 --
+int(2)
+int(-1)
+int(1)
+int(0)
+*** Done ***
+--UEXPECTF--
+*** Test strncmp() function: with different input strings ***
+-- Iteration 1 --
+int(0)
+int(-1)
+int(1)
+int(-1)
+-- Iteration 2 --
+int(1)
+int(0)
+int(1)
+int(1)
+-- Iteration 3 --
+int(-1)
+int(-1)
+int(0)
+int(-1)
+-- Iteration 4 --
+int(1)
+int(-1)
+int(1)
+int(0)
+*** Done ***
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strncmp_variation9.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/strncmp_variation9.phpt
diff -u /dev/null php-src/ext/standard/tests/strings/strncmp_variation9.phpt:1.2
--- /dev/null   Fri Sep  7 14:22:56 2007
+++ php-src/ext/standard/tests/strings/strncmp_variation9.phpt  Fri Sep  7 
14:22:56 2007
@@ -0,0 +1,68 @@
+--TEST--
+Test strncmp() function: usage variations - different inputs(heredoc strings)
+--FILE--
+<?php
+/* Prototype  : int strncmp ( string $str1, string $str2, int $len );
+ * Description: Binary safe case-sensitive string comparison of the first n 
characters
+ * Source code: Zend/zend_builtin_functions.c
+*/
+
+/* Test strncmp() function with different strings for 'str1', 'str2' and 
considering case sensitive */
+
+echo "*** Test strncmp() function: with different input strings ***\n";
+
+/* heredoc string */
+$str1 = <<<EOD
+Example of string
+spanning multiple lines
+using heredoc syntax.
+EOD;
+
+/* identifier name contains underscore */
+$str2 = <<<identifier_str2
+Example of heredoc
+string, whose identifier
+having underscore("_") 
+& numeric value.
+identifier_str2;
+
+/* identifier name starts with underscore */
+$str3 = <<<_identifier_str3
+Hello, World
+hello, world
+_identifier_str3;
+
+/* string containing control characters */
+$str4 = <<<identifier_str4
+Hello, World\n
+Hello\0World
+identifier_str4;
+
+$strings = array(
+  $str1,
+  $str2,
+  $str3,
+  $str4
+);
+/* loop through to compare each string with the other string */
+$count = 1;
+for($index1 = 0; $index1 < count($strings); $index1++) {
+  var_dump( strncmp( $strings[$index1], $strings[$index1], 
strlen($strings[$index1]) ) );
+  $count ++;
+}
+echo "*** Done ***\n";
+?>
+--EXPECTF--
+*** Test strncmp() function: with different input strings ***
+int(0)
+int(0)
+int(0)
+int(0)
+*** Done ***
+--UEXPECTF--
+*** Test strncmp() function: with different input strings ***
+int(0)
+int(0)
+int(0)
+int(0)
+*** Done ***

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to