* Source code: Zend/zend_builtin_functions.c
*/
-/* Test strncmp() function with all three arguments */
+echo "*** Testing strncmp() function: basic functionality ***\n";
-echo "*** Test strncmp() function: basic functionality ***\n";
+echo "-- Testing strncmp() with single quoted string --\n";
+var_dump( strncmp('Hello', 'Hello', 5) ); //expected: int(0)
+var_dump( strncmp('Hello', 'Hi', 5) ); //expected: value < 0
+var_dump( strncmp('Hi', 'Hello', 5) ); //expected: value > 0
+
+echo "-- Testing strncmp() with double quoted string --\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)
+var_dump( strncmp("Hello", "Hi", 5) ); //expected: value < 0
+var_dump( strncmp("Hi", "Hello", 5) ); //expected: value > 0
+
+echo "-- Testing strncmp() with here-doc string --\n";
+$str = <<<HEREDOC
+Hello
+HEREDOC;
+var_dump( strncmp($str, "Hello", 5) ); //expected: int(0)
+var_dump( strncmp($str, "Hi", 5) ); //expected: value < 0
+var_dump( strncmp("Hi", $str, 5) ); //expected: value > 0
+
echo "*** Done ***";
?>
---EXPECTF--
-*** Test strncmp() function: basic functionality ***
-int(0)
-int(-1)
-int(1)
-*** Done ***
+--EXPECTREGEX--
+\*\*\* Testing strncmp\(\) function: basic functionality \*\*\*
+-- Testing strncmp\(\) with single quoted string --
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\([1-9][0-9]*\)
+-- Testing strncmp\(\) with double quoted string --
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\([1-9][0-9]*\)
+-- Testing strncmp\(\) with here-doc string --
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\([1-9][0-9]*\)
+\*\*\* Done \*\*\*
--TEST--
-Test strncmp() function: usage variations - different inputs(alphabet characters)
+Test strncmp() function: usage variations - case-sensitivity
--FILE--
<?php
/* Prototype : int strncmp ( string $str1, string $str2, int $len );
/* Test strncmp() function with upper-case and lower-case alphabets as inputs for 'str1' and 'str2' */
-echo "*** Test strncmp() function: with chars ***\n";
+echo "*** Test strncmp() function: with alphabets ***\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)
+ var_dump( strncmp( chr($ASCII), chr($ASCII + 32), 1 ) ); //comparing uppercase letters with lowercase letters; exp: value < 0
}
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)
+ var_dump( strncmp( chr($ASCII), chr($ASCII - 32), 1 ) ); //comparing lowercase letters with uppercase letters; exp: value > 0
}
-echo "*** Done ***\n";
+echo "*** Done ***";
?>
---EXPECTF--
-*** Test strncmp() function: with chars ***
+--EXPECTREGEX--
+\*\*\* Test strncmp\(\) function: with alphabets \*\*\*
-- 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)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
-- 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 ***
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+\*\*\* Done \*\*\*
--TEST--
-Test strncmp() function: usage variations - different inputs(double quoted strings)
+Test strncmp() function: usage variations - double quoted strings
--FILE--
<?php
/* Prototype : int strncmp ( string $str1, string $str2, int $len );
* Source code: Zend/zend_builtin_functions.c
*/
-/* Test strncmp() function with different strings for 'str1', 'str2' and considering case sensitive */
+/* Test strncmp() function with double quoted strings for 'str1', 'str2' */
-echo "*** Test strncmp() function: with different input strings ***\n";
+echo "*** Test strncmp() function: with double quoted strings ***\n";
$strings = array(
"Hello, World",
"hello, world",
}
echo "*** Done ***\n";
?>
---EXPECTF--
-*** Test strncmp() function: with different input strings ***
+--EXPECTREGEX--
+\*\*\* Test strncmp\(\) function: with double quoted strings \*\*\*
-- Iteration 1 --
-int(0)
-int(-1)
-int(1)
-int(-1)
-int(1)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\([1-9][0-9]*\)
+int\(-[1-9][0-9]*\)
+int\([1-9][0-9]*\)
-- Iteration 2 --
-int(1)
-int(0)
-int(1)
-int(1)
-int(1)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\([1-9][0-9]*\)
+int\([1-9][0-9]*\)
-- Iteration 3 --
-int(-1)
-int(-1)
-int(0)
-int(-1)
-int(-1)
+int\(-[1-9][0-9]*\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\(-[1-9][0-9]*\)
-- Iteration 4 --
-int(1)
-int(-1)
-int(1)
-int(0)
-int(1)
+int\([1-9][0-9]*\)
+int\(-[1-9][0-9]*\)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
-- Iteration 5 --
-int(-1)
-int(-1)
-int(1)
-int(-1)
-int(0)
-*** Done ***
+int\(-[1-9][0-9]*\)
+int\(-[1-9][0-9]*\)
+int\([1-9][0-9]*\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+\*\*\* Done \*\*\*
* Source code: Zend/zend_builtin_functions.c
*/
-/* Test strncmp() with various nteger length values including zero and considering case sensitive */
+/* Test strncmp() with various lengths */
echo "*** Test strncmp() function: with different lengths ***\n";
/* definitions of required variables */
}
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 ***
+--EXPECTREGEX--
+\*\*\* Test strncmp\(\) function: with different lengths \*\*\*
+int\(-[1-9][0-9]*\)
+int\(-[1-9][0-9]*\)
+int\(-[1-9][0-9]*\)
+int\(-[1-9][0-9]*\)
+int\(-[1-9][0-9]*\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(0\)
+int\(0\)
+int\(0\)
+int\(0\)
+int\(0\)
+int\(0\)
+int\(0\)
+\*\*\* Done \*\*\*
--TEST--
-Test strncmp() function: usage variations - different inputs(single quoted strings)
+Test strncmp() function: usage variations - single quoted strings
--FILE--
<?php
/* Prototype : int strncmp ( string $str1, string $str2, int $len );
* Source code: Zend/zend_builtin_functions.c
*/
-/* Test strncmp() function with different strings for 'str1', 'str2' and considering case sensitive */
+/* Test strncmp() function with single quoted strings for 'str1', 'str2' */
-echo "*** Test strncmp() function: with different input strings ***\n";
+echo "*** Test strncmp() function: with single quoted strings ***\n";
$strings = array(
'Hello, World',
'hello, world',
}
echo "*** Done ***\n";
?>
---EXPECTF--
-*** Test strncmp() function: with different input strings ***
+--EXPECTREGEX--
+\*\*\* Test strncmp\(\) function: with single quoted strings \*\*\*
-- Iteration 1 --
-int(0)
-int(-1)
-int(1)
-int(-1)
+int\(0\)
+int\(-[1-9][0-9]*\)
+int\([1-9][0-9]*\)
+int\(-[1-9][0-9]*\)
-- Iteration 2 --
-int(1)
-int(0)
-int(1)
-int(1)
+int\([1-9][0-9]*\)
+int\(0\)
+int\([1-9][0-9]*\)
+int\([1-9][0-9]*\)
-- Iteration 3 --
-int(-1)
-int(-1)
-int(0)
-int(-1)
+int\(-[1-9][0-9]*\)
+int\(-[1-9][0-9]*\)
+int\(0\)
+int\(-[1-9][0-9]*\)
-- Iteration 4 --
-int(2)
-int(-1)
-int(1)
-int(0)
-*** Done ***
+int\([1-9][0-9]*\)
+int\(-[1-9][0-9]*\)
+int\([1-9][0-9]*\)
+int\(0\)
+\*\*\* Done \*\*\*