xref: /PHP-7.1/ext/iconv/tests/iconv_strrpos.phpt (revision 7d7f8456)
1--TEST--
2iconv_strrpos()
3--SKIPIF--
4<?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?>
5--INI--
6iconv.internal_charset=ISO-8859-1
7--FILE--
8<?php
9function my_error_handler($errno, $errmsg, $filename, $linenum, $vars)
10{
11	echo "$errno: $errmsg\n";
12}
13set_error_handler('my_error_handler');
14function foo($haystk, $needle, $to_charset = false, $from_charset = false)
15{
16	if ($from_charset !== false) {
17		$haystk = iconv($from_charset, $to_charset, $haystk);
18	}
19	if ($to_charset !== false) {
20		var_dump(iconv_strlen($haystk, $to_charset));
21		var_dump(iconv_strrpos($haystk, $needle, $to_charset));
22	} else {
23		var_dump(iconv_strlen($haystk));
24		var_dump(iconv_strrpos($haystk, $needle));
25	}
26}
27foo("abecdbcdabcdef", "bcd");
28foo(str_repeat("abcab", 60)."abcdb".str_repeat("adabc", 60), "abcd");
29foo(str_repeat("����������", 30)."����������".str_repeat("����������", 30), "����", "EUC-JP");
30
31for ($i = 0; $i <=6; ++$i) {
32	$str = str_repeat("����������", 60).str_repeat('$', $i).str_repeat("����������", 60);
33	foo($str, '$', "ISO-2022-JP", "EUC-JP");
34}
35
36var_dump(iconv_strrpos("string", ""));
37var_dump(iconv_strrpos("", "string"));
38
39?>
40--EXPECT--
41int(14)
42int(9)
43int(605)
44int(300)
45int(305)
46int(151)
47int(600)
48bool(false)
49int(601)
50int(300)
51int(602)
52int(301)
53int(603)
54int(302)
55int(604)
56int(303)
57int(605)
58int(304)
59int(606)
60int(305)
61bool(false)
62bool(false)
63