ant Fri Dec 5 14:02:53 2008 UTC
Modified files:
/php-src/ext/mbstring/tests mb_stristr_basic.phpt
Log:
MBString tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux
64 bit).
http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/tests/mb_stristr_basic.phpt?r1=1.1r2=1.2diff_format=u
Index: php-src/ext/mbstring/tests/mb_stristr_basic.phpt
diff -u /dev/null php-src/ext/mbstring/tests/mb_stristr_basic.phpt:1.2
--- /dev/null Fri Dec 5 14:02:53 2008
+++ php-src/ext/mbstring/tests/mb_stristr_basic.phptFri Dec 5 14:02:53 2008
@@ -0,0 +1,72 @@
+--TEST--
+Test mb_stristr() function : basic functionality
+--XFAIL--
+Bug #46763 stristr() wrong output when needle does not exist
+--SKIPIF--
+?php
+extension_loaded('mbstring') or die('skip');
+function_exists('mb_stristr') or die(skip mb_stristr() is not available in
this build);
+?
+--FILE--
+?php
+/* Prototype : string mb_stristr(string haystack, string needle[, bool part[,
string encoding]])
+ * Description: Finds first occurrence of a string within another, case
insensitive
+ * Source code: ext/mbstring/mbstring.c
+ * Alias to functions:
+ */
+
+echo *** Testing mb_stristr() : basic functionality ***\n;
+
+mb_internal_encoding('UTF-8');
+
+$string_ascii = b'abcdef';
+$needle_ascii_upper = bBCD;
+$needle_ascii_mixed = bbCd;
+$needle_ascii_lower = bbcd;
+
+//Greek string in lower case UTF-8
+$string_mb =
base64_decode('zrHOss6zzrTOtc62zrfOuM65zrrOu868zr3Ovs6/z4DPgc+Dz4TPhc+Gz4fPiM+J');
+$needle_mb_upper = base64_decode('zpzOnc6ezp8=');
+$needle_mb_lower = base64_decode('zrzOvc6+zr8=');
+$needle_mb_mixed = base64_decode('zpzOnc6+zr8=');
+
+echo \n-- ASCII string: needle exists --\n;
+var_dump(bin2hex(mb_stristr($string_ascii, $needle_ascii_upper, false,
'ISO-8859-1')));
+var_dump(bin2hex(mb_stristr($string_ascii, $needle_ascii_lower)));
+var_dump(bin2hex(mb_stristr($string_ascii, $needle_ascii_mixed, true)));
+
+
+echo \n-- ASCII string: needle doesn't exist --\n;
+var_dump(mb_stristr($string_ascii, '123'));
+
+echo \n-- Multibyte string: needle exists --\n;
+var_dump(bin2hex(mb_stristr($string_mb, $needle_mb_upper)));
+var_dump(bin2hex(mb_stristr($string_mb, $needle_mb_lower, false, 'utf-8')));
+var_dump(bin2hex(mb_stristr($string_mb, $needle_mb_mixed, true)));
+
+
+echo \n-- Multibyte string: needle doesn't exist --\n;
+$needle2 = base64_decode(zrzOvs6/);
+var_dump(mb_stristr($string_mb, $needle2));
+
+?
+===DONE===
+--EXPECT--
+*** Testing mb_stristr() : basic functionality ***
+
+-- ASCII string: needle exists --
+unicode(10) 6263646566
+unicode(10) 6263646566
+unicode(2) 61
+
+-- ASCII string: needle doesn't exist --
+bool(false)
+
+-- Multibyte string: needle exists --
+unicode(52) cebccebdcebecebfcf80cf81cf83cf84cf85cf86cf87cf88cf89
+unicode(52) cebccebdcebecebfcf80cf81cf83cf84cf85cf86cf87cf88cf89
+unicode(44) ceb1ceb2ceb3ceb4ceb5ceb6ceb7ceb8ceb9cebacebb
+
+-- Multibyte string: needle doesn't exist --
+bool(false)
+===DONE===
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php