summaryrefslogtreecommitdiff
path: root/ext/mbstring/tests/mb_strstr_variation6.phpt
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /ext/mbstring/tests/mb_strstr_variation6.phpt
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/mbstring/tests/mb_strstr_variation6.phpt')
-rw-r--r--ext/mbstring/tests/mb_strstr_variation6.phpt65
1 files changed, 65 insertions, 0 deletions
diff --git a/ext/mbstring/tests/mb_strstr_variation6.phpt b/ext/mbstring/tests/mb_strstr_variation6.phpt
new file mode 100644
index 0000000..1242e02
--- /dev/null
+++ b/ext/mbstring/tests/mb_strstr_variation6.phpt
@@ -0,0 +1,65 @@
+--TEST--
+Test mb_strstr() function : variation - case sensitivity
+--SKIPIF--
+<?php
+extension_loaded('mbstring') or die('skip');
+function_exists('mb_strstr') or die("skip mb_strstr() is not available in this build");
+?>
+--FILE--
+<?php
+/* Prototype : string mb_strstr(string haystack, string needle[, bool part[, string encoding]])
+ * Description: Finds first occurrence of a string within another
+ * Source code: ext/mbstring/mbstring.c
+ * Alias to functions:
+ */
+
+echo "*** Testing mb_strstr() : variation ***\n";
+
+mb_internal_encoding('UTF-8');
+
+//ascii
+$string_ascii = b'abcdef';
+$needle_ascii_upper = b"BCD";
+$needle_ascii_mixed = b"bCd";
+$needle_ascii_lower = b"bcd";
+
+//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 "-- Ascii data --\n";
+// needle should be found
+var_dump(bin2hex(mb_strstr($string_ascii, $needle_ascii_lower)));
+// no needle should be found
+var_dump(mb_strstr($string_ascii, $needle_ascii_upper));
+var_dump(mb_strstr($string_ascii, $needle_ascii_mixed));
+
+echo "-- mb data in utf-8 --\n";
+// needle should be found
+$res = mb_strstr($string_mb, $needle_mb_lower, false);
+if ($res !== false) {
+ var_dump(bin2hex($res));
+}
+else {
+ echo "nothing found!\n";
+}
+// no needle should be found
+var_dump(mb_strstr($string_mb, $needle_mb_upper));
+var_dump(mb_strstr($string_mb, $needle_mb_mixed));
+
+
+?>
+===DONE===
+--EXPECT--
+*** Testing mb_strstr() : variation ***
+-- Ascii data --
+string(10) "6263646566"
+bool(false)
+bool(false)
+-- mb data in utf-8 --
+string(52) "cebccebdcebecebfcf80cf81cf83cf84cf85cf86cf87cf88cf89"
+bool(false)
+bool(false)
+===DONE===