summaryrefslogtreecommitdiff
path: root/ext/mbstring/tests/mb_strrchr_variation5.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mbstring/tests/mb_strrchr_variation5.phpt')
-rw-r--r--ext/mbstring/tests/mb_strrchr_variation5.phpt59
1 files changed, 59 insertions, 0 deletions
diff --git a/ext/mbstring/tests/mb_strrchr_variation5.phpt b/ext/mbstring/tests/mb_strrchr_variation5.phpt
new file mode 100644
index 0000000000..0d3fbfc150
--- /dev/null
+++ b/ext/mbstring/tests/mb_strrchr_variation5.phpt
@@ -0,0 +1,59 @@
+--TEST--
+Test mb_strrchr() function : variation - multiple needles
+--SKIPIF--
+<?php
+extension_loaded('mbstring') or die('skip');
+function_exists('mb_strrchr') or die("skip mb_strrchr() is not available in this build");
+?>
+--FILE--
+<?php
+/* Prototype : string mb_strrchr(string haystack, string needle[, bool part[, string encoding]])
+ * Description: Finds the last occurrence of a character in a string within another
+ * Source code: ext/mbstring/mbstring.c
+ * Alias to functions:
+ */
+
+echo "*** Testing mb_strrchr() : variation ***\n";
+
+mb_internal_encoding('UTF-8');
+
+//with repeated needles
+$string_ascii = b'abcdef zbcdyx';
+$needle_ascii = b"bcd";
+
+//Japanese string in UTF-8 with repeated needles
+$string_mb = base64_decode('5pel5pys6Kqe44OG44Kt44K544OIMzTvvJXvvJbml6XmnKzoqp7jg4bjgq3jgrnjg4g=');
+$needle_mb = base64_decode('6Kqe44OG44Kt');
+
+echo "-- Ascii data --\n";
+var_dump(bin2hex(mb_strrchr($string_ascii, $needle_ascii, false)));
+var_dump(bin2hex(mb_strrchr($string_ascii, $needle_ascii, true)));
+
+echo "-- mb data in utf-8 --\n";
+$res = mb_strrchr($string_mb, $needle_mb, false);
+if ($res !== false) {
+ var_dump(bin2hex($res));
+}
+else {
+ echo "nothing found!\n";
+}
+$res = mb_strrchr($string_mb, $needle_mb, true);
+if ($res !== false) {
+ var_dump(bin2hex($res));
+}
+else {
+ echo "nothing found!\n";
+}
+
+
+?>
+===DONE===
+--EXPECT--
+*** Testing mb_strrchr() : variation ***
+-- Ascii data --
+unicode(10) "6263647978"
+unicode(16) "616263646566207a"
+-- mb data in utf-8 --
+unicode(30) "e8aa9ee38386e382ade382b9e38388"
+unicode(70) "e697a5e69cace8aa9ee38386e382ade382b9e383883334efbc95efbc96e697a5e69cac"
+===DONE===