moriyoshi Fri Jan 3 15:02:24 2003 EDT Added files: /php4/ext/iconv/tests iconv_strpos.phpt iconv_strrpos.phpt Log: Added test cases for iconv_strpos() and iconv_strrpos()
Index: php4/ext/iconv/tests/iconv_strpos.phpt +++ php4/ext/iconv/tests/iconv_strpos.phpt --TEST-- iconv_strpos() --SKIPIF-- <?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?> --INI-- iconv.internal_charset=ISO-8859-1 --FILE-- <?php function my_error_handler($errno, $errmsg, $filename, $linenum, $vars) { echo "$errno: $errmsg\n"; } set_error_handler('my_error_handler'); function foo($haystk, $needle, $offset, $to_charset = false, $from_charset = false) { if ($from_charset !== false) { $haystk = iconv($from_charset, $to_charset, $haystk); } var_dump(strpos($haystk, $needle, $offset)); if ($to_charset !== false) { var_dump(iconv_strpos($haystk, $needle, $offset, $to_charset)); } else { var_dump(iconv_strpos($haystk, $needle, $offset)); } } foo("abecdbcdabef", "bcd", -1); foo("abecdbcdabef", "bcd", 100000); foo("abcabcabcdabcababcdabc", "bcd", 0); foo("abcabcabcdabcababcdabc", "bcd", 10); foo(str_repeat("abcab", 60)."abcdb".str_repeat("adabc", 60), "abcd", 0); foo(str_repeat("あいうえお", 30)."いうおえあ".str_repeat("あいえおう", 30), "うお", 0, "EUC-JP"); $str = str_repeat("あいうえお", 60).'$'.str_repeat("あいえおう", 60); foo($str, '$', 0, "ISO-2022-JP", "EUC-JP"); ?> --EXPECTF-- 2: %s bool(false) 2: %s bool(false) 2: %s bool(false) bool(false) int(7) int(7) int(16) int(16) int(300) int(300) int(302) int(151) int(1) int(300) Index: php4/ext/iconv/tests/iconv_strrpos.phpt +++ php4/ext/iconv/tests/iconv_strrpos.phpt --TEST-- iconv_strrpos() --SKIPIF-- <?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?> --INI-- iconv.internal_charset=ISO-8859-1 --FILE-- <?php function my_error_handler($errno, $errmsg, $filename, $linenum, $vars) { echo "$errno: $errmsg\n"; } set_error_handler('my_error_handler'); function foo($haystk, $needle, $to_charset = false, $from_charset = false) { if ($from_charset !== false) { $haystk = iconv($from_charset, $to_charset, $haystk); } if ($to_charset !== false) { var_dump(iconv_strlen($haystk, $to_charset)); var_dump(iconv_strrpos($haystk, $needle, $to_charset)); } else { var_dump(iconv_strlen($haystk)); var_dump(iconv_strrpos($haystk, $needle)); } } foo("abecdbcdabcdef", "bcd"); foo(str_repeat("abcab", 60)."abcdb".str_repeat("adabc", 60), "abcd"); foo(str_repeat("あいうえお", 30)."いうおえあ".str_repeat("あいえおう", 30), "うお", "EUC-JP"); for ($i = 0; $i <=6; ++$i) { $str = str_repeat("あいうえお", 60).str_repeat('$', $i).str_repeat("あいえおう", 60); foo($str, '$', "ISO-2022-JP", "EUC-JP"); } ?> --EXPECT-- int(14) int(9) int(605) int(300) int(305) int(151) int(600) bool(false) int(601) int(300) int(602) int(301) int(603) int(302) int(604) int(303) int(605) int(304) int(606) int(305) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php