--- /dev/null
+--TEST--
+Testing mb_convert_kana() function
+--SKIPIF--
+<?php
+if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
+if (!function_exists("mb_convert_kana")) print "skip mb_convert_kana() not available";
+?>
+--FILE--
+<?php
+$zenKakuA = 'ァアィイゥウェエォオカガキギク';
+$zenKakuB = 'グケゲコゴサザシジスズセゼソゾタ';
+$zenKakuC = 'ダチヂッツヅテデトドナニヌネノハ';
+$zenKakuD = 'バパヒビピフブプヘベペホボポマミ';
+$zenKakuE = 'ムメモャヤュユョヨラリルレロヮワ';
+$zenKakuF = 'ヰヱヲンヴヵヶヷヸヹヺ・ーヽヾ';
+
+$hanKakuA = '⦆。「」、・ヲァィゥェォャュョッ';
+$hanKakuB = 'ーアイウエオカキクケコサシスセソ';
+$hanKakuC = 'タチツテトナニヌネノハヒフヘホマ';
+$hanKakuD = 'ミムメモヤユヨラリルレロワン゙゚';
+
+
+echo $zenKakuA . ' => ' . mb_convert_kana($zenKakuA, 'AZKH', 'utf-8');
+echo "\n";
+echo $zenKakuB . ' => ' . mb_convert_kana($zenKakuB, 'azkh', 'utf-8');
+echo "\n";
+echo $zenKakuC . ' => ' . mb_convert_kana($zenKakuC, 'azkh', 'utf-8');
+echo "\n";
+echo $zenKakuD . ' => ' . mb_convert_kana($zenKakuD, 'azkh', 'utf-8');
+echo "\n";
+echo $zenKakuE . ' => ' . mb_convert_kana($zenKakuE, 'azkh', 'utf-8');
+echo "\n";
+echo $zenKakuF . ' => ' . mb_convert_kana($zenKakuF, 'azkh', 'utf-8');
+echo "\n";
+echo "\n";
+echo $hanKakuA . ' => ' . mb_convert_kana($hanKakuA, 'AZKH', 'utf-8');
+echo "\n";
+echo $hanKakuB . ' => ' . mb_convert_kana($hanKakuB, 'AZKH', 'utf-8');
+echo "\n";
+echo $hanKakuC . ' => ' . mb_convert_kana($hanKakuC, 'AZKH', 'utf-8');
+echo "\n";
+echo $hanKakuD . ' => ' . mb_convert_kana($hanKakuD, 'AZKH', 'utf-8');
+?>
+--EXPECT--
+ァアィイゥウェエォオカガキギク => ァアィイゥウェエォオカガキギク
+グケゲコゴサザシジスズセゼソゾタ => グケゲコゴサザシジスズセゼソゾタ
+ダチヂッツヅテデトドナニヌネノハ => ダチヂッツヅテデトドナニヌネノハ
+バパヒビピフブプヘベペホボポマミ => バパヒビピフブプヘベペホボポマミ
+ムメモャヤュユョヨラリルレロヮワ => ムメモャヤュユョヨラリルレロワワ
+ヰヱヲンヴヵヶヷヸヹヺ・ーヽヾ => イエヲンヴヵヶヷヸヹヺ・ーヽヾ
+
+⦆。「」、・ヲァィゥェォャュョッ => ⦆。「」、・ヲァィゥェォャュョッ
+ーアイウエオカキクケコサシスセソ => ーアイウエオカキクケコサシスセソ
+タチツテトナニヌネノハヒフヘホマ => タチツテトナニヌネノハヒフヘホマ
+ミムメモヤユヨラリルレロワン゙゚ => ミムメモヤユヨラリルレロワン゛゜
+
+--CREDITS--
+Jason Easter <easter@phpug-wuerzburg.de>
+PHPUG Würzburg <phpug-wuerzburg.de>
+Testfest 2009 2009-06-20
--- /dev/null
+--TEST--
+Test mb_decode_numericentity() function : Convert HTML-Entities to UTF-8
+--SKIPIF--
+<?php
+if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
+function_exists('mb_encode_mimeheader') or die("skip mb_encode_mimeheader() is not available in this build");
+?>
+--FILE--
+<?php
+$str1 = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ';
+$str2 = 'ƒΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρςστυφχψωϑϒϖ•…′″‾⁄℘ℑℜ™ℵ←↑→↓↔↵⇐⇑⇒⇓⇔∀∂∃∅∇∈∉∋∏∑−∗√∝∞∠∧∨∩∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅⌈⌉⌊⌋〈〉◊♠♣♥♦';
+$str3 = 'aŒbœcŠdše€fg';
+$convmap = array(0x0, 0x2FFFF, 0, 0xFFFF);
+echo mb_decode_numericentity($str1, $convmap, "UTF-8")."\n";
+echo mb_decode_numericentity($str2, $convmap, "UTF-8")."\n";
+echo mb_decode_numericentity($str3, $convmap, "UTF-8")."\n";
+?>
+--EXPECT--
+¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+ƒΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρςστυφχψωϑϒϖ•…′″‾⁄℘ℑℜ™ℵ←↑→↓↔↵⇐⇑⇒⇓⇔∀∂∃∅∇∈∉∋∏∑−∗√∝∞∠∧∨∩∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅⌈⌉⌊⌋〈〉◊♠♣♥♦
+aŒbœcŠdše€fg
--- /dev/null
+--TEST--
+Test mb_encode_numericentity() function : Convert UTF-8 to HTML-Entities
+--SKIPIF--
+<?php
+if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
+function_exists('mb_encode_mimeheader') or die("skip mb_encode_mimeheader() is not available in this build");
+?>
+--FILE--
+<?php
+$str1 = '¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ';
+$str2 = 'ƒΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρςστυφχψωϑϒϖ•…′″‾⁄℘ℑℜ™ℵ←↑→↓↔↵⇐⇑⇒⇓⇔∀∂∃∅∇∈∉∋∏∑−∗√∝∞∠∧∨∩∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅⌈⌉⌊⌋〈〉◊♠♣♥♦';
+$convmap = array(0x0, 0x2FFFF, 0, 0xFFFF);
+echo mb_encode_numericentity($str1, $convmap, "UTF-8")."\n";
+echo mb_encode_numericentity($str2, $convmap, "UTF-8")."\n";
+
+$convmap = array(0xFF, 0x2FFFF, 0, 0xFFFF);
+echo mb_encode_numericentity('aŒbœcŠdše€fg', $convmap, "UTF-8")."\n";
+?>
+--EXPECTF--
+¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+ƒΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρςστυφχψωϑϒϖ•…′″‾⁄℘ℑℜ™ℵ←↑→↓↔↵⇐⇑⇒⇓⇔∀∂∃∅∇∈∉∋∏∑−∗√∝∞∠∧∨∩∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅⌈⌉⌊⌋〈〉◊♠♣♥♦
+aŒbœcŠdše€fg
--- /dev/null
+--TEST--
+mb_ereg() returning matches
+--SKIPIF--
+<?php
+if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
+if (!function_exists("mb_ereg")) print "skip mb_ereg() not available";
+?>
+--FILE--
+<?php
+
+$a = -1; $b = -1; $c = -1;
+mbereg($a, $b, $c);
+var_dump($a, $b, $c);
+
+mberegi($a, $b, $c);
+var_dump($a, $b, $c);
+
+mbereg_search_init($a, $b, $c);
+var_dump($a, $b, $c);
+
+echo "Done\n";
+?>
+--EXPECTF--
+int(-1)
+int(-1)
+array(1) {
+ [0]=>
+ string(2) "-1"
+}
+int(-1)
+int(-1)
+array(1) {
+ [0]=>
+ string(2) "-1"
+}
+
+Warning: mbereg_search_init() expects parameter 3 to be %binary_string_optional%, array given in %s on line %d
+int(-1)
+int(-1)
+array(1) {
+ [0]=>
+ string(2) "-1"
+}
+Done
--- /dev/null
+--TEST--
+mb_ereg() returning matches
+--SKIPIF--
+<?php
+if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
+if (!function_exists("mb_ereg")) print "skip mb_ereg() not available";
+?>
+--FILE--
+<?php
+
+$a = -1; $b = -1; $c = -1;
+mbereg($a, $b, $c);
+var_dump($a, $b, $c);
+
+mberegi($a, $b, $c);
+var_dump($a, $b, $c);
+
+mbereg_search_init($a, $b, $c);
+var_dump($a, $b, $c);
+
+echo "Done\n";
+?>
+--EXPECTF--
+int(-1)
+int(-1)
+array(1) {
+ [0]=>
+ string(2) "-1"
+}
+int(-1)
+int(-1)
+array(1) {
+ [0]=>
+ string(2) "-1"
+}
+
+Warning: mbereg_search_init() expects parameter 3 to be string, array given in %s on line %d
+int(-1)
+int(-1)
+array(1) {
+ [0]=>
+ string(2) "-1"
+}
+Done
--- /dev/null
+--TEST--
+Testing mb_ereg_search() function
+--SKIPIF--
+<?php
+if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
+function_exists('mb_ereg_search') or die("skip mb_ereg_search() is not available in this build");
+?>
+--FILE--
+<?php
+ $str = "中国abc + abc ?!?!字符# china string";
+
+ $reg = "\w+";
+
+ mb_regex_encoding("UTF-8");
+
+ mb_ereg_search_init($str, $reg);
+ $r = mb_ereg_search();
+
+ if(!$r)
+ {
+ echo "null\n";
+ }
+ else
+ {
+ $r = mb_ereg_search_getregs(); //get first result
+ do
+ {
+ var_dump($r[0]);
+ $r = mb_ereg_search_regs();//get next result
+ }
+ while($r);
+ }
+?>
+--EXPECT--
+string(9) "中国abc"
+string(3) "abc"
+string(6) "字符"
+string(5) "china"
+string(6) "string"
--- /dev/null
+--TEST--
+mb_ereg_search_pos() # a test for the basic function of mb_ereg_search_pos
+--SKIPIF--
+<?php
+if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
+?>
+--FILE--
+<?php
+
+$test_str = 'Iñtërnâtiônàlizætiøn';
+
+if(mb_ereg_search_init($test_str))
+{
+ $val=mb_ereg_search_pos("nâtiôn");
+
+ var_dump($val);
+
+}
+else{
+ var_dump("false");
+}
+?>
+--EXPECT--
+array(2) {
+ [0]=>
+ int(5)
+ [1]=>
+ int(6)
+}
+
+
--- /dev/null
+--TEST--
+Funktionstest mb_ereg_search_regs()
+--SKIPIF--
+<?php
+if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
+function_exists('mb_ereg_search_regs') or die("skip mb_ereg_search_regs() not available");
+?>
+--FILE--
+<?php
+ // homepage:
+
+ //$mb_str = "Алексей Федорович Карамазов был Алексей Федорович Карамазов был kyrillischer string string";
+ // = "Lorem ipsum dolor sit amet"
+
+ mb_ereg_search_init("Алексей Федорович Карамазов был Алексей Федорович Карамазов был");
+
+
+
+ $match= mb_ereg_search_regs("ов");
+ var_dump($match);
+
+
+?>
+--EXPECT--
+array(1) {
+ [0]=>
+ string(4) "ов"
+}
--- /dev/null
+--TEST--
+mb_eregi() and invalid arguments
+--SKIPIF--
+<?php
+if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
+if (!function_exists("mb_eregi")) print "skip mb_eregi() not available";
+?>
+--FILE--
+<?php
+
+mb_regex_encoding('utf-8');
+
+var_dump(mb_eregi('z', 'XYZ'));
+var_dump(mb_eregi('xyzp', 'XYZ'));
+var_dump(mb_eregi('ö', 'Öäü'));
+?>
+--EXPECT--
+int(1)
+bool(false)
+int(1)
--- /dev/null
+--TEST--
+mb_eregi() and invalid arguments
+--SKIPIF--
+<?php
+if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
+if (!function_exists("mb_eregi")) print "skip mb_eregi() not available";
+?>
+--FILE--
+<?php
+
+mb_regex_encoding('utf-8');
+
+var_dump(mb_eregi('z', 'XYZ'));
+var_dump(mb_eregi('xyzp', 'XYZ'));
+var_dump(mb_eregi('ö', 'Öäü'));
+?>
+--EXPECT--
+int(1)
+bool(false)
+int(1)
--- /dev/null
+--TEST--
+Testing mb_eregi_replace() function
+--SKIPIF--
+<?php
+if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
+function_exists('mb_eregi_replace') or die("skip mb_eregi_replace() is not available in this build");
+?>
+--FILE--
+<?php
+function do_translit($st) {
+ $replacement = array(
+ "й"=>"i","ц"=>"c","у"=>"u","к"=>"k","е"=>"e","н"=>"n",
+ "г"=>"g","ш"=>"sh","щ"=>"sh","з"=>"z","х"=>"x","ъ"=>"\'",
+ "ф"=>"f","ы"=>"i","в"=>"v","а"=>"a","п"=>"p","р"=>"r",
+ "о"=>"o","л"=>"l","д"=>"d","ж"=>"zh","э"=>"ie","ё"=>"e",
+ "я"=>"ya","ч"=>"ch","с"=>"c","м"=>"m","и"=>"i","т"=>"t",
+ "ь"=>"\'","б"=>"b","ю"=>"yu",
+ "Й"=>"I","Ц"=>"C","У"=>"U","К"=>"K","Е"=>"E","Н"=>"N",
+ "Г"=>"G","Ш"=>"SH","Щ"=>"SH","З"=>"Z","Х"=>"X","Ъ"=>"\'",
+ "Ф"=>"F","Ы"=>"I","В"=>"V","А"=>"A","П"=>"P","Р"=>"R",
+ "О"=>"O","Л"=>"L","Д"=>"D","Ж"=>"ZH","Э"=>"IE","Ё"=>"E",
+ "Я"=>"YA","Ч"=>"CH","С"=>"C","М"=>"M","И"=>"I","Т"=>"T",
+ "Ь"=>"\'","Б"=>"B","Ю"=>"YU",
+ );
+
+ foreach($replacement as $i=>$u) {
+ $st = mb_eregi_replace($i,$u,$st);
+ }
+ return $st;
+}
+
+echo do_translit("Фуцк");
+?>
+--EXPECT--
+Fuck
+--CREDITS--
+Testfest Wuerzburg 2009-06-20