mirror of
https://github.com/php/php-src.git
synced 2024-10-18 23:12:35 +00:00
53349c7769
Logically one might think that chr(128) would collate before chr(255) except this is a case-insensitive comparison and internally we toupper() both args. toupper(chr(128)) is 128. There is no upper-case equivalent of this char. toupper(chr(255)) is 120 so chr(255) collates before chr(128) in this case-insensitive comparison. And these are rather bogus characters to feed to a natsort test anyway.
57 lines
918 B
PHP
57 lines
918 B
PHP
--TEST--
|
|
Test strnatcasecmp() function : variation
|
|
--CREDITS--
|
|
Felix De Vliegher <felix.devliegher@gmail.com>
|
|
--FILE--
|
|
<?php
|
|
/* Prototype : int strnatcasecmp(string s1, string s2)
|
|
* Description: Returns the result of case-insensitive string comparison using 'natural' algorithm
|
|
* Source code: ext/standard/string.c
|
|
* Alias to functions:
|
|
*/
|
|
|
|
/* Preparation */
|
|
class a
|
|
{
|
|
function __toString()
|
|
{
|
|
return "Hello WORLD";
|
|
}
|
|
}
|
|
|
|
class b
|
|
{
|
|
function __toString()
|
|
{
|
|
return "HELLO world";
|
|
}
|
|
}
|
|
|
|
$a = new a();
|
|
$b = new b();
|
|
|
|
function str_dump($a, $b) {
|
|
var_dump(strnatcasecmp($a, $b));
|
|
}
|
|
|
|
echo "*** Testing strnatcasecmp() : variation ***\n";
|
|
|
|
str_dump('0', false);
|
|
str_dump('fooBar', '');
|
|
str_dump('', -1);
|
|
str_dump("Hello\0world", "Helloworld");
|
|
str_dump("\x0", "\0");
|
|
str_dump($a, $b);
|
|
|
|
?>
|
|
===DONE===
|
|
--EXPECT--
|
|
*** Testing strnatcasecmp() : variation ***
|
|
int(1)
|
|
int(6)
|
|
int(-2)
|
|
int(-1)
|
|
int(0)
|
|
int(0)
|
|
===DONE===
|