mirror of
https://github.com/php/php-src.git
synced 2024-10-16 14:02:37 +00:00
87fac43ac0
- html_translation_table and setlocale tests are no longer relevant - there are a number of ANSI-encoded files. Is this deliberate?
31 lines
1010 B
PHP
31 lines
1010 B
PHP
--TEST--
|
|
Test strncasecmp() function : usage variations - binary safe
|
|
--FILE--
|
|
<?php
|
|
/* Prototype : int strncasecmp ( string $str1, string $str2, int $len );
|
|
* Description: Binary safe case-insensitive string comparison of the first n characters
|
|
* Source code: Zend/zend_builtin_functions.c
|
|
*/
|
|
|
|
/* Test strncasecmp() function with null terminated strings and binary values passed to 'str1' & 'str2' */
|
|
|
|
echo "*** Test strncasecmp() function: with null terminated strings and binary inputs ***\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";
|
|
$str3 = b"Hello\0";
|
|
$str4 = "Hello,".chr(0)."world";
|
|
var_dump( strncasecmp($str1, $str2, 12) );
|
|
var_dump( strncasecmp($str2, $str3, 12) );
|
|
var_dump( strncasecmp($str4, "Hello,world", 12) );
|
|
|
|
echo "*** Done ***\n";
|
|
?>
|
|
--EXPECT--
|
|
*** Test strncasecmp() function: with null terminated strings and binary inputs ***
|
|
int(1)
|
|
int(0)
|
|
int(-1)
|
|
*** Done ***
|