comparison cake/tests/cases/libs/multibyte.test.php @ 0:261e66bd5a0c

hg init
author Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
date Sun, 24 Jul 2011 21:08:31 +0900
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:261e66bd5a0c
1 <?php
2 /**
3 * MultibyteTest file
4 *
5 * PHP versions 4 and 5
6 *
7 * CakePHP(tm) Tests <http://book.cakephp.org/view/1196/Testing>
8 * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
9 *
10 * Licensed under The Open Group Test Suite License
11 * Redistributions of files must retain the above copyright notice.
12 *
13 * @copyright Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
14 * @link http://book.cakephp.org/view/1196/Testing CakePHP(tm) Tests
15 * @package cake
16 * @subpackage cake.tests.cases.libs
17 * @since CakePHP(tm) v 1.2.0.6833
18 * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License
19 */
20 App::import('Core', 'Multibyte');
21
22 /**
23 * MultibyteTest class
24 *
25 * @package cake
26 * @subpackage cake.tests.cases.libs
27 */
28 class MultibyteTest extends CakeTestCase {
29
30 /**
31 * testUtf8 method
32 *
33 * @access public
34 * @return void
35 */
36 function testUtf8() {
37 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
38 $result = Multibyte::utf8($string);
39 $expected = array(33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
40 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
41 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
42 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126);
43 $this->assertEqual($result, $expected);
44
45 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
46 $result = Multibyte::utf8($string);
47 $expected = array(161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
48 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200);
49 $this->assertEqual($result, $expected);
50
51 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
52 $result = Multibyte::utf8($string);
53 $expected = array(201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
54 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
55 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
56 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
57 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300);
58 $this->assertEqual($result, $expected);
59
60 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
61 $result = Multibyte::utf8($string);
62 $expected = array(301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
63 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
64 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
65 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
66 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400);
67 $this->assertEqual($result, $expected);
68
69 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
70 $result = Multibyte::utf8($string);
71 $expected = array(401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
72 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
73 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
74 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
75 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500);
76 $this->assertEqual($result, $expected);
77
78 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
79 $result = Multibyte::utf8($string);
80 $expected = array(601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
81 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
82 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
83 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684,
84 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700);
85 $this->assertEqual($result, $expected);
86
87 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
88 $result = Multibyte::utf8($string);
89 $expected = array(1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041,
90 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051);
91 $this->assertEqual($result, $expected);
92
93 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
94 $result = Multibyte::utf8($string);
95 $expected = array(1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069,
96 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087,
97 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100);
98 $this->assertEqual($result, $expected);
99
100 $string = 'չպջռսվտ';
101 $result = Multibyte::utf8($string);
102 $expected = array(1401, 1402, 1403, 1404, 1405, 1406, 1407);
103 $this->assertEqual($result, $expected);
104
105 $string = 'فقكلمنهوىيًٌٍَُ';
106 $result = Multibyte::utf8($string);
107 $expected = array(1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615);
108 $this->assertEqual($result, $expected);
109
110 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
111 $result = Multibyte::utf8($string);
112 $expected = array(10032, 10033, 10034, 10035, 10036, 10037, 10038, 10039, 10040, 10041, 10042, 10043, 10044,
113 10045, 10046, 10047, 10048, 10049, 10050, 10051, 10052, 10053, 10054, 10055, 10056, 10057,
114 10058, 10059, 10060, 10061, 10062, 10063, 10064, 10065, 10066, 10067, 10068, 10069, 10070,
115 10071, 10072, 10073, 10074, 10075, 10076, 10077, 10078);
116 $this->assertEqual($result, $expected);
117
118 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
119 $result = Multibyte::utf8($string);
120 $expected = array(11904, 11905, 11906, 11907, 11908, 11909, 11910, 11911, 11912, 11913, 11914, 11915, 11916, 11917, 11918, 11919,
121 11920, 11921, 11922, 11923, 11924, 11925, 11926, 11927, 11928, 11929, 11931, 11932, 11933, 11934, 11935, 11936,
122 11937, 11938, 11939, 11940, 11941, 11942, 11943, 11944, 11945, 11946, 11947, 11948, 11949, 11950, 11951, 11952,
123 11953, 11954, 11955, 11956, 11957, 11958, 11959, 11960, 11961, 11962, 11963, 11964, 11965, 11966, 11967, 11968,
124 11969, 11970, 11971, 11972, 11973, 11974, 11975, 11976, 11977, 11978, 11979, 11980, 11981, 11982, 11983, 11984,
125 11985, 11986, 11987, 11988, 11989, 11990, 11991, 11992, 11993, 11994, 11995, 11996, 11997, 11998, 11999, 12000);
126 $this->assertEqual($result, $expected);
127
128 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
129 $result = Multibyte::utf8($string);
130 $expected = array(12101, 12102, 12103, 12104, 12105, 12106, 12107, 12108, 12109, 12110, 12111, 12112, 12113, 12114, 12115, 12116,
131 12117, 12118, 12119, 12120, 12121, 12122, 12123, 12124, 12125, 12126, 12127, 12128, 12129, 12130, 12131, 12132,
132 12133, 12134, 12135, 12136, 12137, 12138, 12139, 12140, 12141, 12142, 12143, 12144, 12145, 12146, 12147, 12148,
133 12149, 12150, 12151, 12152, 12153, 12154, 12155, 12156, 12157, 12158, 12159);
134 $this->assertEqual($result, $expected);
135
136 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
137 $result = Multibyte::utf8($string);
138 $expected = array(45601, 45602, 45603, 45604, 45605, 45606, 45607, 45608, 45609, 45610, 45611, 45612, 45613, 45614, 45615, 45616,
139 45617, 45618, 45619, 45620, 45621, 45622, 45623, 45624, 45625, 45626, 45627, 45628, 45629, 45630, 45631, 45632,
140 45633, 45634, 45635, 45636, 45637, 45638, 45639, 45640, 45641, 45642, 45643, 45644, 45645, 45646, 45647, 45648,
141 45649, 45650, 45651, 45652, 45653, 45654, 45655, 45656, 45657, 45658, 45659, 45660, 45661, 45662, 45663, 45664,
142 45665, 45666, 45667, 45668, 45669, 45670, 45671, 45672, 45673, 45674, 45675, 45676, 45677, 45678, 45679, 45680,
143 45681, 45682, 45683, 45684, 45685, 45686, 45687, 45688, 45689, 45690, 45691, 45692, 45693, 45694, 45695, 45696,
144 45697, 45698, 45699, 45700);
145 $this->assertEqual($result, $expected);
146
147 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
148 $result = Multibyte::utf8($string);
149 $expected = array(65136, 65137, 65138, 65139, 65140, 65141, 65142, 65143, 65144, 65145, 65146, 65147, 65148, 65149, 65150, 65151,
150 65152, 65153, 65154, 65155, 65156, 65157, 65158, 65159, 65160, 65161, 65162, 65163, 65164, 65165, 65166, 65167,
151 65168, 65169, 65170, 65171, 65172, 65173, 65174, 65175, 65176, 65177, 65178, 65179, 65180, 65181, 65182, 65183,
152 65184, 65185, 65186, 65187, 65188, 65189, 65190, 65191, 65192, 65193, 65194, 65195, 65196, 65197, 65198, 65199,
153 65200);
154 $this->assertEqual($result, $expected);
155
156 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
157 $result = Multibyte::utf8($string);
158 $expected = array(65201, 65202, 65203, 65204, 65205, 65206, 65207, 65208, 65209, 65210, 65211, 65212, 65213, 65214, 65215, 65216,
159 65217, 65218, 65219, 65220, 65221, 65222, 65223, 65224, 65225, 65226, 65227, 65228, 65229, 65230, 65231, 65232,
160 65233, 65234, 65235, 65236, 65237, 65238, 65239, 65240, 65241, 65242, 65243, 65244, 65245, 65246, 65247, 65248,
161 65249, 65250, 65251, 65252, 65253, 65254, 65255, 65256, 65257, 65258, 65259, 65260, 65261, 65262, 65263, 65264,
162 65265, 65266, 65267, 65268, 65269, 65270, 65271, 65272, 65273, 65274, 65275, 65276);
163 $this->assertEqual($result, $expected);
164
165
166 $string = 'abcdefghijklmnopqrstuvwxyz';
167 $result = Multibyte::utf8($string);
168 $expected = array(65345, 65346, 65347, 65348, 65349, 65350, 65351, 65352, 65353, 65354, 65355, 65356, 65357, 65358, 65359, 65360,
169 65361, 65362, 65363, 65364, 65365, 65366, 65367, 65368, 65369, 65370);
170 $this->assertEqual($result, $expected);
171
172
173 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
174 $result = Multibyte::utf8($string);
175 $expected = array(65377, 65378, 65379, 65380, 65381, 65382, 65383, 65384, 65385, 65386, 65387, 65388, 65389, 65390, 65391, 65392,
176 65393, 65394, 65395, 65396, 65397, 65398, 65399, 65400);
177 $this->assertEqual($result, $expected);
178
179 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
180 $result = Multibyte::utf8($string);
181 $expected = array(65401, 65402, 65403, 65404, 65405, 65406, 65407, 65408, 65409, 65410, 65411, 65412, 65413, 65414, 65415, 65416,
182 65417, 65418, 65419, 65420, 65421, 65422, 65423, 65424, 65425, 65426, 65427, 65428, 65429, 65430, 65431, 65432,
183 65433, 65434, 65435, 65436, 65437, 65438);
184 $this->assertEqual($result, $expected);
185
186 $string = 'Ĥēĺļŏ, Ŵőřļď!';
187 $result = Multibyte::utf8($string);
188 $expected = array(292, 275, 314, 316, 335, 44, 32, 372, 337, 345, 316, 271, 33);
189 $this->assertEqual($result, $expected);
190
191 $string = 'Hello, World!';
192 $result = Multibyte::utf8($string);
193 $expected = array(72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33);
194 $this->assertEqual($result, $expected);
195
196 $string = '¨';
197 $result = Multibyte::utf8($string);
198 $expected = array(168);
199 $this->assertEqual($result, $expected);
200
201 $string = '¿';
202 $result = Multibyte::utf8($string);
203 $expected = array(191);
204 $this->assertEqual($result, $expected);
205
206 $string = 'čini';
207 $result = Multibyte::utf8($string);
208 $expected = array(269, 105, 110, 105);
209 $this->assertEqual($result, $expected);
210
211 $string = 'moći';
212 $result = Multibyte::utf8($string);
213 $expected = array(109, 111, 263, 105);
214 $this->assertEqual($result, $expected);
215
216 $string = 'državni';
217 $result = Multibyte::utf8($string);
218 $expected = array(100, 114, 382, 97, 118, 110, 105);
219 $this->assertEqual($result, $expected);
220
221 $string = '把百度设为首页';
222 $result = Multibyte::utf8($string);
223 $expected = array(25226, 30334, 24230, 35774, 20026, 39318, 39029);
224 $this->assertEqual($result, $expected);
225
226 $string = '一二三周永龍';
227 $result = Multibyte::utf8($string);
228 $expected = array(19968, 20108, 19977, 21608, 27704, 40845);
229 $this->assertEqual($result, $expected);
230
231 $string = 'ԀԂԄԆԈԊԌԎԐԒ';
232 $result = Multibyte::utf8($string);
233 $expected = array(1280, 1282, 1284, 1286, 1288, 1290, 1292, 1294, 1296, 1298);
234 $this->assertEqual($result, $expected);
235
236 $string = 'ԁԃԅԇԉԋԍԏԐԒ';
237 $result = Multibyte::utf8($string);
238 $expected = array(1281, 1283, 1285, 1287, 1289, 1291, 1293, 1295, 1296, 1298);
239 $this->assertEqual($result, $expected);
240
241 $string = 'ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖև';
242 $result = Multibyte::utf8($string);
243 $expected = array(1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346,
244 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364,
245 1365, 1366, 1415);
246 $this->assertEqual($result, $expected);
247
248 $string = 'աբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆև';
249 $result = Multibyte::utf8($string);
250 $expected = array(1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394,
251 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412,
252 1413, 1414, 1415);
253 $this->assertEqual($result, $expected);
254
255 $string = 'ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ';
256 $result = Multibyte::utf8($string);
257 $expected = array(4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4266, 4267, 4268, 4269, 4270, 4271, 4272, 4273,
258 4274, 4275, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4285, 4286, 4287, 4288, 4289, 4290, 4291,
259 4292, 4293);
260 $this->assertEqual($result, $expected);
261
262 $string = 'ḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẖẗẘẙẚẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸ';
263 $result = Multibyte::utf8($string);
264 $expected = array(7680, 7682, 7684, 7686, 7688, 7690, 7692, 7694, 7696, 7698, 7700, 7702, 7704, 7706, 7708, 7710, 7712, 7714,
265 7716, 7718, 7720, 7722, 7724, 7726, 7728, 7730, 7732, 7734, 7736, 7738, 7740, 7742, 7744, 7746, 7748, 7750,
266 7752, 7754, 7756, 7758, 7760, 7762, 7764, 7766, 7768, 7770, 7772, 7774, 7776, 7778, 7780, 7782, 7784, 7786,
267 7788, 7790, 7792, 7794, 7796, 7798, 7800, 7802, 7804, 7806, 7808, 7810, 7812, 7814, 7816, 7818, 7820, 7822,
268 7824, 7826, 7828, 7830, 7831, 7832, 7833, 7834, 7840, 7842, 7844, 7846, 7848, 7850, 7852, 7854, 7856,
269 7858, 7860, 7862, 7864, 7866, 7868, 7870, 7872, 7874, 7876, 7878, 7880, 7882, 7884, 7886, 7888, 7890, 7892,
270 7894, 7896, 7898, 7900, 7902, 7904, 7906, 7908, 7910, 7912, 7914, 7916, 7918, 7920, 7922, 7924, 7926, 7928);
271 $this->assertEqual($result, $expected);
272
273 $string = 'ḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕẖẗẘẙẚạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹ';
274 $result = Multibyte::utf8($string);
275 $expected = array(7681, 7683, 7685, 7687, 7689, 7691, 7693, 7695, 7697, 7699, 7701, 7703, 7705, 7707, 7709, 7711, 7713, 7715,
276 7717, 7719, 7721, 7723, 7725, 7727, 7729, 7731, 7733, 7735, 7737, 7739, 7741, 7743, 7745, 7747, 7749, 7751,
277 7753, 7755, 7757, 7759, 7761, 7763, 7765, 7767, 7769, 7771, 7773, 7775, 7777, 7779, 7781, 7783, 7785, 7787,
278 7789, 7791, 7793, 7795, 7797, 7799, 7801, 7803, 7805, 7807, 7809, 7811, 7813, 7815, 7817, 7819, 7821, 7823,
279 7825, 7827, 7829, 7830, 7831, 7832, 7833, 7834, 7841, 7843, 7845, 7847, 7849, 7851, 7853, 7855, 7857, 7859,
280 7861, 7863, 7865, 7867, 7869, 7871, 7873, 7875, 7877, 7879, 7881, 7883, 7885, 7887, 7889, 7891, 7893, 7895,
281 7897, 7899, 7901, 7903, 7905, 7907, 7909, 7911, 7913, 7915, 7917, 7919, 7921, 7923, 7925, 7927, 7929);
282 $this->assertEqual($result, $expected);
283
284 $string = 'ΩKÅℲ';
285 $result = Multibyte::utf8($string);
286 $expected = array(8486, 8490, 8491, 8498);
287 $this->assertEqual($result, $expected);
288
289 $string = 'ωkåⅎ';
290 $result = Multibyte::utf8($string);
291 $expected = array(969, 107, 229, 8526);
292 $this->assertEqual($result, $expected);
293
294 $string = 'ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯↃ';
295 $result = Multibyte::utf8($string);
296 $expected = array(8544, 8545, 8546, 8547, 8548, 8549, 8550, 8551, 8552, 8553, 8554, 8555, 8556, 8557, 8558, 8559, 8579);
297 $this->assertEqual($result, $expected);
298
299 $string = 'ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿↄ';
300 $result = Multibyte::utf8($string);
301 $expected = array(8560, 8561, 8562, 8563, 8564, 8565, 8566, 8567, 8568, 8569, 8570, 8571, 8572, 8573, 8574, 8575, 8580);
302 $this->assertEqual($result, $expected);
303
304 $string = 'ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ';
305 $result = Multibyte::utf8($string);
306 $expected = array(9398, 9399, 9400, 9401, 9402, 9403, 9404, 9405, 9406, 9407, 9408, 9409, 9410, 9411, 9412, 9413, 9414,
307 9415, 9416, 9417, 9418, 9419, 9420, 9421, 9422, 9423);
308 $this->assertEqual($result, $expected);
309
310 $string = 'ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ';
311 $result = Multibyte::utf8($string);
312 $expected = array(9424, 9425, 9426, 9427, 9428, 9429, 9430, 9431, 9432, 9433, 9434, 9435, 9436, 9437, 9438, 9439, 9440, 9441,
313 9442, 9443, 9444, 9445, 9446, 9447, 9448, 9449);
314 $this->assertEqual($result, $expected);
315
316 $string = 'ⰀⰁⰂⰃⰄⰅⰆⰇⰈⰉⰊⰋⰌⰍⰎⰏⰐⰑⰒⰓⰔⰕⰖⰗⰘⰙⰚⰛⰜⰝⰞⰟⰠⰡⰢⰣⰤⰥⰦⰧⰨⰩⰪⰫⰬⰭⰮ';
317 $result = Multibyte::utf8($string);
318 $expected = array(11264, 11265, 11266, 11267, 11268, 11269, 11270, 11271, 11272, 11273, 11274, 11275, 11276, 11277, 11278,
319 11279, 11280, 11281, 11282, 11283, 11284, 11285, 11286, 11287, 11288, 11289, 11290, 11291, 11292, 11293,
320 11294, 11295, 11296, 11297, 11298, 11299, 11300, 11301, 11302, 11303, 11304, 11305, 11306, 11307, 11308,
321 11309, 11310);
322 $this->assertEqual($result, $expected);
323
324 $string = 'ⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊⱋⱌⱍⱎⱏⱐⱑⱒⱓⱔⱕⱖⱗⱘⱙⱚⱛⱜⱝⱞ';
325 $result = Multibyte::utf8($string);
326 $expected = array(11312, 11313, 11314, 11315, 11316, 11317, 11318, 11319, 11320, 11321, 11322, 11323, 11324, 11325, 11326, 11327,
327 11328, 11329, 11330, 11331, 11332, 11333, 11334, 11335, 11336, 11337, 11338, 11339, 11340, 11341, 11342, 11343,
328 11344, 11345, 11346, 11347, 11348, 11349, 11350, 11351, 11352, 11353, 11354, 11355, 11356, 11357, 11358);
329 $this->assertEqual($result, $expected);
330
331 $string = 'ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢ';
332 $result = Multibyte::utf8($string);
333 $expected = array(11392, 11394, 11396, 11398, 11400, 11402, 11404, 11406, 11408, 11410, 11412, 11414, 11416, 11418, 11420,
334 11422, 11424, 11426, 11428, 11430, 11432, 11434, 11436, 11438, 11440, 11442, 11444, 11446, 11448, 11450,
335 11452, 11454, 11456, 11458, 11460, 11462, 11464, 11466, 11468, 11470, 11472, 11474, 11476, 11478, 11480,
336 11482, 11484, 11486, 11488, 11490);
337 $this->assertEqual($result, $expected);
338
339 $string = 'ⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣ';
340 $result = Multibyte::utf8($string);
341 $expected = array(11393, 11395, 11397, 11399, 11401, 11403, 11405, 11407, 11409, 11411, 11413, 11415, 11417, 11419, 11421, 11423,
342 11425, 11427, 11429, 11431, 11433, 11435, 11437, 11439, 11441, 11443, 11445, 11447, 11449, 11451, 11453, 11455,
343 11457, 11459, 11461, 11463, 11465, 11467, 11469, 11471, 11473, 11475, 11477, 11479, 11481, 11483, 11485, 11487,
344 11489, 11491);
345 $this->assertEqual($result, $expected);
346
347
348 $string = 'fffiflffifflſtstﬓﬔﬕﬖﬗ';
349 $result = Multibyte::utf8($string);
350 $expected = array(64256, 64257, 64258, 64259, 64260, 64261, 64262, 64275, 64276, 64277, 64278, 64279);
351 $this->assertEqual($result, $expected);
352 }
353
354 /**
355 * testAscii method
356 *
357 * @access public
358 * @return void
359 */
360 function testAscii() {
361 $utf8 = array(33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
362 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
363 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
364 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126);
365 $result = Multibyte::ascii($utf8);
366
367 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
368 $this->assertEqual($result, $expected);
369
370 $utf8 = array(161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
371 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200);
372 $result = Multibyte::ascii($utf8);
373
374 $expected = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
375 $this->assertEqual($result, $expected);
376
377 $utf8 = array(201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
378 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
379 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
380 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
381 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300);
382 $result = Multibyte::ascii($utf8);
383 $expected = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
384 $this->assertEqual($result, $expected);
385
386 $utf8 = array(301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
387 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
388 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
389 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
390 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400);
391 $expected = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
392 $result = Multibyte::ascii($utf8);
393 $this->assertEqual($result, $expected);
394
395 $utf8 = array(401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
396 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
397 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
398 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
399 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500);
400 $expected = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
401 $result = Multibyte::ascii($utf8);
402 $this->assertEqual($result, $expected);
403
404 $utf8 = array(601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
405 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
406 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
407 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684,
408 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700);
409 $expected = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
410 $result = Multibyte::ascii($utf8);
411 $this->assertEqual($result, $expected);
412
413 $utf8 = array(1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041,
414 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051);
415 $expected = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
416 $result = Multibyte::ascii($utf8);
417 $this->assertEqual($result, $expected);
418
419 $utf8 = array(1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069,
420 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087,
421 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100);
422 $expected = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
423 $result = Multibyte::ascii($utf8);
424 $this->assertEqual($result, $expected);
425
426 $utf8 = array(1401, 1402, 1403, 1404, 1405, 1406, 1407);
427 $expected = 'չպջռսվտ';
428 $result = Multibyte::ascii($utf8);
429 $this->assertEqual($result, $expected);
430
431 $utf8 = array(1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615);
432 $expected = 'فقكلمنهوىيًٌٍَُ';
433 $result = Multibyte::ascii($utf8);
434 $this->assertEqual($result, $expected);
435
436 $utf8 = array(10032, 10033, 10034, 10035, 10036, 10037, 10038, 10039, 10040, 10041, 10042, 10043, 10044,
437 10045, 10046, 10047, 10048, 10049, 10050, 10051, 10052, 10053, 10054, 10055, 10056, 10057,
438 10058, 10059, 10060, 10061, 10062, 10063, 10064, 10065, 10066, 10067, 10068, 10069, 10070,
439 10071, 10072, 10073, 10074, 10075, 10076, 10077, 10078);
440 $expected = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
441 $result = Multibyte::ascii($utf8);
442 $this->assertEqual($result, $expected);
443
444 $utf8 = array(11904, 11905, 11906, 11907, 11908, 11909, 11910, 11911, 11912, 11913, 11914, 11915, 11916, 11917, 11918, 11919,
445 11920, 11921, 11922, 11923, 11924, 11925, 11926, 11927, 11928, 11929, 11931, 11932, 11933, 11934, 11935, 11936,
446 11937, 11938, 11939, 11940, 11941, 11942, 11943, 11944, 11945, 11946, 11947, 11948, 11949, 11950, 11951, 11952,
447 11953, 11954, 11955, 11956, 11957, 11958, 11959, 11960, 11961, 11962, 11963, 11964, 11965, 11966, 11967, 11968,
448 11969, 11970, 11971, 11972, 11973, 11974, 11975, 11976, 11977, 11978, 11979, 11980, 11981, 11982, 11983, 11984,
449 11985, 11986, 11987, 11988, 11989, 11990, 11991, 11992, 11993, 11994, 11995, 11996, 11997, 11998, 11999, 12000);
450 $expected = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
451 $result = Multibyte::ascii($utf8);
452 $this->assertEqual($result, $expected);
453
454 $utf8 = array(12101, 12102, 12103, 12104, 12105, 12106, 12107, 12108, 12109, 12110, 12111, 12112, 12113, 12114, 12115, 12116,
455 12117, 12118, 12119, 12120, 12121, 12122, 12123, 12124, 12125, 12126, 12127, 12128, 12129, 12130, 12131, 12132,
456 12133, 12134, 12135, 12136, 12137, 12138, 12139, 12140, 12141, 12142, 12143, 12144, 12145, 12146, 12147, 12148,
457 12149, 12150, 12151, 12152, 12153, 12154, 12155, 12156, 12157, 12158, 12159);
458 $expected = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
459 $result = Multibyte::ascii($utf8);
460 $this->assertEqual($result, $expected);
461
462 $utf8 = array(45601, 45602, 45603, 45604, 45605, 45606, 45607, 45608, 45609, 45610, 45611, 45612, 45613, 45614, 45615, 45616,
463 45617, 45618, 45619, 45620, 45621, 45622, 45623, 45624, 45625, 45626, 45627, 45628, 45629, 45630, 45631, 45632,
464 45633, 45634, 45635, 45636, 45637, 45638, 45639, 45640, 45641, 45642, 45643, 45644, 45645, 45646, 45647, 45648,
465 45649, 45650, 45651, 45652, 45653, 45654, 45655, 45656, 45657, 45658, 45659, 45660, 45661, 45662, 45663, 45664,
466 45665, 45666, 45667, 45668, 45669, 45670, 45671, 45672, 45673, 45674, 45675, 45676, 45677, 45678, 45679, 45680,
467 45681, 45682, 45683, 45684, 45685, 45686, 45687, 45688, 45689, 45690, 45691, 45692, 45693, 45694, 45695, 45696,
468 45697, 45698, 45699, 45700);
469 $expected = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
470 $result = Multibyte::ascii($utf8);
471 $this->assertEqual($result, $expected);
472
473 $utf8 = array(65136, 65137, 65138, 65139, 65140, 65141, 65142, 65143, 65144, 65145, 65146, 65147, 65148, 65149, 65150, 65151,
474 65152, 65153, 65154, 65155, 65156, 65157, 65158, 65159, 65160, 65161, 65162, 65163, 65164, 65165, 65166, 65167,
475 65168, 65169, 65170, 65171, 65172, 65173, 65174, 65175, 65176, 65177, 65178, 65179, 65180, 65181, 65182, 65183,
476 65184, 65185, 65186, 65187, 65188, 65189, 65190, 65191, 65192, 65193, 65194, 65195, 65196, 65197, 65198, 65199,
477 65200);
478 $expected = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
479 $result = Multibyte::ascii($utf8);
480 $this->assertEqual($result, $expected);
481
482 $utf8 = array(65201, 65202, 65203, 65204, 65205, 65206, 65207, 65208, 65209, 65210, 65211, 65212, 65213, 65214, 65215, 65216,
483 65217, 65218, 65219, 65220, 65221, 65222, 65223, 65224, 65225, 65226, 65227, 65228, 65229, 65230, 65231, 65232,
484 65233, 65234, 65235, 65236, 65237, 65238, 65239, 65240, 65241, 65242, 65243, 65244, 65245, 65246, 65247, 65248,
485 65249, 65250, 65251, 65252, 65253, 65254, 65255, 65256, 65257, 65258, 65259, 65260, 65261, 65262, 65263, 65264,
486 65265, 65266, 65267, 65268, 65269, 65270, 65271, 65272, 65273, 65274, 65275, 65276);
487 $expected = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
488 $result = Multibyte::ascii($utf8);
489 $this->assertEqual($result, $expected);
490
491 $utf8 = array(65345, 65346, 65347, 65348, 65349, 65350, 65351, 65352, 65353, 65354, 65355, 65356, 65357, 65358, 65359, 65360,
492 65361, 65362, 65363, 65364, 65365, 65366, 65367, 65368, 65369, 65370);
493 $expected = 'abcdefghijklmnopqrstuvwxyz';
494 $result = Multibyte::ascii($utf8);
495 $this->assertEqual($result, $expected);
496
497 $utf8 = array(65377, 65378, 65379, 65380, 65381, 65382, 65383, 65384, 65385, 65386, 65387, 65388, 65389, 65390, 65391, 65392,
498 65393, 65394, 65395, 65396, 65397, 65398, 65399, 65400);
499 $expected = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
500 $result = Multibyte::ascii($utf8);
501 $this->assertEqual($result, $expected);
502
503 $utf8 = array(65401, 65402, 65403, 65404, 65405, 65406, 65407, 65408, 65409, 65410, 65411, 65412, 65413, 65414, 65415, 65416,
504 65417, 65418, 65419, 65420, 65421, 65422, 65423, 65424, 65425, 65426, 65427, 65428, 65429, 65430, 65431, 65432,
505 65433, 65434, 65435, 65436, 65437, 65438);
506 $expected = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
507 $result = Multibyte::ascii($utf8);
508 $this->assertEqual($result, $expected);
509
510 $utf8 = array(292, 275, 314, 316, 335, 44, 32, 372, 337, 345, 316, 271, 33);
511 $expected = 'Ĥēĺļŏ, Ŵőřļď!';
512 $result = Multibyte::ascii($utf8);
513 $this->assertEqual($result, $expected);
514
515 $utf8 = array(72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33);
516 $expected = 'Hello, World!';
517 $result = Multibyte::ascii($utf8);
518 $this->assertEqual($result, $expected);
519
520 $utf8 = array(168);
521 $expected = '¨';
522 $result = Multibyte::ascii($utf8);
523 $this->assertEqual($result, $expected);
524
525 $utf8 = array(191);
526 $expected = '¿';
527 $result = Multibyte::ascii($utf8);
528 $this->assertEqual($result, $expected);
529
530 $utf8 = array(269, 105, 110, 105);
531 $expected = 'čini';
532 $result = Multibyte::ascii($utf8);
533 $this->assertEqual($result, $expected);
534
535 $utf8 = array(109, 111, 263, 105);
536 $expected = 'moći';
537 $result = Multibyte::ascii($utf8);
538 $this->assertEqual($result, $expected);
539
540 $utf8 = array(100, 114, 382, 97, 118, 110, 105);
541 $expected = 'državni';
542 $result = Multibyte::ascii($utf8);
543 $this->assertEqual($result, $expected);
544
545 $utf8 = array(25226, 30334, 24230, 35774, 20026, 39318, 39029);
546 $expected = '把百度设为首页';
547 $result = Multibyte::ascii($utf8);
548 $this->assertEqual($result, $expected);
549
550 $utf8 = array(19968, 20108, 19977, 21608, 27704, 40845);
551 $expected = '一二三周永龍';
552 $result = Multibyte::ascii($utf8);
553 $this->assertEqual($result, $expected);
554
555 $utf8 = array(1280, 1282, 1284, 1286, 1288, 1290, 1292, 1294, 1296, 1298);
556 $expected = 'ԀԂԄԆԈԊԌԎԐԒ';
557 $result = Multibyte::ascii($utf8);
558 $this->assertEqual($result, $expected);
559
560 $utf8 = array(1281, 1283, 1285, 1287, 1289, 1291, 1293, 1295, 1296, 1298);
561 $expected = 'ԁԃԅԇԉԋԍԏԐԒ';
562 $result = Multibyte::ascii($utf8);
563 $this->assertEqual($result, $expected);
564
565 $utf8 = array(1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347,
566 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365,
567 1366, 1415);
568 $result = Multibyte::ascii($utf8);
569 $expected = 'ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖև';
570 $this->assertEqual($result, $expected);
571
572 $utf8 = array(1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394,
573 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412,
574 1413, 1414, 1415);
575 $result = Multibyte::ascii($utf8);
576 $expected = 'աբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆև';
577 $this->assertEqual($result, $expected);
578
579 $utf8 = array(4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4266, 4267, 4268, 4269, 4270, 4271, 4272, 4273, 4274,
580 4275, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4285, 4286, 4287, 4288, 4289, 4290, 4291, 4292, 4293);
581 $result = Multibyte::ascii($utf8);
582 $expected = 'ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ';
583 $this->assertEqual($result, $expected);
584
585 $utf8 = array(7680, 7682, 7684, 7686, 7688, 7690, 7692, 7694, 7696, 7698, 7700, 7702, 7704, 7706, 7708, 7710, 7712, 7714,
586 7716, 7718, 7720, 7722, 7724, 7726, 7728, 7730, 7732, 7734, 7736, 7738, 7740, 7742, 7744, 7746, 7748, 7750,
587 7752, 7754, 7756, 7758, 7760, 7762, 7764, 7766, 7768, 7770, 7772, 7774, 7776, 7778, 7780, 7782, 7784, 7786,
588 7788, 7790, 7792, 7794, 7796, 7798, 7800, 7802, 7804, 7806, 7808, 7810, 7812, 7814, 7816, 7818, 7820, 7822,
589 7824, 7826, 7828, 7830, 7831, 7832, 7833, 7834, 7840, 7842, 7844, 7846, 7848, 7850, 7852, 7854, 7856,
590 7858, 7860, 7862, 7864, 7866, 7868, 7870, 7872, 7874, 7876, 7878, 7880, 7882, 7884, 7886, 7888, 7890, 7892,
591 7894, 7896, 7898, 7900, 7902, 7904, 7906, 7908, 7910, 7912, 7914, 7916, 7918, 7920, 7922, 7924, 7926, 7928);
592 $result = Multibyte::ascii($utf8);
593 $expected = 'ḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẖẗẘẙẚẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸ';
594 $this->assertEqual($result, $expected);
595
596 $utf8 = array(7681, 7683, 7685, 7687, 7689, 7691, 7693, 7695, 7697, 7699, 7701, 7703, 7705, 7707, 7709, 7711, 7713, 7715,
597 7717, 7719, 7721, 7723, 7725, 7727, 7729, 7731, 7733, 7735, 7737, 7739, 7741, 7743, 7745, 7747, 7749, 7751,
598 7753, 7755, 7757, 7759, 7761, 7763, 7765, 7767, 7769, 7771, 7773, 7775, 7777, 7779, 7781, 7783, 7785, 7787,
599 7789, 7791, 7793, 7795, 7797, 7799, 7801, 7803, 7805, 7807, 7809, 7811, 7813, 7815, 7817, 7819, 7821, 7823,
600 7825, 7827, 7829, 7830, 7831, 7832, 7833, 7834, 7841, 7843, 7845, 7847, 7849, 7851, 7853, 7855, 7857, 7859,
601 7861, 7863, 7865, 7867, 7869, 7871, 7873, 7875, 7877, 7879, 7881, 7883, 7885, 7887, 7889, 7891, 7893, 7895,
602 7897, 7899, 7901, 7903, 7905, 7907, 7909, 7911, 7913, 7915, 7917, 7919, 7921, 7923, 7925, 7927, 7929);
603 $result = Multibyte::ascii($utf8);
604 $expected = 'ḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕẖẗẘẙẚạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹ';
605 $this->assertEqual($result, $expected);
606
607 $utf8 = array(8486, 8490, 8491, 8498);
608 $result = Multibyte::ascii($utf8);
609 $expected = 'ΩKÅℲ';
610 $this->assertEqual($result, $expected);
611
612 $utf8 = array(969, 107, 229, 8526);
613 $result = Multibyte::ascii($utf8);
614 $expected = 'ωkåⅎ';
615 $this->assertEqual($result, $expected);
616
617 $utf8 = array(8544, 8545, 8546, 8547, 8548, 8549, 8550, 8551, 8552, 8553, 8554, 8555, 8556, 8557, 8558, 8559, 8579);
618 $result = Multibyte::ascii($utf8);
619 $expected = 'ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯↃ';
620 $this->assertEqual($result, $expected);
621
622 $utf8 = array(8560, 8561, 8562, 8563, 8564, 8565, 8566, 8567, 8568, 8569, 8570, 8571, 8572, 8573, 8574, 8575, 8580);
623 $result = Multibyte::ascii($utf8);
624 $expected = 'ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿↄ';
625 $this->assertEqual($result, $expected);
626
627 $utf8 = array(9398, 9399, 9400, 9401, 9402, 9403, 9404, 9405, 9406, 9407, 9408, 9409, 9410, 9411, 9412, 9413, 9414,
628 9415, 9416, 9417, 9418, 9419, 9420, 9421, 9422, 9423);
629 $result = Multibyte::ascii($utf8);
630 $expected = 'ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ';
631 $this->assertEqual($result, $expected);
632
633 $utf8 = array(9424, 9425, 9426, 9427, 9428, 9429, 9430, 9431, 9432, 9433, 9434, 9435, 9436, 9437, 9438, 9439, 9440, 9441,
634 9442, 9443, 9444, 9445, 9446, 9447, 9448, 9449);
635 $result = Multibyte::ascii($utf8);
636 $expected = 'ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ';
637 $this->assertEqual($result, $expected);
638
639 $utf8 = array(11264, 11265, 11266, 11267, 11268, 11269, 11270, 11271, 11272, 11273, 11274, 11275, 11276, 11277, 11278, 11279,
640 11280, 11281, 11282, 11283, 11284, 11285, 11286, 11287, 11288, 11289, 11290, 11291, 11292, 11293, 11294, 11295,
641 11296, 11297, 11298, 11299, 11300, 11301, 11302, 11303, 11304, 11305, 11306, 11307, 11308, 11309, 11310);
642 $result = Multibyte::ascii($utf8);
643 $expected = 'ⰀⰁⰂⰃⰄⰅⰆⰇⰈⰉⰊⰋⰌⰍⰎⰏⰐⰑⰒⰓⰔⰕⰖⰗⰘⰙⰚⰛⰜⰝⰞⰟⰠⰡⰢⰣⰤⰥⰦⰧⰨⰩⰪⰫⰬⰭⰮ';
644 $this->assertEqual($result, $expected);
645
646 $utf8 = array(11312, 11313, 11314, 11315, 11316, 11317, 11318, 11319, 11320, 11321, 11322, 11323, 11324, 11325, 11326, 11327,
647 11328, 11329, 11330, 11331, 11332, 11333, 11334, 11335, 11336, 11337, 11338, 11339, 11340, 11341, 11342, 11343,
648 11344, 11345, 11346, 11347, 11348, 11349, 11350, 11351, 11352, 11353, 11354, 11355, 11356, 11357, 11358);
649 $result = Multibyte::ascii($utf8);
650 $expected = 'ⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊⱋⱌⱍⱎⱏⱐⱑⱒⱓⱔⱕⱖⱗⱘⱙⱚⱛⱜⱝⱞ';
651 $this->assertEqual($result, $expected);
652
653 $utf8 = array(11392, 11394, 11396, 11398, 11400, 11402, 11404, 11406, 11408, 11410, 11412, 11414, 11416, 11418, 11420,
654 11422, 11424, 11426, 11428, 11430, 11432, 11434, 11436, 11438, 11440, 11442, 11444, 11446, 11448, 11450,
655 11452, 11454, 11456, 11458, 11460, 11462, 11464, 11466, 11468, 11470, 11472, 11474, 11476, 11478, 11480,
656 11482, 11484, 11486, 11488, 11490);
657 $result = Multibyte::ascii($utf8);
658 $expected = 'ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢ';
659 $this->assertEqual($result, $expected);
660
661 $utf8 = array(11393, 11395, 11397, 11399, 11401, 11403, 11405, 11407, 11409, 11411, 11413, 11415, 11417, 11419, 11421, 11423,
662 11425, 11427, 11429, 11431, 11433, 11435, 11437, 11439, 11441, 11443, 11445, 11447, 11449, 11451, 11453, 11455,
663 11457, 11459, 11461, 11463, 11465, 11467, 11469, 11471, 11473, 11475, 11477, 11479, 11481, 11483, 11485, 11487,
664 11489, 11491);
665 $result = Multibyte::ascii($utf8);
666 $expected = 'ⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣ';
667 $this->assertEqual($result, $expected);
668
669 $utf8 = array(64256, 64257, 64258, 64259, 64260, 64261, 64262, 64275, 64276, 64277, 64278, 64279);
670 $result = Multibyte::ascii($utf8);
671 $expected = 'fffiflffifflſtstﬓﬔﬕﬖﬗ';
672 $this->assertEqual($result, $expected);
673 }
674
675 /**
676 * testUsingMbStripos method
677 *
678 * @access public
679 * @return void
680 */
681 function testUsingMbStripos() {
682 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
683 $find = 'f';
684 $result = mb_stripos($string, $find);
685 $expected = 5;
686 $this->assertEqual($result, $expected);
687
688 $string = 'ABCDEFGHIJKLMNOPQFRSTUVWXYZ0123456789';
689 $find = 'f';
690 $result = mb_stripos($string, $find, 6);
691 $expected = 17;
692 $this->assertEqual($result, $expected);
693
694 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
695 $find = 'å';
696 $result = mb_stripos($string, $find);
697 $expected = 5;
698 $this->assertEqual($result, $expected);
699
700 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞ';
701 $find = 'å';
702 $result = mb_stripos($string, $find, 6);
703 $expected = 24;
704 $this->assertEqual($result, $expected);
705
706 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
707 $find = 'ċ';
708 $result = mb_stripos($string, $find);
709 $expected = 5;
710 $this->assertEqual($result, $expected);
711
712 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁĊŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
713 $find = 'ċ';
714 $result = mb_stripos($string, $find, 6);
715 $expected = 32;
716 $this->assertEqual($result, $expected);
717
718 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
719 $find = 'f';
720 $result = mb_stripos($string, $find);
721 $expected = 37;
722 $this->assertEqual($result, $expected);
723
724 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
725 $find = 'Μ';
726 $result = mb_stripos($string, $find);
727 $expected = 20;
728 $this->assertEqual($result, $expected);
729
730 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
731 $find = 'É';
732 $result = mb_stripos($string, $find, 6);
733 $expected = 32;
734 $this->assertEqual($result, $expected);
735
736 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
737 $find = 'Ņ';
738 $result = mb_stripos($string, $find);
739 $expected = 24;
740 $this->assertEqual($result, $expected);
741
742 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
743 $find = 'Ƹ';
744 $result = mb_stripos($string, $find);
745 $expected = 39;
746 $this->assertEqual($result, $expected);
747
748 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
749 $find = 'Ƹ';
750 $result = mb_stripos($string, $find, 40);
751 $expected = 40;
752 $this->assertEqual($result, $expected);
753
754 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
755 $find = 'Ʀ';
756 $result = mb_stripos($string, $find);
757 $expected = 39;
758 $this->assertEqual($result, $expected);
759
760 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
761 $find = 'ї';
762 $result = mb_stripos($string, $find);
763 $expected = 7;
764 $this->assertEqual($result, $expected);
765
766 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
767 $find = 'Р';
768 $result = mb_stripos($string, $find);
769 $expected = 4;
770 $this->assertEqual($result, $expected);
771
772 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
773 $find = 'Р';
774 $result = mb_stripos($string, $find, 5);
775 $expected = 36;
776 $this->assertEqual($result, $expected);
777
778 $string = 'فقكلمنهوىيًٌٍَُ';
779 $find = 'ن';
780 $result = mb_stripos($string, $find);
781 $expected = 5;
782 $this->assertEqual($result, $expected);
783
784 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
785 $find = '✿';
786 $result = mb_stripos($string, $find);
787 $expected = 15;
788 $this->assertEqual($result, $expected);
789
790 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
791 $find = '⺐';
792 $result = mb_stripos($string, $find);
793 $expected = 16;
794 $this->assertEqual($result, $expected);
795
796 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
797 $find = '⽤';
798 $result = mb_stripos($string, $find);
799 $expected = 31;
800 $this->assertEqual($result, $expected);
801
802 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
803 $find = '눻';
804 $result = mb_stripos($string, $find);
805 $expected = 26;
806 $this->assertEqual($result, $expected);
807
808 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
809 $find = 'ﺞ';
810 $result = mb_stripos($string, $find);
811 $expected = 46;
812 $this->assertEqual($result, $expected);
813
814 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
815 $find = 'ﻞ';
816 $result = mb_stripos($string, $find);
817 $expected = 45;
818 $this->assertEqual($result, $expected);
819
820 $string = 'abcdefghijklmnopqrstuvwxyz';
821 $find = 'k';
822 $result = mb_stripos($string, $find);
823 $expected = 10;
824 $this->assertEqual($result, $expected);
825
826 $string = 'abcdefghijklmnopqrstuvwxyz';
827 $find = 'K';
828 $result = mb_stripos($string, $find);
829 $expected = 10;
830 $this->assertEqual($result, $expected);
831
832 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
833 $find = 'ア';
834 $result = mb_stripos($string, $find);
835 $expected = 16;
836 $this->assertEqual($result, $expected);
837
838 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
839 $find = 'ハ';
840 $result = mb_stripos($string, $find);
841 $expected = 17;
842 $this->assertEqual($result, $expected);
843
844 $string = 'Ĥēĺļŏ, Ŵőřļď!';
845 $find = 'ő';
846 $result = mb_stripos($string, $find);
847 $expected = 8;
848 $this->assertEqual($result, $expected);
849
850 $string = 'Ĥēĺļŏ, Ŵőřļď!';
851 $find = 'Ő';
852 $result = mb_stripos($string, $find);
853 $expected = 8;
854 $this->assertEqual($result, $expected);
855
856 $string = 'Hello, World!';
857 $find = 'O';
858 $result = mb_stripos($string, $find);
859 $expected = 4;
860 $this->assertEqual($result, $expected);
861
862 $string = 'Hello, World!';
863 $find = 'o';
864 $result = mb_stripos($string, $find);
865 $expected = 4;
866 $this->assertEqual($result, $expected);
867
868 $string = 'čini';
869 $find = 'n';
870 $result = mb_stripos($string, $find);
871 $expected = 2;
872 $this->assertEqual($result, $expected);
873
874 $string = 'čini';
875 $find = 'N';
876 $result = mb_stripos($string, $find);
877 $expected = 2;
878 $this->assertEqual($result, $expected);
879
880 $string = 'moći';
881 $find = 'ć';
882 $result = mb_stripos($string, $find);
883 $expected = 2;
884 $this->assertEqual($result, $expected);
885
886 $string = 'moći';
887 $find = 'Ć';
888 $result = mb_stripos($string, $find);
889 $expected = 2;
890 $this->assertEqual($result, $expected);
891
892 $string = 'državni';
893 $find = 'ž';
894 $result = mb_stripos($string, $find);
895 $expected = 2;
896 $this->assertEqual($result, $expected);
897
898 $string = 'državni';
899 $find = 'Ž';
900 $result = mb_stripos($string, $find);
901 $expected = 2;
902 $this->assertEqual($result, $expected);
903
904 $string = '把百度设为首页';
905 $find = '设';
906 $result = mb_stripos($string, $find);
907 $expected = 3;
908 $this->assertEqual($result, $expected);
909
910 $string = '一二三周永龍';
911 $find = '周';
912 $result = mb_stripos($string, $find);
913 $expected = 3;
914 $this->assertEqual($result, $expected);
915
916 $string = 'državni';
917 $find = 'DŽ';
918 $result = mb_stripos($string, $find);
919 $expected = false;
920 $this->assertEqual($result, $expected);
921 }
922
923 /**
924 * testMultibyteStripos method
925 *
926 * @access public
927 * @return void
928 */
929 function testMultibyteStripos() {
930 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
931 $find = 'f';
932 $result = Multibyte::stripos($string, $find);
933 $expected = 5;
934 $this->assertEqual($result, $expected);
935
936 $string = 'ABCDEFGHIJKLMNOPQFRSTUVWXYZ0123456789';
937 $find = 'f';
938 $result = Multibyte::stripos($string, $find, 6);
939 $expected = 17;
940 $this->assertEqual($result, $expected);
941
942 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
943 $find = 'å';
944 $result = Multibyte::stripos($string, $find);
945 $expected = 5;
946 $this->assertEqual($result, $expected);
947
948 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞ';
949 $find = 'å';
950 $result = Multibyte::stripos($string, $find, 6);
951 $expected = 24;
952 $this->assertEqual($result, $expected);
953
954 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
955 $find = 'ċ';
956 $result = Multibyte::stripos($string, $find);
957 $expected = 5;
958 $this->assertEqual($result, $expected);
959
960 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁĊŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
961 $find = 'ċ';
962 $result = Multibyte::stripos($string, $find, 6);
963 $expected = 32;
964 $this->assertEqual($result, $expected);
965
966 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
967 $find = 'f';
968 $result = Multibyte::stripos($string, $find);
969 $expected = 37;
970 $this->assertEqual($result, $expected);
971
972 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
973 $find = 'Μ';
974 $result = Multibyte::stripos($string, $find);
975 $expected = 20;
976 $this->assertEqual($result, $expected);
977
978 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
979 $find = 'É';
980 $result = Multibyte::stripos($string, $find, 6);
981 $expected = 32;
982 $this->assertEqual($result, $expected);
983
984 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
985 $find = 'Ņ';
986 $result = Multibyte::stripos($string, $find);
987 $expected = 24;
988 $this->assertEqual($result, $expected);
989
990 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
991 $find = 'Ƹ';
992 $result = Multibyte::stripos($string, $find);
993 $expected = 39;
994 $this->assertEqual($result, $expected);
995
996 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
997 $find = 'Ƹ';
998 $result = Multibyte::stripos($string, $find, 40);
999 $expected = 40;
1000 $this->assertEqual($result, $expected);
1001
1002 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
1003 $find = 'Ʀ';
1004 $result = Multibyte::stripos($string, $find);
1005 $expected = 39;
1006 $this->assertEqual($result, $expected);
1007
1008 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
1009 $find = 'ї';
1010 $result = Multibyte::stripos($string, $find);
1011 $expected = 7;
1012 $this->assertEqual($result, $expected);
1013
1014 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
1015 $find = 'Р';
1016 $result = Multibyte::stripos($string, $find);
1017 $expected = 4;
1018 $this->assertEqual($result, $expected);
1019
1020 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
1021 $find = 'Р';
1022 $result = Multibyte::stripos($string, $find, 5);
1023 $expected = 36;
1024 $this->assertEqual($result, $expected);
1025
1026 $string = 'فقكلمنهوىيًٌٍَُ';
1027 $find = 'ن';
1028 $result = Multibyte::stripos($string, $find);
1029 $expected = 5;
1030 $this->assertEqual($result, $expected);
1031
1032 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
1033 $find = '✿';
1034 $result = Multibyte::stripos($string, $find);
1035 $expected = 15;
1036 $this->assertEqual($result, $expected);
1037
1038 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
1039 $find = '⺐';
1040 $result = Multibyte::stripos($string, $find);
1041 $expected = 16;
1042 $this->assertEqual($result, $expected);
1043
1044 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
1045 $find = '⽤';
1046 $result = Multibyte::stripos($string, $find);
1047 $expected = 31;
1048 $this->assertEqual($result, $expected);
1049
1050 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
1051 $find = '눻';
1052 $result = Multibyte::stripos($string, $find);
1053 $expected = 26;
1054 $this->assertEqual($result, $expected);
1055
1056 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
1057 $find = 'ﺞ';
1058 $result = Multibyte::stripos($string, $find);
1059 $expected = 46;
1060 $this->assertEqual($result, $expected);
1061
1062 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
1063 $find = 'ﻞ';
1064 $result = Multibyte::stripos($string, $find);
1065 $expected = 45;
1066 $this->assertEqual($result, $expected);
1067
1068 $string = 'abcdefghijklmnopqrstuvwxyz';
1069 $find = 'k';
1070 $result = Multibyte::stripos($string, $find);
1071 $expected = 10;
1072 $this->assertEqual($result, $expected);
1073
1074 $string = 'abcdefghijklmnopqrstuvwxyz';
1075 $find = 'K';
1076 $result = Multibyte::stripos($string, $find);
1077 $expected = 10;
1078 $this->assertEqual($result, $expected);
1079
1080 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
1081 $find = 'ア';
1082 $result = Multibyte::stripos($string, $find);
1083 $expected = 16;
1084 $this->assertEqual($result, $expected);
1085
1086 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
1087 $find = 'ハ';
1088 $result = Multibyte::stripos($string, $find);
1089 $expected = 17;
1090 $this->assertEqual($result, $expected);
1091
1092 $string = 'Ĥēĺļŏ, Ŵőřļď!';
1093 $find = 'ő';
1094 $result = Multibyte::stripos($string, $find);
1095 $expected = 8;
1096 $this->assertEqual($result, $expected);
1097
1098 $string = 'Ĥēĺļŏ, Ŵőřļď!';
1099 $find = 'Ő';
1100 $result = Multibyte::stripos($string, $find);
1101 $expected = 8;
1102 $this->assertEqual($result, $expected);
1103
1104 $string = 'Hello, World!';
1105 $find = 'O';
1106 $result = Multibyte::stripos($string, $find);
1107 $expected = 4;
1108 $this->assertEqual($result, $expected);
1109
1110 $string = 'Hello, World!';
1111 $find = 'o';
1112 $result = Multibyte::stripos($string, $find);
1113 $expected = 4;
1114 $this->assertEqual($result, $expected);
1115
1116 $string = 'čini';
1117 $find = 'n';
1118 $result = Multibyte::stripos($string, $find);
1119 $expected = 2;
1120 $this->assertEqual($result, $expected);
1121
1122 $string = 'čini';
1123 $find = 'N';
1124 $result = Multibyte::stripos($string, $find);
1125 $expected = 2;
1126 $this->assertEqual($result, $expected);
1127
1128 $string = 'moći';
1129 $find = 'ć';
1130 $result = Multibyte::stripos($string, $find);
1131 $expected = 2;
1132 $this->assertEqual($result, $expected);
1133
1134 $string = 'moći';
1135 $find = 'Ć';
1136 $result = Multibyte::stripos($string, $find);
1137 $expected = 2;
1138 $this->assertEqual($result, $expected);
1139
1140 $string = 'državni';
1141 $find = 'ž';
1142 $result = Multibyte::stripos($string, $find);
1143 $expected = 2;
1144 $this->assertEqual($result, $expected);
1145
1146 $string = 'državni';
1147 $find = 'Ž';
1148 $result = Multibyte::stripos($string, $find);
1149 $expected = 2;
1150 $this->assertEqual($result, $expected);
1151
1152 $string = '把百度设为首页';
1153 $find = '设';
1154 $result = Multibyte::stripos($string, $find);
1155 $expected = 3;
1156 $this->assertEqual($result, $expected);
1157
1158 $string = '一二三周永龍';
1159 $find = '周';
1160 $result = Multibyte::stripos($string, $find);
1161 $expected = 3;
1162 $this->assertEqual($result, $expected);
1163
1164 $string = 'državni';
1165 $find = 'DŽ';
1166 $result = Multibyte::stripos($string, $find);
1167 $expected = false;
1168 $this->assertEqual($result, $expected);
1169 }
1170
1171 /**
1172 * testUsingMbStristr method
1173 *
1174 * @access public
1175 * @return void
1176 */
1177 function testUsingMbStristr() {
1178 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
1179 $find = 'f';
1180 $result = mb_stristr($string, $find);
1181 $expected = 'FGHIJKLMNOPQRSTUVWXYZ0123456789';
1182 $this->assertEqual($result, $expected);
1183
1184 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
1185 $find = 'f';
1186 $result = mb_stristr($string, $find, true);
1187 $expected = 'ABCDE';
1188 $this->assertEqual($result, $expected);
1189
1190 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
1191 $find = 'å';
1192 $result = mb_stristr($string, $find);
1193 $expected = 'ÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
1194 $this->assertEqual($result, $expected);
1195
1196 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
1197 $find = 'å';
1198 $result = mb_stristr($string, $find, true);
1199 $expected = 'ÀÁÂÃÄ';
1200 $this->assertEqual($result, $expected);
1201
1202 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
1203 $find = 'ċ';
1204 $result = mb_stristr($string, $find);
1205 $expected = 'ĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
1206 $this->assertEqual($result, $expected);
1207
1208 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
1209 $find = 'ċ';
1210 $result = mb_stristr($string, $find, true);
1211 $expected = 'ĀĂĄĆĈ';
1212 $this->assertEqual($result, $expected);
1213
1214 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
1215 $find = 'f';
1216 $result = mb_stristr($string, $find);
1217 $expected = 'FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
1218 $this->assertEqual($result, $expected);
1219
1220 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
1221 $find = 'f';
1222 $result = mb_stristr($string, $find, true);
1223 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDE';
1224 $this->assertEqual($result, $expected);
1225
1226 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
1227 $find = 'Μ';
1228 $result = mb_stristr($string, $find);
1229 $expected = 'µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
1230 $this->assertEqual($result, $expected);
1231
1232 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
1233 $find = 'Μ';
1234 $result = mb_stristr($string, $find, true);
1235 $expected = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´';
1236 $this->assertEqual($result, $expected);
1237
1238 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
1239 $find = 'þ';
1240 $result = mb_stristr($string, $find);
1241 $expected = 'Þßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
1242 $this->assertEqual($result, $expected);
1243
1244 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
1245 $find = 'þ';
1246 $result = mb_stristr($string, $find, true);
1247 $expected = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝ';
1248 $this->assertEqual($result, $expected);
1249
1250 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
1251 $find = 'Ņ';
1252 $result = mb_stristr($string, $find);
1253 $expected = 'ŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
1254 $this->assertEqual($result, $expected);
1255
1256 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
1257 $find = 'Ņ';
1258 $result = mb_stristr($string, $find, true);
1259 $expected = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃń';
1260 $this->assertEqual($result, $expected);
1261
1262 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
1263 $find = 'Ƹ';
1264 $result = mb_stristr($string, $find);
1265 $expected = 'ƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
1266 $this->assertEqual($result, $expected);
1267
1268 $find = 'Ƹ';
1269 $result = mb_stristr($string, $find, true);
1270 $expected = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷ';
1271 $this->assertEqual($result, $expected);
1272
1273 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
1274 $find = 'Ʀ';
1275 $result = mb_stristr($string, $find);
1276 $expected = 'ʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
1277 $this->assertEqual($result, $expected);
1278
1279 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
1280 $find = 'Ʀ';
1281 $result = mb_stristr($string, $find, true);
1282 $expected = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿ';
1283 $this->assertEqual($result, $expected);
1284
1285 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
1286 $find = 'ї';
1287 $result = mb_stristr($string, $find);
1288 $expected = 'ЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
1289 $this->assertEqual($result, $expected);
1290
1291 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
1292 $find = 'ї';
1293 $result = mb_stristr($string, $find, true);
1294 $expected = 'ЀЁЂЃЄЅІ';
1295 $this->assertEqual($result, $expected);
1296
1297 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
1298 $find = 'Р';
1299 $result = mb_stristr($string, $find);
1300 $expected = 'РСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
1301 $this->assertEqual($result, $expected);
1302
1303 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
1304 $find = 'Р';
1305 $result = mb_stristr($string, $find, true);
1306 $expected = 'МНОП';
1307 $this->assertEqual($result, $expected);
1308
1309 $string = 'فقكلمنهوىيًٌٍَُ';
1310 $find = 'ن';
1311 $result = mb_stristr($string, $find);
1312 $expected = 'نهوىيًٌٍَُ';
1313 $this->assertEqual($result, $expected);
1314
1315 $string = 'فقكلمنهوىيًٌٍَُ';
1316 $find = 'ن';
1317 $result = mb_stristr($string, $find, true);
1318 $expected = 'فقكلم';
1319 $this->assertEqual($result, $expected);
1320
1321 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
1322 $find = '✿';
1323 $result = mb_stristr($string, $find);
1324 $expected = '✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
1325 $this->assertEqual($result, $expected);
1326
1327 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
1328 $find = '✿';
1329 $result = mb_stristr($string, $find, true);
1330 $expected = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾';
1331 $this->assertEqual($result, $expected);
1332
1333 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
1334 $find = '⺐';
1335 $result = mb_stristr($string, $find);
1336 $expected = '⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
1337 $this->assertEqual($result, $expected);
1338
1339 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
1340 $find = '⺐';
1341 $result = mb_stristr($string, $find, true);
1342 $expected = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏';
1343 $this->assertEqual($result, $expected);
1344
1345 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
1346 $find = '⽤';
1347 $result = mb_stristr($string, $find);
1348 $expected = '⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
1349 $this->assertEqual($result, $expected);
1350
1351 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
1352 $find = '⽤';
1353 $result = mb_stristr($string, $find, true);
1354 $expected = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣';
1355 $this->assertEqual($result, $expected);
1356
1357 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
1358 $find = '눻';
1359 $result = mb_stristr($string, $find);
1360 $expected = '눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
1361 $this->assertEqual($result, $expected);
1362
1363 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
1364 $find = '눻';
1365 $result = mb_stristr($string, $find, true);
1366 $expected = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺';
1367 $this->assertEqual($result, $expected);
1368
1369 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
1370 $find = 'ﺞ';
1371 $result = mb_stristr($string, $find);
1372 $expected = 'ﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
1373 $this->assertEqual($result, $expected);
1374
1375 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
1376 $find = 'ﺞ';
1377 $result = mb_stristr($string, $find, true);
1378 $expected = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝ';
1379 $this->assertEqual($result, $expected);
1380
1381 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
1382 $find = 'ﻞ';
1383 $result = mb_stristr($string, $find);
1384 $expected = 'ﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
1385 $this->assertEqual($result, $expected);
1386
1387 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
1388 $find = 'ﻞ';
1389 $result = mb_stristr($string, $find, true);
1390 $expected = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝ';
1391 $this->assertEqual($result, $expected);
1392
1393 $string = 'abcdefghijklmnopqrstuvwxyz';
1394 $find = 'K';
1395 $result = mb_stristr($string, $find);
1396 $expected = 'klmnopqrstuvwxyz';
1397 $this->assertEqual($result, $expected);
1398
1399 $string = 'abcdefghijklmnopqrstuvwxyz';
1400 $find = 'K';
1401 $result = mb_stristr($string, $find, true);
1402 $expected = 'abcdefghij';
1403 $this->assertEqual($result, $expected);
1404
1405 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
1406 $find = 'ア';
1407 $result = mb_stristr($string, $find);
1408 $expected = 'アイウエオカキク';
1409 $this->assertEqual($result, $expected);
1410
1411 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
1412 $find = 'ア';
1413 $result = mb_stristr($string, $find, true);
1414 $expected = '。「」、・ヲァィゥェォャュョッー';
1415 $this->assertEqual($result, $expected);
1416
1417 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
1418 $find = 'ハ';
1419 $result = mb_stristr($string, $find);
1420 $expected = 'ハヒフヘホマミムメモヤユヨラリルレロワン゙';
1421 $this->assertEqual($result, $expected);
1422
1423 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
1424 $find = 'ハ';
1425 $result = mb_stristr($string, $find, true);
1426 $expected = 'ケコサシスセソタチツテトナニヌネノ';
1427 $this->assertEqual($result, $expected);
1428
1429 $string = 'Ĥēĺļŏ, Ŵőřļď!';
1430 $find = 'Ő';
1431 $result = mb_stristr($string, $find);
1432 $expected = 'őřļď!';
1433 $this->assertEqual($result, $expected);
1434
1435 $string = 'Ĥēĺļŏ, Ŵőřļď!';
1436 $find = 'Ő';
1437 $result = mb_stristr($string, $find, true);
1438 $expected = 'Ĥēĺļŏ, Ŵ';
1439 $this->assertEqual($result, $expected);
1440
1441 $string = 'Ĥēĺļŏ, Ŵőřļď!';
1442 $find = 'ĺļ';
1443 $result = mb_stristr($string, $find, true);
1444 $expected = 'Ĥē';
1445 $this->assertEqual($result, $expected);
1446
1447 $string = 'Hello, World!';
1448 $find = 'O';
1449 $result = mb_stristr($string, $find);
1450 $expected = 'o, World!';
1451 $this->assertEqual($result, $expected);
1452
1453 $string = 'Hello, World!';
1454 $find = 'O';
1455 $result = mb_stristr($string, $find, true);
1456 $expected = 'Hell';
1457 $this->assertEqual($result, $expected);
1458
1459 $string = 'Hello, World!';
1460 $find = 'Wo';
1461 $result = mb_stristr($string, $find);
1462 $expected = 'World!';
1463 $this->assertEqual($result, $expected);
1464
1465 $string = 'Hello, World!';
1466 $find = 'Wo';
1467 $result = mb_stristr($string, $find, true);
1468 $expected = 'Hello, ';
1469 $this->assertEqual($result, $expected);
1470
1471 $string = 'Hello, World!';
1472 $find = 'll';
1473 $result = mb_stristr($string, $find);
1474 $expected = 'llo, World!';
1475 $this->assertEqual($result, $expected);
1476
1477 $string = 'Hello, World!';
1478 $find = 'll';
1479 $result = mb_stristr($string, $find, true);
1480 $expected = 'He';
1481 $this->assertEqual($result, $expected);
1482
1483 $string = 'Hello, World!';
1484 $find = 'rld';
1485 $result = mb_stristr($string, $find);
1486 $expected = 'rld!';
1487 $this->assertEqual($result, $expected);
1488
1489 $string = 'Hello, World!';
1490 $find = 'rld';
1491 $result = mb_stristr($string, $find, true);
1492 $expected = 'Hello, Wo';
1493 $this->assertEqual($result, $expected);
1494
1495 $string = 'čini';
1496 $find = 'N';
1497 $result = mb_stristr($string, $find);
1498 $expected = 'ni';
1499 $this->assertEqual($result, $expected);
1500
1501 $string = 'čini';
1502 $find = 'N';
1503 $result = mb_stristr($string, $find, true);
1504 $expected = 'či';
1505 $this->assertEqual($result, $expected);
1506
1507 $string = 'moći';
1508 $find = 'Ć';
1509 $result = mb_stristr($string, $find);
1510 $expected = 'ći';
1511 $this->assertEqual($result, $expected);
1512
1513 $string = 'moći';
1514 $find = 'Ć';
1515 $result = mb_stristr($string, $find, true);
1516 $expected = 'mo';
1517 $this->assertEqual($result, $expected);
1518
1519 $string = 'državni';
1520 $find = 'Ž';
1521 $result = mb_stristr($string, $find);
1522 $expected = 'žavni';
1523 $this->assertEqual($result, $expected);
1524
1525 $string = 'državni';
1526 $find = 'Ž';
1527 $result = mb_stristr($string, $find, true);
1528 $expected = 'dr';
1529 $this->assertEqual($result, $expected);
1530
1531 $string = '把百度设为首页';
1532 $find = '设';
1533 $result = mb_stristr($string, $find);
1534 $expected = '设为首页';
1535 $this->assertEqual($result, $expected);
1536
1537 $string = '把百度设为首页';
1538 $find = '设';
1539 $result = mb_stristr($string, $find, true);
1540 $expected = '把百度';
1541 $this->assertEqual($result, $expected);
1542
1543 $string = '一二三周永龍';
1544 $find = '周';
1545 $result = mb_stristr($string, $find);
1546 $expected = '周永龍';
1547 $this->assertEqual($result, $expected);
1548
1549 $string = '一二三周永龍';
1550 $find = '周';
1551 $result = mb_stristr($string, $find, true);
1552 $expected = '一二三';
1553 $this->assertEqual($result, $expected);
1554
1555 $string = '一二三周永龍';
1556 $find = '二周';
1557 $result = mb_stristr($string, $find);
1558 $expected = false;
1559 $this->assertEqual($result, $expected);
1560 }
1561
1562 /**
1563 * testMultibyteStristr method
1564 *
1565 * @access public
1566 * @return void
1567 */
1568 function testMultibyteStristr() {
1569 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
1570 $find = 'f';
1571 $result = Multibyte::stristr($string, $find);
1572 $expected = 'FGHIJKLMNOPQRSTUVWXYZ0123456789';
1573 $this->assertEqual($result, $expected);
1574
1575 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
1576 $find = 'f';
1577 $result = Multibyte::stristr($string, $find, true);
1578 $expected = 'ABCDE';
1579 $this->assertEqual($result, $expected);
1580
1581 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
1582 $find = 'å';
1583 $result = Multibyte::stristr($string, $find);
1584 $expected = 'ÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
1585 $this->assertEqual($result, $expected);
1586
1587 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
1588 $find = 'å';
1589 $result = Multibyte::stristr($string, $find, true);
1590 $expected = 'ÀÁÂÃÄ';
1591 $this->assertEqual($result, $expected);
1592
1593 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
1594 $find = 'ċ';
1595 $result = Multibyte::stristr($string, $find);
1596 $expected = 'ĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
1597 $this->assertEqual($result, $expected);
1598
1599 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
1600 $find = 'ċ';
1601 $result = Multibyte::stristr($string, $find, true);
1602 $expected = 'ĀĂĄĆĈ';
1603 $this->assertEqual($result, $expected);
1604
1605 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
1606 $find = 'f';
1607 $result = Multibyte::stristr($string, $find);
1608 $expected = 'FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
1609 $this->assertEqual($result, $expected);
1610
1611 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
1612 $find = 'f';
1613 $result = Multibyte::stristr($string, $find, true);
1614 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDE';
1615 $this->assertEqual($result, $expected);
1616
1617 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
1618 $find = 'Μ';
1619 $result = Multibyte::stristr($string, $find);
1620 $expected = 'µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
1621 $this->assertEqual($result, $expected);
1622
1623 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
1624 $find = 'Μ';
1625 $result = Multibyte::stristr($string, $find, true);
1626 $expected = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´';
1627 $this->assertEqual($result, $expected);
1628
1629 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
1630 $find = 'þ';
1631 $result = Multibyte::stristr($string, $find);
1632 $expected = 'Þßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
1633 $this->assertEqual($result, $expected);
1634
1635 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
1636 $find = 'þ';
1637 $result = Multibyte::stristr($string, $find, true);
1638 $expected = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝ';
1639 $this->assertEqual($result, $expected);
1640
1641 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
1642 $find = 'Ņ';
1643 $result = Multibyte::stristr($string, $find);
1644 $expected = 'ŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
1645 $this->assertEqual($result, $expected);
1646
1647 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
1648 $find = 'Ņ';
1649 $result = Multibyte::stristr($string, $find, true);
1650 $expected = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃń';
1651 $this->assertEqual($result, $expected);
1652
1653 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
1654 $find = 'Ƹ';
1655 $result = Multibyte::stristr($string, $find);
1656 $expected = 'ƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
1657 $this->assertEqual($result, $expected);
1658
1659 $find = 'Ƹ';
1660 $result = Multibyte::stristr($string, $find, true);
1661 $expected = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷ';
1662 $this->assertEqual($result, $expected);
1663
1664 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
1665 $find = 'Ʀ';
1666 $result = Multibyte::stristr($string, $find);
1667 $expected = 'ʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
1668 $this->assertEqual($result, $expected);
1669
1670 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
1671 $find = 'Ʀ';
1672 $result = Multibyte::stristr($string, $find, true);
1673 $expected = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿ';
1674 $this->assertEqual($result, $expected);
1675
1676 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
1677 $find = 'ї';
1678 $result = Multibyte::stristr($string, $find);
1679 $expected = 'ЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
1680 $this->assertEqual($result, $expected);
1681
1682 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
1683 $find = 'ї';
1684 $result = Multibyte::stristr($string, $find, true);
1685 $expected = 'ЀЁЂЃЄЅІ';
1686 $this->assertEqual($result, $expected);
1687
1688 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
1689 $find = 'Р';
1690 $result = Multibyte::stristr($string, $find);
1691 $expected = 'РСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
1692 $this->assertEqual($result, $expected);
1693
1694 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
1695 $find = 'Р';
1696 $result = Multibyte::stristr($string, $find, true);
1697 $expected = 'МНОП';
1698 $this->assertEqual($result, $expected);
1699
1700 $string = 'فقكلمنهوىيًٌٍَُ';
1701 $find = 'ن';
1702 $result = Multibyte::stristr($string, $find);
1703 $expected = 'نهوىيًٌٍَُ';
1704 $this->assertEqual($result, $expected);
1705
1706 $string = 'فقكلمنهوىيًٌٍَُ';
1707 $find = 'ن';
1708 $result = Multibyte::stristr($string, $find, true);
1709 $expected = 'فقكلم';
1710 $this->assertEqual($result, $expected);
1711
1712 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
1713 $find = '✿';
1714 $result = Multibyte::stristr($string, $find);
1715 $expected = '✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
1716 $this->assertEqual($result, $expected);
1717
1718 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
1719 $find = '✿';
1720 $result = Multibyte::stristr($string, $find, true);
1721 $expected = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾';
1722 $this->assertEqual($result, $expected);
1723
1724 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
1725 $find = '⺐';
1726 $result = Multibyte::stristr($string, $find);
1727 $expected = '⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
1728 $this->assertEqual($result, $expected);
1729
1730 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
1731 $find = '⺐';
1732 $result = Multibyte::stristr($string, $find, true);
1733 $expected = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏';
1734 $this->assertEqual($result, $expected);
1735
1736 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
1737 $find = '⽤';
1738 $result = Multibyte::stristr($string, $find);
1739 $expected = '⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
1740 $this->assertEqual($result, $expected);
1741
1742 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
1743 $find = '⽤';
1744 $result = Multibyte::stristr($string, $find, true);
1745 $expected = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣';
1746 $this->assertEqual($result, $expected);
1747
1748 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
1749 $find = '눻';
1750 $result = Multibyte::stristr($string, $find);
1751 $expected = '눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
1752 $this->assertEqual($result, $expected);
1753
1754 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
1755 $find = '눻';
1756 $result = Multibyte::stristr($string, $find, true);
1757 $expected = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺';
1758 $this->assertEqual($result, $expected);
1759
1760 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
1761 $find = 'ﺞ';
1762 $result = Multibyte::stristr($string, $find);
1763 $expected = 'ﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
1764 $this->assertEqual($result, $expected);
1765
1766 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
1767 $find = 'ﺞ';
1768 $result = Multibyte::stristr($string, $find, true);
1769 $expected = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝ';
1770 $this->assertEqual($result, $expected);
1771
1772 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
1773 $find = 'ﻞ';
1774 $result = Multibyte::stristr($string, $find);
1775 $expected = 'ﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
1776 $this->assertEqual($result, $expected);
1777
1778 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
1779 $find = 'ﻞ';
1780 $result = Multibyte::stristr($string, $find, true);
1781 $expected = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝ';
1782 $this->assertEqual($result, $expected);
1783
1784 $string = 'abcdefghijklmnopqrstuvwxyz';
1785 $find = 'K';
1786 $result = Multibyte::stristr($string, $find);
1787 $expected = 'klmnopqrstuvwxyz';
1788 $this->assertEqual($result, $expected);
1789
1790 $string = 'abcdefghijklmnopqrstuvwxyz';
1791 $find = 'K';
1792 $result = Multibyte::stristr($string, $find, true);
1793 $expected = 'abcdefghij';
1794 $this->assertEqual($result, $expected);
1795
1796 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
1797 $find = 'ア';
1798 $result = Multibyte::stristr($string, $find);
1799 $expected = 'アイウエオカキク';
1800 $this->assertEqual($result, $expected);
1801
1802 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
1803 $find = 'ア';
1804 $result = Multibyte::stristr($string, $find, true);
1805 $expected = '。「」、・ヲァィゥェォャュョッー';
1806 $this->assertEqual($result, $expected);
1807
1808 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
1809 $find = 'ハ';
1810 $result = Multibyte::stristr($string, $find);
1811 $expected = 'ハヒフヘホマミムメモヤユヨラリルレロワン゙';
1812 $this->assertEqual($result, $expected);
1813
1814 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
1815 $find = 'ハ';
1816 $result = Multibyte::stristr($string, $find, true);
1817 $expected = 'ケコサシスセソタチツテトナニヌネノ';
1818 $this->assertEqual($result, $expected);
1819
1820 $string = 'Ĥēĺļŏ, Ŵőřļď!';
1821 $find = 'Ő';
1822 $result = Multibyte::stristr($string, $find);
1823 $expected = 'őřļď!';
1824 $this->assertEqual($result, $expected);
1825
1826 $string = 'Ĥēĺļŏ, Ŵőřļď!';
1827 $find = 'Ő';
1828 $result = Multibyte::stristr($string, $find, true);
1829 $expected = 'Ĥēĺļŏ, Ŵ';
1830 $this->assertEqual($result, $expected);
1831
1832 $string = 'Ĥēĺļŏ, Ŵőřļď!';
1833 $find = 'ĺļ';
1834 $result = Multibyte::stristr($string, $find, true);
1835 $expected = 'Ĥē';
1836 $this->assertEqual($result, $expected);
1837
1838 $string = 'Hello, World!';
1839 $find = 'O';
1840 $result = Multibyte::stristr($string, $find);
1841 $expected = 'o, World!';
1842 $this->assertEqual($result, $expected);
1843
1844 $string = 'Hello, World!';
1845 $find = 'O';
1846 $result = Multibyte::stristr($string, $find, true);
1847 $expected = 'Hell';
1848 $this->assertEqual($result, $expected);
1849
1850 $string = 'Hello, World!';
1851 $find = 'Wo';
1852 $result = Multibyte::stristr($string, $find);
1853 $expected = 'World!';
1854 $this->assertEqual($result, $expected);
1855
1856 $string = 'Hello, World!';
1857 $find = 'Wo';
1858 $result = Multibyte::stristr($string, $find, true);
1859 $expected = 'Hello, ';
1860 $this->assertEqual($result, $expected);
1861
1862 $string = 'Hello, World!';
1863 $find = 'll';
1864 $result = Multibyte::stristr($string, $find);
1865 $expected = 'llo, World!';
1866 $this->assertEqual($result, $expected);
1867
1868 $string = 'Hello, World!';
1869 $find = 'll';
1870 $result = Multibyte::stristr($string, $find, true);
1871 $expected = 'He';
1872 $this->assertEqual($result, $expected);
1873
1874 $string = 'Hello, World!';
1875 $find = 'rld';
1876 $result = Multibyte::stristr($string, $find);
1877 $expected = 'rld!';
1878 $this->assertEqual($result, $expected);
1879
1880 $string = 'Hello, World!';
1881 $find = 'rld';
1882 $result = Multibyte::stristr($string, $find, true);
1883 $expected = 'Hello, Wo';
1884 $this->assertEqual($result, $expected);
1885
1886 $string = 'čini';
1887 $find = 'N';
1888 $result = Multibyte::stristr($string, $find);
1889 $expected = 'ni';
1890 $this->assertEqual($result, $expected);
1891
1892 $string = 'čini';
1893 $find = 'N';
1894 $result = Multibyte::stristr($string, $find, true);
1895 $expected = 'či';
1896 $this->assertEqual($result, $expected);
1897
1898 $string = 'moći';
1899 $find = 'Ć';
1900 $result = Multibyte::stristr($string, $find);
1901 $expected = 'ći';
1902 $this->assertEqual($result, $expected);
1903
1904 $string = 'moći';
1905 $find = 'Ć';
1906 $result = Multibyte::stristr($string, $find, true);
1907 $expected = 'mo';
1908 $this->assertEqual($result, $expected);
1909
1910 $string = 'državni';
1911 $find = 'Ž';
1912 $result = Multibyte::stristr($string, $find);
1913 $expected = 'žavni';
1914 $this->assertEqual($result, $expected);
1915
1916 $string = 'državni';
1917 $find = 'Ž';
1918 $result = Multibyte::stristr($string, $find, true);
1919 $expected = 'dr';
1920 $this->assertEqual($result, $expected);
1921
1922 $string = '把百度设为首页';
1923 $find = '设';
1924 $result = Multibyte::stristr($string, $find);
1925 $expected = '设为首页';
1926 $this->assertEqual($result, $expected);
1927
1928 $string = '把百度设为首页';
1929 $find = '设';
1930 $result = Multibyte::stristr($string, $find, true);
1931 $expected = '把百度';
1932 $this->assertEqual($result, $expected);
1933
1934 $string = '一二三周永龍';
1935 $find = '周';
1936 $result = Multibyte::stristr($string, $find);
1937 $expected = '周永龍';
1938 $this->assertEqual($result, $expected);
1939
1940 $string = '一二三周永龍';
1941 $find = '周';
1942 $result = Multibyte::stristr($string, $find, true);
1943 $expected = '一二三';
1944 $this->assertEqual($result, $expected);
1945
1946 $string = '一二三周永龍';
1947 $find = '二周';
1948 $result = Multibyte::stristr($string, $find);
1949 $expected = false;
1950 $this->assertEqual($result, $expected);
1951 }
1952
1953 /**
1954 * testUsingMbStrlen method
1955 *
1956 * @access public
1957 * @return void
1958 */
1959 function testUsingMbStrlen() {
1960 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
1961 $result = mb_strlen($string);
1962 $expected = 36;
1963 $this->assertEqual($result, $expected);
1964
1965 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
1966 $result = mb_strlen($string);
1967 $expected = 30;
1968 $this->assertEqual($result, $expected);
1969
1970 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
1971 $result = mb_strlen($string);
1972 $expected = 61;
1973 $this->assertEqual($result, $expected);
1974
1975 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
1976 $result = mb_strlen($string);
1977 $expected = 94;
1978 $this->assertEqual($result, $expected);
1979
1980 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
1981 $result = mb_strlen($string);
1982 $expected = 40;
1983 $this->assertEqual($result, $expected);
1984
1985 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
1986 $result = mb_strlen($string);
1987 $expected = 100;
1988 $this->assertEqual($result, $expected);
1989
1990 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
1991 $result = mb_strlen($string);
1992 $expected = 100;
1993 $this->assertEqual($result, $expected);
1994
1995 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
1996 $result = mb_strlen($string);
1997 $expected = 100;
1998 $this->assertEqual($result, $expected);
1999
2000 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
2001 $result = mb_strlen($string);
2002 $expected = 100;
2003 $this->assertEqual($result, $expected);
2004
2005 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
2006 $result = mb_strlen($string);
2007 $expected = 28;
2008 $this->assertEqual($result, $expected);
2009
2010 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
2011 $result = mb_strlen($string);
2012 $expected = 49;
2013 $this->assertEqual($result, $expected);
2014
2015 $string = 'فقكلمنهوىيًٌٍَُ';
2016 $result = mb_strlen($string);
2017 $expected = 15;
2018 $this->assertEqual($result, $expected);
2019
2020 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
2021 $result = mb_strlen($string);
2022 $expected = 47;
2023 $this->assertEqual($result, $expected);
2024
2025 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
2026 $result = mb_strlen($string);
2027 $expected = 96;
2028 $this->assertEqual($result, $expected);
2029
2030 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
2031 $result = mb_strlen($string);
2032 $expected = 59;
2033 $this->assertEqual($result, $expected);
2034
2035 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
2036 $result = mb_strlen($string);
2037 $expected = 100;
2038 $this->assertEqual($result, $expected);
2039
2040 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
2041 $result = mb_strlen($string);
2042 $expected = 65;
2043 $this->assertEqual($result, $expected);
2044
2045 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
2046 $result = mb_strlen($string);
2047 $expected = 76;
2048 $this->assertEqual($result, $expected);
2049
2050 $string = 'abcdefghijklmnopqrstuvwxyz';
2051 $result = mb_strlen($string);
2052 $expected = 26;
2053 $this->assertEqual($result, $expected);
2054
2055 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
2056 $result = mb_strlen($string);
2057 $expected = 24;
2058 $this->assertEqual($result, $expected);
2059
2060 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
2061 $result = mb_strlen($string);
2062 $expected = 38;
2063 $this->assertEqual($result, $expected);
2064
2065 $string = 'Ĥēĺļŏ, Ŵőřļď!';
2066 $result = mb_strlen($string);
2067 $expected = 13;
2068 $this->assertEqual($result, $expected);
2069
2070 $string = 'Hello, World!';
2071 $result = mb_strlen($string);
2072 $expected = 13;
2073 $this->assertEqual($result, $expected);
2074
2075 $string = 'čini';
2076 $result = mb_strlen($string);
2077 $expected = 4;
2078 $this->assertEqual($result, $expected);
2079
2080 $string = 'moći';
2081 $result = mb_strlen($string);
2082 $expected = 4;
2083 $this->assertEqual($result, $expected);
2084
2085 $string = 'državni';
2086 $result = mb_strlen($string);
2087 $expected = 7;
2088 $this->assertEqual($result, $expected);
2089
2090 $string = '把百度设为首页';
2091 $result = mb_strlen($string);
2092 $expected = 7;
2093 $this->assertEqual($result, $expected);
2094
2095 $string = '一二三周永龍';
2096 $result = mb_strlen($string);
2097 $expected = 6;
2098 $this->assertEqual($result, $expected);
2099 }
2100
2101 /**
2102 * testMultibyteStrlen method
2103 *
2104 * @access public
2105 * @return void
2106 */
2107 function testMultibyteStrlen() {
2108 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
2109 $result = Multibyte::strlen($string);
2110 $expected = 36;
2111 $this->assertEqual($result, $expected);
2112
2113 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
2114 $result = Multibyte::strlen($string);
2115 $expected = 30;
2116 $this->assertEqual($result, $expected);
2117
2118 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
2119 $result = Multibyte::strlen($string);
2120 $expected = 61;
2121 $this->assertEqual($result, $expected);
2122
2123 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
2124 $result = Multibyte::strlen($string);
2125 $expected = 94;
2126 $this->assertEqual($result, $expected);
2127
2128 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
2129 $result = Multibyte::strlen($string);
2130 $expected = 40;
2131 $this->assertEqual($result, $expected);
2132
2133 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
2134 $result = Multibyte::strlen($string);
2135 $expected = 100;
2136 $this->assertEqual($result, $expected);
2137
2138 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
2139 $result = Multibyte::strlen($string);
2140 $expected = 100;
2141 $this->assertEqual($result, $expected);
2142
2143 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
2144 $result = Multibyte::strlen($string);
2145 $expected = 100;
2146 $this->assertEqual($result, $expected);
2147
2148 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
2149 $result = Multibyte::strlen($string);
2150 $expected = 100;
2151 $this->assertEqual($result, $expected);
2152
2153 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
2154 $result = Multibyte::strlen($string);
2155 $expected = 28;
2156 $this->assertEqual($result, $expected);
2157
2158 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
2159 $result = Multibyte::strlen($string);
2160 $expected = 49;
2161 $this->assertEqual($result, $expected);
2162
2163 $string = 'فقكلمنهوىيًٌٍَُ';
2164 $result = Multibyte::strlen($string);
2165 $expected = 15;
2166 $this->assertEqual($result, $expected);
2167
2168 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
2169 $result = Multibyte::strlen($string);
2170 $expected = 47;
2171 $this->assertEqual($result, $expected);
2172
2173 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
2174 $result = Multibyte::strlen($string);
2175 $expected = 96;
2176 $this->assertEqual($result, $expected);
2177
2178 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
2179 $result = Multibyte::strlen($string);
2180 $expected = 59;
2181 $this->assertEqual($result, $expected);
2182
2183 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
2184 $result = Multibyte::strlen($string);
2185 $expected = 100;
2186 $this->assertEqual($result, $expected);
2187
2188 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
2189 $result = Multibyte::strlen($string);
2190 $expected = 65;
2191 $this->assertEqual($result, $expected);
2192
2193 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
2194 $result = Multibyte::strlen($string);
2195 $expected = 76;
2196 $this->assertEqual($result, $expected);
2197
2198 $string = 'abcdefghijklmnopqrstuvwxyz';
2199 $result = Multibyte::strlen($string);
2200 $expected = 26;
2201 $this->assertEqual($result, $expected);
2202
2203 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
2204 $result = Multibyte::strlen($string);
2205 $expected = 24;
2206 $this->assertEqual($result, $expected);
2207
2208 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
2209 $result = Multibyte::strlen($string);
2210 $expected = 38;
2211 $this->assertEqual($result, $expected);
2212
2213 $string = 'Ĥēĺļŏ, Ŵőřļď!';
2214 $result = Multibyte::strlen($string);
2215 $expected = 13;
2216 $this->assertEqual($result, $expected);
2217
2218 $string = 'Hello, World!';
2219 $result = Multibyte::strlen($string);
2220 $expected = 13;
2221 $this->assertEqual($result, $expected);
2222
2223 $string = 'čini';
2224 $result = Multibyte::strlen($string);
2225 $expected = 4;
2226 $this->assertEqual($result, $expected);
2227
2228 $string = 'moći';
2229 $result = Multibyte::strlen($string);
2230 $expected = 4;
2231 $this->assertEqual($result, $expected);
2232
2233 $string = 'državni';
2234 $result = Multibyte::strlen($string);
2235 $expected = 7;
2236 $this->assertEqual($result, $expected);
2237
2238 $string = '把百度设为首页';
2239 $result = Multibyte::strlen($string);
2240 $expected = 7;
2241 $this->assertEqual($result, $expected);
2242
2243 $string = '一二三周永龍';
2244 $result = Multibyte::strlen($string);
2245 $expected = 6;
2246 $this->assertEqual($result, $expected);
2247 }
2248
2249 /**
2250 * testUsingMbStrpos method
2251 *
2252 * @access public
2253 * @return void
2254 */
2255 function testUsingMbStrpos() {
2256 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
2257 $find = 'F';
2258 $result = mb_strpos($string, $find);
2259 $expected = 5;
2260 $this->assertEqual($result, $expected);
2261
2262 $string = 'ABCDEFGHIJKLMNOPQFRSTUVWXYZ0123456789';
2263 $find = 'F';
2264 $result = mb_strpos($string, $find, 6);
2265 $expected = 17;
2266 $this->assertEqual($result, $expected);
2267
2268 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
2269 $find = 'Å';
2270 $result = mb_strpos($string, $find);
2271 $expected = 5;
2272 $this->assertEqual($result, $expected);
2273
2274 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞ';
2275 $find = 'Å';
2276 $result = mb_strpos($string, $find, 6);
2277 $expected = 24;
2278 $this->assertEqual($result, $expected);
2279
2280 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
2281 $find = 'Ċ';
2282 $result = mb_strpos($string, $find);
2283 $expected = 5;
2284 $this->assertEqual($result, $expected);
2285
2286 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁĊŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
2287 $find = 'Ċ';
2288 $result = mb_strpos($string, $find, 6);
2289 $expected = 32;
2290 $this->assertEqual($result, $expected);
2291
2292 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
2293 $find = 'F';
2294 $result = mb_strpos($string, $find);
2295 $expected = 37;
2296 $this->assertEqual($result, $expected);
2297
2298 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
2299 $find = 'µ';
2300 $result = mb_strpos($string, $find);
2301 $expected = 20;
2302 $this->assertEqual($result, $expected);
2303
2304 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
2305 $find = 'é';
2306 $result = mb_strpos($string, $find);
2307 $expected = 32;
2308 $this->assertEqual($result, $expected);
2309
2310 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
2311 $find = 'Ņ';
2312 $result = mb_strpos($string, $find);
2313 $expected = 24;
2314 $this->assertEqual($result, $expected);
2315
2316 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
2317 $find = 'Ƹ';
2318 $result = mb_strpos($string, $find);
2319 $expected = 39;
2320 $this->assertEqual($result, $expected);
2321
2322 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
2323 $find = 'ƹ';
2324 $result = mb_strpos($string, $find);
2325 $expected = 40;
2326 $this->assertEqual($result, $expected);
2327
2328 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
2329 $find = 'ʀ';
2330 $result = mb_strpos($string, $find);
2331 $expected = 39;
2332 $this->assertEqual($result, $expected);
2333
2334 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
2335 $find = 'Ї';
2336 $result = mb_strpos($string, $find);
2337 $expected = 7;
2338 $this->assertEqual($result, $expected);
2339
2340 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
2341 $find = 'Р';
2342 $result = mb_strpos($string, $find);
2343 $expected = 4;
2344 $this->assertEqual($result, $expected);
2345
2346 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
2347 $find = 'р';
2348 $result = mb_strpos($string, $find, 5);
2349 $expected = 36;
2350 $this->assertEqual($result, $expected);
2351
2352 $string = 'فقكلمنهوىيًٌٍَُ';
2353 $find = 'ن';
2354 $result = mb_strpos($string, $find);
2355 $expected = 5;
2356 $this->assertEqual($result, $expected);
2357
2358 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
2359 $find = '✿';
2360 $result = mb_strpos($string, $find);
2361 $expected = 15;
2362 $this->assertEqual($result, $expected);
2363
2364 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
2365 $find = '⺐';
2366 $result = mb_strpos($string, $find);
2367 $expected = 16;
2368 $this->assertEqual($result, $expected);
2369
2370 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
2371 $find = '⽤';
2372 $result = mb_strpos($string, $find);
2373 $expected = 31;
2374 $this->assertEqual($result, $expected);
2375
2376 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
2377 $find = '눻';
2378 $result = mb_strpos($string, $find);
2379 $expected = 26;
2380 $this->assertEqual($result, $expected);
2381
2382 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
2383 $find = 'ﺞ';
2384 $result = mb_strpos($string, $find);
2385 $expected = 46;
2386 $this->assertEqual($result, $expected);
2387
2388 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
2389 $find = 'ﻞ';
2390 $result = mb_strpos($string, $find);
2391 $expected = 45;
2392 $this->assertEqual($result, $expected);
2393
2394 $string = 'abcdefghijklmnopqrstuvwxyz';
2395 $find = 'k';
2396 $result = mb_strpos($string, $find);
2397 $expected = 10;
2398 $this->assertEqual($result, $expected);
2399
2400 $string = 'abcdefghijklmnopqrstuvwxyz';
2401 $find = 'k';
2402 $result = mb_strpos($string, $find);
2403 $expected = 10;
2404 $this->assertEqual($result, $expected);
2405
2406 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
2407 $find = 'ア';
2408 $result = mb_strpos($string, $find);
2409 $expected = 16;
2410 $this->assertEqual($result, $expected);
2411
2412 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
2413 $find = 'ハ';
2414 $result = mb_strpos($string, $find);
2415 $expected = 17;
2416 $this->assertEqual($result, $expected);
2417
2418 $string = 'Ĥēĺļŏ, Ŵőřļď!';
2419 $find = 'ő';
2420 $result = mb_strpos($string, $find);
2421 $expected = 8;
2422 $this->assertEqual($result, $expected);
2423
2424 $string = 'Ĥēĺļŏ, Ŵőřļď!';
2425 $find = 'ő';
2426 $result = mb_strpos($string, $find);
2427 $expected = 8;
2428 $this->assertEqual($result, $expected);
2429
2430 $string = 'Ĥēĺļŏ, Ŵőřļď!';
2431 $find = 'őř';
2432 $result = mb_strpos($string, $find);
2433 $expected = 8;
2434 $this->assertEqual($result, $expected);
2435
2436 $string = 'Hello, World!';
2437 $find = 'o';
2438 $result = mb_strpos($string, $find);
2439 $expected = 4;
2440 $this->assertEqual($result, $expected);
2441
2442 $string = 'Hello, World!';
2443 $find = 'o';
2444 $result = mb_strpos($string, $find, 5);
2445 $expected = 8;
2446 $this->assertEqual($result, $expected);
2447
2448 $string = 'čini';
2449 $find = 'n';
2450 $result = mb_strpos($string, $find);
2451 $expected = 2;
2452 $this->assertEqual($result, $expected);
2453
2454 $string = 'čini';
2455 $find = 'n';
2456 $result = mb_strpos($string, $find);
2457 $expected = 2;
2458 $this->assertEqual($result, $expected);
2459
2460 $string = 'moći';
2461 $find = 'ć';
2462 $result = mb_strpos($string, $find);
2463 $expected = 2;
2464 $this->assertEqual($result, $expected);
2465
2466 $string = 'moći';
2467 $find = 'ć';
2468 $result = mb_strpos($string, $find);
2469 $expected = 2;
2470 $this->assertEqual($result, $expected);
2471
2472 $string = 'državni';
2473 $find = 'ž';
2474 $result = mb_strpos($string, $find);
2475 $expected = 2;
2476 $this->assertEqual($result, $expected);
2477
2478 $string = '把百度设为首页';
2479 $find = '设';
2480 $result = mb_strpos($string, $find);
2481 $expected = 3;
2482 $this->assertEqual($result, $expected);
2483
2484 $string = '一二三周永龍';
2485 $find = '周';
2486 $result = mb_strpos($string, $find);
2487 $expected = 3;
2488 $this->assertEqual($result, $expected);
2489
2490 $string = '一二三周永龍';
2491 $find = '一周';
2492 $result = mb_strpos($string, $find);
2493 $expected = false;
2494 $this->assertEqual($result, $expected);
2495 }
2496
2497 /**
2498 * testMultibyteStrpos method
2499 *
2500 * @access public
2501 * @return void
2502 */
2503 function testMultibyteStrpos() {
2504 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
2505 $find = 'F';
2506 $result = Multibyte::strpos($string, $find);
2507 $expected = 5;
2508 $this->assertEqual($result, $expected);
2509
2510 $string = 'ABCDEFGHIJKLMNOPQFRSTUVWXYZ0123456789';
2511 $find = 'F';
2512 $result = Multibyte::strpos($string, $find, 6);
2513 $expected = 17;
2514 $this->assertEqual($result, $expected);
2515
2516 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
2517 $find = 'Å';
2518 $result = Multibyte::strpos($string, $find);
2519 $expected = 5;
2520 $this->assertEqual($result, $expected);
2521
2522 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞ';
2523 $find = 'Å';
2524 $result = Multibyte::strpos($string, $find, 6);
2525 $expected = 24;
2526 $this->assertEqual($result, $expected);
2527
2528 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
2529 $find = 'Ċ';
2530 $result = Multibyte::strpos($string, $find);
2531 $expected = 5;
2532 $this->assertEqual($result, $expected);
2533
2534 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁĊŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
2535 $find = 'Ċ';
2536 $result = Multibyte::strpos($string, $find, 6);
2537 $expected = 32;
2538 $this->assertEqual($result, $expected);
2539
2540 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
2541 $find = 'F';
2542 $result = Multibyte::strpos($string, $find);
2543 $expected = 37;
2544 $this->assertEqual($result, $expected);
2545
2546 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
2547 $find = 'µ';
2548 $result = Multibyte::strpos($string, $find);
2549 $expected = 20;
2550 $this->assertEqual($result, $expected);
2551
2552 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
2553 $find = 'é';
2554 $result = Multibyte::strpos($string, $find);
2555 $expected = 32;
2556 $this->assertEqual($result, $expected);
2557
2558 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
2559 $find = 'Ņ';
2560 $result = Multibyte::strpos($string, $find);
2561 $expected = 24;
2562 $this->assertEqual($result, $expected);
2563
2564 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
2565 $find = 'Ƹ';
2566 $result = Multibyte::strpos($string, $find);
2567 $expected = 39;
2568 $this->assertEqual($result, $expected);
2569
2570 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
2571 $find = 'ƹ';
2572 $result = Multibyte::strpos($string, $find);
2573 $expected = 40;
2574 $this->assertEqual($result, $expected);
2575
2576 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
2577 $find = 'ʀ';
2578 $result = Multibyte::strpos($string, $find);
2579 $expected = 39;
2580 $this->assertEqual($result, $expected);
2581
2582 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
2583 $find = 'Ї';
2584 $result = Multibyte::strpos($string, $find);
2585 $expected = 7;
2586 $this->assertEqual($result, $expected);
2587
2588 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
2589 $find = 'Р';
2590 $result = Multibyte::strpos($string, $find);
2591 $expected = 4;
2592 $this->assertEqual($result, $expected);
2593
2594 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
2595 $find = 'р';
2596 $result = Multibyte::strpos($string, $find, 5);
2597 $expected = 36;
2598 $this->assertEqual($result, $expected);
2599
2600 $string = 'فقكلمنهوىيًٌٍَُ';
2601 $find = 'ن';
2602 $result = Multibyte::strpos($string, $find);
2603 $expected = 5;
2604 $this->assertEqual($result, $expected);
2605
2606 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
2607 $find = '✿';
2608 $result = Multibyte::strpos($string, $find);
2609 $expected = 15;
2610 $this->assertEqual($result, $expected);
2611
2612 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
2613 $find = '⺐';
2614 $result = Multibyte::strpos($string, $find);
2615 $expected = 16;
2616 $this->assertEqual($result, $expected);
2617
2618 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
2619 $find = '⽤';
2620 $result = Multibyte::strpos($string, $find);
2621 $expected = 31;
2622 $this->assertEqual($result, $expected);
2623
2624 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
2625 $find = '눻';
2626 $result = Multibyte::strpos($string, $find);
2627 $expected = 26;
2628 $this->assertEqual($result, $expected);
2629
2630 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
2631 $find = 'ﺞ';
2632 $result = Multibyte::strpos($string, $find);
2633 $expected = 46;
2634 $this->assertEqual($result, $expected);
2635
2636 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
2637 $find = 'ﻞ';
2638 $result = Multibyte::strpos($string, $find);
2639 $expected = 45;
2640 $this->assertEqual($result, $expected);
2641
2642 $string = 'abcdefghijklmnopqrstuvwxyz';
2643 $find = 'k';
2644 $result = Multibyte::strpos($string, $find);
2645 $expected = 10;
2646 $this->assertEqual($result, $expected);
2647
2648 $string = 'abcdefghijklmnopqrstuvwxyz';
2649 $find = 'k';
2650 $result = Multibyte::strpos($string, $find);
2651 $expected = 10;
2652 $this->assertEqual($result, $expected);
2653
2654 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
2655 $find = 'ア';
2656 $result = Multibyte::strpos($string, $find);
2657 $expected = 16;
2658 $this->assertEqual($result, $expected);
2659
2660 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
2661 $find = 'ハ';
2662 $result = Multibyte::strpos($string, $find);
2663 $expected = 17;
2664 $this->assertEqual($result, $expected);
2665
2666 $string = 'Ĥēĺļŏ, Ŵőřļď!';
2667 $find = 'ő';
2668 $result = Multibyte::strpos($string, $find);
2669 $expected = 8;
2670 $this->assertEqual($result, $expected);
2671
2672 $string = 'Ĥēĺļŏ, Ŵőřļď!';
2673 $find = 'ő';
2674 $result = Multibyte::strpos($string, $find);
2675 $expected = 8;
2676 $this->assertEqual($result, $expected);
2677
2678 $string = 'Ĥēĺļŏ, Ŵőřļď!';
2679 $find = 'őř';
2680 $result = Multibyte::strpos($string, $find);
2681 $expected = 8;
2682 $this->assertEqual($result, $expected);
2683
2684 $string = 'Hello, World!';
2685 $find = 'o';
2686 $result = Multibyte::strpos($string, $find);
2687 $expected = 4;
2688 $this->assertEqual($result, $expected);
2689
2690 $string = 'Hello, World!';
2691 $find = 'o';
2692 $result = Multibyte::strpos($string, $find, 5);
2693 $expected = 8;
2694 $this->assertEqual($result, $expected);
2695
2696 $string = 'čini';
2697 $find = 'n';
2698 $result = Multibyte::strpos($string, $find);
2699 $expected = 2;
2700 $this->assertEqual($result, $expected);
2701
2702 $string = 'čini';
2703 $find = 'n';
2704 $result = Multibyte::strpos($string, $find);
2705 $expected = 2;
2706 $this->assertEqual($result, $expected);
2707
2708 $string = 'moći';
2709 $find = 'ć';
2710 $result = Multibyte::strpos($string, $find);
2711 $expected = 2;
2712 $this->assertEqual($result, $expected);
2713
2714 $string = 'moći';
2715 $find = 'ć';
2716 $result = Multibyte::strpos($string, $find);
2717 $expected = 2;
2718 $this->assertEqual($result, $expected);
2719
2720 $string = 'državni';
2721 $find = 'ž';
2722 $result = Multibyte::strpos($string, $find);
2723 $expected = 2;
2724 $this->assertEqual($result, $expected);
2725
2726 $string = '把百度设为首页';
2727 $find = '设';
2728 $result = Multibyte::strpos($string, $find);
2729 $expected = 3;
2730 $this->assertEqual($result, $expected);
2731
2732 $string = '一二三周永龍';
2733 $find = '周';
2734 $result = Multibyte::strpos($string, $find);
2735 $expected = 3;
2736 $this->assertEqual($result, $expected);
2737
2738 $string = '一二三周永龍';
2739 $find = '一周';
2740 $result = Multibyte::strpos($string, $find);
2741 $expected = false;
2742 $this->assertEqual($result, $expected);
2743 }
2744
2745 /**
2746 * testUsingMbStrrchr method
2747 *
2748 * @access public
2749 * @return void
2750 */
2751 function testUsingMbStrrchr() {
2752 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
2753 $find = 'F';
2754 $result = mb_strrchr($string, $find);
2755 $expected = 'FGHIJKLMNOPQRSTUVWXYZ0123456789';
2756 $this->assertEqual($result, $expected);
2757
2758 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
2759 $find = 'F';
2760 $result = mb_strrchr($string, $find, true);
2761 $expected = 'ABCDE';
2762 $this->assertEqual($result, $expected);
2763
2764 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
2765 $find = 'Å';
2766 $result = mb_strrchr($string, $find);
2767 $expected = 'ÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
2768 $this->assertEqual($result, $expected);
2769
2770 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
2771 $find = 'Å';
2772 $result = mb_strrchr($string, $find, true);
2773 $expected = 'ÀÁÂÃÄ';
2774 $this->assertEqual($result, $expected);
2775
2776 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
2777 $find = 'Ċ';
2778 $result = mb_strrchr($string, $find);
2779 $expected = 'ĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
2780 $this->assertEqual($result, $expected);
2781
2782 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
2783 $find = 'Ċ';
2784 $result = mb_strrchr($string, $find, true);
2785 $expected = 'ĀĂĄĆĈ';
2786 $this->assertEqual($result, $expected);
2787
2788 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
2789 $find = 'F';
2790 $result = mb_strrchr($string, $find);
2791 $expected = 'FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
2792 $this->assertEqual($result, $expected);
2793
2794 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
2795 $find = 'F';
2796 $result = mb_strrchr($string, $find, true);
2797 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDE';
2798 $this->assertEqual($result, $expected);
2799
2800 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
2801 $find = 'µ';
2802 $result = mb_strrchr($string, $find);
2803 $expected = 'µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
2804 $this->assertEqual($result, $expected);
2805
2806 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
2807 $find = 'µ';
2808 $result = mb_strrchr($string, $find, true);
2809 $expected = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´';
2810 $this->assertEqual($result, $expected);
2811
2812 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
2813 $find = 'Þ';
2814 $result = mb_strrchr($string, $find);
2815 $expected = 'Þßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
2816 $this->assertEqual($result, $expected);
2817
2818 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
2819 $find = 'Þ';
2820 $result = mb_strrchr($string, $find, true);
2821 $expected = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝ';
2822 $this->assertEqual($result, $expected);
2823
2824 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
2825 $find = 'Ņ';
2826 $result = mb_strrchr($string, $find);
2827 $expected = 'ŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
2828 $this->assertEqual($result, $expected);
2829
2830 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
2831 $find = 'Ņ';
2832 $result = mb_strrchr($string, $find, true);
2833 $expected = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃń';
2834 $this->assertEqual($result, $expected);
2835
2836 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
2837 $find = 'Ƹ';
2838 $result = mb_strrchr($string, $find);
2839 $expected = 'ƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
2840 $this->assertEqual($result, $expected);
2841
2842 $find = 'Ƹ';
2843 $result = mb_strrchr($string, $find, true);
2844 $expected = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷ';
2845 $this->assertEqual($result, $expected);
2846
2847 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
2848 $find = 'ʀ';
2849 $result = mb_strrchr($string, $find);
2850 $expected = 'ʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
2851 $this->assertEqual($result, $expected);
2852
2853 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
2854 $find = 'ʀ';
2855 $result = mb_strrchr($string, $find, true);
2856 $expected = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿ';
2857 $this->assertEqual($result, $expected);
2858
2859 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
2860 $find = 'Ї';
2861 $result = mb_strrchr($string, $find);
2862 $expected = 'ЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
2863 $this->assertEqual($result, $expected);
2864
2865 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
2866 $find = 'Ї';
2867 $result = mb_strrchr($string, $find, true);
2868 $expected = 'ЀЁЂЃЄЅІ';
2869 $this->assertEqual($result, $expected);
2870
2871 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
2872 $find = 'Р';
2873 $result = mb_strrchr($string, $find);
2874 $expected = 'РСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
2875 $this->assertEqual($result, $expected);
2876
2877 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
2878 $find = 'Р';
2879 $result = mb_strrchr($string, $find, true);
2880 $expected = 'МНОП';
2881 $this->assertEqual($result, $expected);
2882
2883 $string = 'فقكلمنهوىيًٌٍَُ';
2884 $find = 'ن';
2885 $result = mb_strrchr($string, $find);
2886 $expected = 'نهوىيًٌٍَُ';
2887 $this->assertEqual($result, $expected);
2888
2889 $string = 'فقكلمنهوىيًٌٍَُ';
2890 $find = 'ن';
2891 $result = mb_strrchr($string, $find, true);
2892 $expected = 'فقكلم';
2893 $this->assertEqual($result, $expected);
2894
2895 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
2896 $find = '✿';
2897 $result = mb_strrchr($string, $find);
2898 $expected = '✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
2899 $this->assertEqual($result, $expected);
2900
2901 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
2902 $find = '✿';
2903 $result = mb_strrchr($string, $find, true);
2904 $expected = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾';
2905 $this->assertEqual($result, $expected);
2906
2907 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
2908 $find = '⺐';
2909 $result = mb_strrchr($string, $find);
2910 $expected = '⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
2911 $this->assertEqual($result, $expected);
2912
2913 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
2914 $find = '⺐';
2915 $result = mb_strrchr($string, $find, true);
2916 $expected = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏';
2917 $this->assertEqual($result, $expected);
2918
2919 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
2920 $find = '⽤';
2921 $result = mb_strrchr($string, $find);
2922 $expected = '⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
2923 $this->assertEqual($result, $expected);
2924
2925 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
2926 $find = '⽤';
2927 $result = mb_strrchr($string, $find, true);
2928 $expected = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣';
2929 $this->assertEqual($result, $expected);
2930
2931 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
2932 $find = '눻';
2933 $result = mb_strrchr($string, $find);
2934 $expected = '눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
2935 $this->assertEqual($result, $expected);
2936
2937 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
2938 $find = '눻';
2939 $result = mb_strrchr($string, $find, true);
2940 $expected = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺';
2941 $this->assertEqual($result, $expected);
2942
2943 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
2944 $find = 'ﺞ';
2945 $result = mb_strrchr($string, $find);
2946 $expected = 'ﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
2947 $this->assertEqual($result, $expected);
2948
2949 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
2950 $find = 'ﺞ';
2951 $result = mb_strrchr($string, $find, true);
2952 $expected = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝ';
2953 $this->assertEqual($result, $expected);
2954
2955 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
2956 $find = 'ﻞ';
2957 $result = mb_strrchr($string, $find);
2958 $expected = 'ﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
2959 $this->assertEqual($result, $expected);
2960
2961 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
2962 $find = 'ﻞ';
2963 $result = mb_strrchr($string, $find, true);
2964 $expected = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝ';
2965 $this->assertEqual($result, $expected);
2966
2967 $string = 'abcdefghijklmnopqrstuvwxyz';
2968 $find = 'k';
2969 $result = mb_strrchr($string, $find);
2970 $expected = 'klmnopqrstuvwxyz';
2971 $this->assertEqual($result, $expected);
2972
2973 $string = 'abcdefghijklmnopqrstuvwxyz';
2974 $find = 'k';
2975 $result = mb_strrchr($string, $find, true);
2976 $expected = 'abcdefghij';
2977 $this->assertEqual($result, $expected);
2978
2979 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
2980 $find = 'ア';
2981 $result = mb_strrchr($string, $find);
2982 $expected = 'アイウエオカキク';
2983 $this->assertEqual($result, $expected);
2984
2985 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
2986 $find = 'ア';
2987 $result = mb_strrchr($string, $find, true);
2988 $expected = '。「」、・ヲァィゥェォャュョッー';
2989 $this->assertEqual($result, $expected);
2990
2991 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
2992 $find = 'ハ';
2993 $result = mb_strrchr($string, $find);
2994 $expected = 'ハヒフヘホマミムメモヤユヨラリルレロワン゙';
2995 $this->assertEqual($result, $expected);
2996
2997 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
2998 $find = 'ハ';
2999 $result = mb_strrchr($string, $find, true);
3000 $expected = 'ケコサシスセソタチツテトナニヌネノ';
3001 $this->assertEqual($result, $expected);
3002
3003 $string = 'Ĥēĺļŏ, Ŵőřļď!';
3004 $find = 'ő';
3005 $result = mb_strrchr($string, $find);
3006 $expected = 'őřļď!';
3007 $this->assertEqual($result, $expected);
3008
3009 $string = 'Ĥēĺļŏ, Ŵőřļď!';
3010 $find = 'ő';
3011 $result = mb_strrchr($string, $find, true);
3012 $expected = 'Ĥēĺļŏ, Ŵ';
3013 $this->assertEqual($result, $expected);
3014
3015 $string = 'Hello, World!';
3016 $find = 'o';
3017 $result = mb_strrchr($string, $find);
3018 $expected = 'orld!';
3019 $this->assertEqual($result, $expected);
3020
3021 $string = 'Hello, World!';
3022 $find = 'o';
3023 $result = mb_strrchr($string, $find, true);
3024 $expected = 'Hello, W';
3025 $this->assertEqual($result, $expected);
3026
3027 $string = 'Hello, World!';
3028 $find = 'Wo';
3029 $result = mb_strrchr($string, $find);
3030 $expected = 'World!';
3031 $this->assertEqual($result, $expected);
3032
3033 $string = 'Hello, World!';
3034 $find = 'Wo';
3035 $result = mb_strrchr($string, $find, true);
3036 $expected = 'Hello, ';
3037 $this->assertEqual($result, $expected);
3038
3039 $string = 'Hello, World!';
3040 $find = 'll';
3041 $result = mb_strrchr($string, $find);
3042 $expected = 'llo, World!';
3043 $this->assertEqual($result, $expected);
3044
3045 $string = 'Hello, World!';
3046 $find = 'll';
3047 $result = mb_strrchr($string, $find, true);
3048 $expected = 'He';
3049 $this->assertEqual($result, $expected);
3050
3051 $string = 'Hello, World!';
3052 $find = 'rld';
3053 $result = mb_strrchr($string, $find);
3054 $expected = 'rld!';
3055 $this->assertEqual($result, $expected);
3056
3057 $string = 'Hello, World!';
3058 $find = 'rld';
3059 $result = mb_strrchr($string, $find, true);
3060 $expected = 'Hello, Wo';
3061 $this->assertEqual($result, $expected);
3062
3063 $string = 'čini';
3064 $find = 'n';
3065 $result = mb_strrchr($string, $find);
3066 $expected = 'ni';
3067 $this->assertEqual($result, $expected);
3068
3069 $string = 'čini';
3070 $find = 'n';
3071 $result = mb_strrchr($string, $find, true);
3072 $expected = 'či';
3073 $this->assertEqual($result, $expected);
3074
3075 $string = 'moći';
3076 $find = 'ć';
3077 $result = mb_strrchr($string, $find);
3078 $expected = 'ći';
3079 $this->assertEqual($result, $expected);
3080
3081 $string = 'moći';
3082 $find = 'ć';
3083 $result = mb_strrchr($string, $find, true);
3084 $expected = 'mo';
3085 $this->assertEqual($result, $expected);
3086
3087 $string = 'državni';
3088 $find = 'ž';
3089 $result = mb_strrchr($string, $find);
3090 $expected = 'žavni';
3091 $this->assertEqual($result, $expected);
3092
3093 $string = 'državni';
3094 $find = 'ž';
3095 $result = mb_strrchr($string, $find, true);
3096 $expected = 'dr';
3097 $this->assertEqual($result, $expected);
3098
3099 $string = '把百度设为首页';
3100 $find = '设';
3101 $result = mb_strrchr($string, $find);
3102 $expected = '设为首页';
3103 $this->assertEqual($result, $expected);
3104
3105 $string = '把百度设为首页';
3106 $find = '设';
3107 $result = mb_strrchr($string, $find, true);
3108 $expected = '把百度';
3109 $this->assertEqual($result, $expected);
3110
3111 $string = '一二三周永龍';
3112 $find = '周';
3113 $result = mb_strrchr($string, $find);
3114 $expected = '周永龍';
3115 $this->assertEqual($result, $expected);
3116
3117 $string = '一二三周永龍';
3118 $find = '周';
3119 $result = mb_strrchr($string, $find, true);
3120 $expected = '一二三';
3121 $this->assertEqual($result, $expected);
3122
3123 $string = '一二三周永龍';
3124 $find = '周龍';
3125 $result = mb_strrchr($string, $find, true);
3126 $expected = false;
3127 $this->assertEqual($result, $expected);
3128 }
3129
3130 /**
3131 * testMultibyteStrrchr method
3132 *
3133 * @access public
3134 * @return void
3135 */
3136 function testMultibyteStrrchr() {
3137 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
3138 $find = 'F';
3139 $result = Multibyte::strrchr($string, $find);
3140 $expected = 'FGHIJKLMNOPQRSTUVWXYZ0123456789';
3141 $this->assertEqual($result, $expected);
3142
3143 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
3144 $find = 'F';
3145 $result = Multibyte::strrchr($string, $find, true);
3146 $expected = 'ABCDE';
3147 $this->assertEqual($result, $expected);
3148
3149 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
3150 $find = 'Å';
3151 $result = Multibyte::strrchr($string, $find);
3152 $expected = 'ÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
3153 $this->assertEqual($result, $expected);
3154
3155 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
3156 $find = 'Å';
3157 $result = Multibyte::strrchr($string, $find, true);
3158 $expected = 'ÀÁÂÃÄ';
3159 $this->assertEqual($result, $expected);
3160
3161 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
3162 $find = 'Ċ';
3163 $result = Multibyte::strrchr($string, $find);
3164 $expected = 'ĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
3165 $this->assertEqual($result, $expected);
3166
3167 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
3168 $find = 'Ċ';
3169 $result = Multibyte::strrchr($string, $find, true);
3170 $expected = 'ĀĂĄĆĈ';
3171 $this->assertEqual($result, $expected);
3172
3173 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
3174 $find = 'F';
3175 $result = Multibyte::strrchr($string, $find);
3176 $expected = 'FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
3177 $this->assertEqual($result, $expected);
3178
3179 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
3180 $find = 'F';
3181 $result = Multibyte::strrchr($string, $find, true);
3182 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDE';
3183 $this->assertEqual($result, $expected);
3184
3185 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
3186 $find = 'µ';
3187 $result = Multibyte::strrchr($string, $find);
3188 $expected = 'µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
3189 $this->assertEqual($result, $expected);
3190
3191 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
3192 $find = 'µ';
3193 $result = Multibyte::strrchr($string, $find, true);
3194 $expected = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´';
3195 $this->assertEqual($result, $expected);
3196
3197 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
3198 $find = 'Þ';
3199 $result = Multibyte::strrchr($string, $find);
3200 $expected = 'Þßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
3201 $this->assertEqual($result, $expected);
3202
3203 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
3204 $find = 'Þ';
3205 $result = Multibyte::strrchr($string, $find, true);
3206 $expected = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝ';
3207 $this->assertEqual($result, $expected);
3208
3209 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
3210 $find = 'Ņ';
3211 $result = Multibyte::strrchr($string, $find);
3212 $expected = 'ŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
3213 $this->assertEqual($result, $expected);
3214
3215 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
3216 $find = 'Ņ';
3217 $result = Multibyte::strrchr($string, $find, true);
3218 $expected = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃń';
3219 $this->assertEqual($result, $expected);
3220
3221 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
3222 $find = 'Ƹ';
3223 $result = Multibyte::strrchr($string, $find);
3224 $expected = 'ƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
3225 $this->assertEqual($result, $expected);
3226
3227 $find = 'Ƹ';
3228 $result = Multibyte::strrchr($string, $find, true);
3229 $expected = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷ';
3230 $this->assertEqual($result, $expected);
3231
3232 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
3233 $find = 'ʀ';
3234 $result = Multibyte::strrchr($string, $find);
3235 $expected = 'ʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
3236 $this->assertEqual($result, $expected);
3237
3238 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
3239 $find = 'ʀ';
3240 $result = Multibyte::strrchr($string, $find, true);
3241 $expected = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿ';
3242 $this->assertEqual($result, $expected);
3243
3244 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
3245 $find = 'Ї';
3246 $result = Multibyte::strrchr($string, $find);
3247 $expected = 'ЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
3248 $this->assertEqual($result, $expected);
3249
3250 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
3251 $find = 'Ї';
3252 $result = Multibyte::strrchr($string, $find, true);
3253 $expected = 'ЀЁЂЃЄЅІ';
3254 $this->assertEqual($result, $expected);
3255
3256 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
3257 $find = 'Р';
3258 $result = Multibyte::strrchr($string, $find);
3259 $expected = 'РСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
3260 $this->assertEqual($result, $expected);
3261
3262 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
3263 $find = 'Р';
3264 $result = Multibyte::strrchr($string, $find, true);
3265 $expected = 'МНОП';
3266 $this->assertEqual($result, $expected);
3267
3268 $string = 'فقكلمنهوىيًٌٍَُ';
3269 $find = 'ن';
3270 $result = Multibyte::strrchr($string, $find);
3271 $expected = 'نهوىيًٌٍَُ';
3272 $this->assertEqual($result, $expected);
3273
3274 $string = 'فقكلمنهوىيًٌٍَُ';
3275 $find = 'ن';
3276 $result = Multibyte::strrchr($string, $find, true);
3277 $expected = 'فقكلم';
3278 $this->assertEqual($result, $expected);
3279
3280 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
3281 $find = '✿';
3282 $result = Multibyte::strrchr($string, $find);
3283 $expected = '✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
3284 $this->assertEqual($result, $expected);
3285
3286 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
3287 $find = '✿';
3288 $result = Multibyte::strrchr($string, $find, true);
3289 $expected = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾';
3290 $this->assertEqual($result, $expected);
3291
3292 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
3293 $find = '⺐';
3294 $result = Multibyte::strrchr($string, $find);
3295 $expected = '⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
3296 $this->assertEqual($result, $expected);
3297
3298 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
3299 $find = '⺐';
3300 $result = Multibyte::strrchr($string, $find, true);
3301 $expected = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏';
3302 $this->assertEqual($result, $expected);
3303
3304 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
3305 $find = '⽤';
3306 $result = Multibyte::strrchr($string, $find);
3307 $expected = '⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
3308 $this->assertEqual($result, $expected);
3309
3310 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
3311 $find = '⽤';
3312 $result = Multibyte::strrchr($string, $find, true);
3313 $expected = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣';
3314 $this->assertEqual($result, $expected);
3315
3316 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
3317 $find = '눻';
3318 $result = Multibyte::strrchr($string, $find);
3319 $expected = '눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
3320 $this->assertEqual($result, $expected);
3321
3322 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
3323 $find = '눻';
3324 $result = Multibyte::strrchr($string, $find, true);
3325 $expected = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺';
3326 $this->assertEqual($result, $expected);
3327
3328 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
3329 $find = 'ﺞ';
3330 $result = Multibyte::strrchr($string, $find);
3331 $expected = 'ﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
3332 $this->assertEqual($result, $expected);
3333
3334 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
3335 $find = 'ﺞ';
3336 $result = Multibyte::strrchr($string, $find, true);
3337 $expected = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝ';
3338 $this->assertEqual($result, $expected);
3339
3340 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
3341 $find = 'ﻞ';
3342 $result = Multibyte::strrchr($string, $find);
3343 $expected = 'ﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
3344 $this->assertEqual($result, $expected);
3345
3346 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
3347 $find = 'ﻞ';
3348 $result = Multibyte::strrchr($string, $find, true);
3349 $expected = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝ';
3350 $this->assertEqual($result, $expected);
3351
3352 $string = 'abcdefghijklmnopqrstuvwxyz';
3353 $find = 'k';
3354 $result = Multibyte::strrchr($string, $find);
3355 $expected = 'klmnopqrstuvwxyz';
3356 $this->assertEqual($result, $expected);
3357
3358 $string = 'abcdefghijklmnopqrstuvwxyz';
3359 $find = 'k';
3360 $result = Multibyte::strrchr($string, $find, true);
3361 $expected = 'abcdefghij';
3362 $this->assertEqual($result, $expected);
3363
3364 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
3365 $find = 'ア';
3366 $result = Multibyte::strrchr($string, $find);
3367 $expected = 'アイウエオカキク';
3368 $this->assertEqual($result, $expected);
3369
3370 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
3371 $find = 'ア';
3372 $result = Multibyte::strrchr($string, $find, true);
3373 $expected = '。「」、・ヲァィゥェォャュョッー';
3374 $this->assertEqual($result, $expected);
3375
3376 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
3377 $find = 'ハ';
3378 $result = Multibyte::strrchr($string, $find);
3379 $expected = 'ハヒフヘホマミムメモヤユヨラリルレロワン゙';
3380 $this->assertEqual($result, $expected);
3381
3382 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
3383 $find = 'ハ';
3384 $result = Multibyte::strrchr($string, $find, true);
3385 $expected = 'ケコサシスセソタチツテトナニヌネノ';
3386 $this->assertEqual($result, $expected);
3387
3388 $string = 'Ĥēĺļŏ, Ŵőřļď!';
3389 $find = 'ő';
3390 $result = Multibyte::strrchr($string, $find);
3391 $expected = 'őřļď!';
3392 $this->assertEqual($result, $expected);
3393
3394 $string = 'Ĥēĺļŏ, Ŵőřļď!';
3395 $find = 'ő';
3396 $result = Multibyte::strrchr($string, $find, true);
3397 $expected = 'Ĥēĺļŏ, Ŵ';
3398 $this->assertEqual($result, $expected);
3399
3400 $string = 'Hello, World!';
3401 $find = 'o';
3402 $result = Multibyte::strrchr($string, $find);
3403 $expected = 'orld!';
3404 $this->assertEqual($result, $expected);
3405
3406 $string = 'Hello, World!';
3407 $find = 'o';
3408 $result = Multibyte::strrchr($string, $find, true);
3409 $expected = 'Hello, W';
3410 $this->assertEqual($result, $expected);
3411
3412 $string = 'Hello, World!';
3413 $find = 'Wo';
3414 $result = Multibyte::strrchr($string, $find);
3415 $expected = 'World!';
3416 $this->assertEqual($result, $expected);
3417
3418 $string = 'Hello, World!';
3419 $find = 'Wo';
3420 $result = Multibyte::strrchr($string, $find, true);
3421 $expected = 'Hello, ';
3422 $this->assertEqual($result, $expected);
3423
3424 $string = 'Hello, World!';
3425 $find = 'll';
3426 $result = Multibyte::strrchr($string, $find);
3427 $expected = 'llo, World!';
3428 $this->assertEqual($result, $expected);
3429
3430 $string = 'Hello, World!';
3431 $find = 'll';
3432 $result = Multibyte::strrchr($string, $find, true);
3433 $expected = 'He';
3434 $this->assertEqual($result, $expected);
3435
3436 $string = 'Hello, World!';
3437 $find = 'rld';
3438 $result = Multibyte::strrchr($string, $find);
3439 $expected = 'rld!';
3440 $this->assertEqual($result, $expected);
3441
3442 $string = 'Hello, World!';
3443 $find = 'rld';
3444 $result = Multibyte::strrchr($string, $find, true);
3445 $expected = 'Hello, Wo';
3446 $this->assertEqual($result, $expected);
3447
3448 $string = 'čini';
3449 $find = 'n';
3450 $result = Multibyte::strrchr($string, $find);
3451 $expected = 'ni';
3452 $this->assertEqual($result, $expected);
3453
3454 $string = 'čini';
3455 $find = 'n';
3456 $result = Multibyte::strrchr($string, $find, true);
3457 $expected = 'či';
3458 $this->assertEqual($result, $expected);
3459
3460 $string = 'moći';
3461 $find = 'ć';
3462 $result = Multibyte::strrchr($string, $find);
3463 $expected = 'ći';
3464 $this->assertEqual($result, $expected);
3465
3466 $string = 'moći';
3467 $find = 'ć';
3468 $result = Multibyte::strrchr($string, $find, true);
3469 $expected = 'mo';
3470 $this->assertEqual($result, $expected);
3471
3472 $string = 'državni';
3473 $find = 'ž';
3474 $result = Multibyte::strrchr($string, $find);
3475 $expected = 'žavni';
3476 $this->assertEqual($result, $expected);
3477
3478 $string = 'državni';
3479 $find = 'ž';
3480 $result = Multibyte::strrchr($string, $find, true);
3481 $expected = 'dr';
3482 $this->assertEqual($result, $expected);
3483
3484 $string = '把百度设为首页';
3485 $find = '设';
3486 $result = Multibyte::strrchr($string, $find);
3487 $expected = '设为首页';
3488 $this->assertEqual($result, $expected);
3489
3490 $string = '把百度设为首页';
3491 $find = '设';
3492 $result = Multibyte::strrchr($string, $find, true);
3493 $expected = '把百度';
3494 $this->assertEqual($result, $expected);
3495
3496 $string = '一二三周永龍';
3497 $find = '周';
3498 $result = Multibyte::strrchr($string, $find);
3499 $expected = '周永龍';
3500 $this->assertEqual($result, $expected);
3501
3502 $string = '一二三周永龍';
3503 $find = '周';
3504 $result = Multibyte::strrchr($string, $find, true);
3505 $expected = '一二三';
3506 $this->assertEqual($result, $expected);
3507
3508 $string = '一二三周永龍';
3509 $find = '周龍';
3510 $result = Multibyte::strrchr($string, $find, true);
3511 $expected = false;
3512 $this->assertEqual($result, $expected);
3513 }
3514
3515 /**
3516 * testUsingMbStrrichr method
3517 *
3518 * @access public
3519 * @return void
3520 */
3521 function testUsingMbStrrichr() {
3522 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
3523 $find = 'F';
3524 $result = mb_strrichr($string, $find);
3525 $expected = 'FGHIJKLMNOPQRSTUVWXYZ0123456789';
3526 $this->assertEqual($result, $expected);
3527
3528 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
3529 $find = 'F';
3530 $result = mb_strrichr($string, $find, true);
3531 $expected = 'ABCDE';
3532 $this->assertEqual($result, $expected);
3533
3534 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
3535 $find = 'Å';
3536 $result = mb_strrichr($string, $find);
3537 $expected = 'ÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
3538 $this->assertEqual($result, $expected);
3539
3540 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
3541 $find = 'Å';
3542 $result = mb_strrichr($string, $find, true);
3543 $expected = 'ÀÁÂÃÄ';
3544 $this->assertEqual($result, $expected);
3545
3546 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
3547 $find = 'Ċ';
3548 $result = mb_strrichr($string, $find);
3549 $expected = 'ĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
3550 $this->assertEqual($result, $expected);
3551
3552 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
3553 $find = 'Ċ';
3554 $result = mb_strrichr($string, $find, true);
3555 $expected = 'ĀĂĄĆĈ';
3556 $this->assertEqual($result, $expected);
3557
3558 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
3559 $find = 'F';
3560 $result = mb_strrichr($string, $find);
3561 $expected = 'fghijklmnopqrstuvwxyz{|}~';
3562 $this->assertEqual($result, $expected);
3563
3564 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
3565 $find = 'F';
3566 $result = mb_strrichr($string, $find, true);
3567 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde';
3568 $this->assertEqual($result, $expected);
3569
3570 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
3571 $find = 'µ';
3572 $result = mb_strrichr($string, $find);
3573 $expected = 'µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
3574 $this->assertEqual($result, $expected);
3575
3576 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
3577 $find = 'µ';
3578 $result = mb_strrichr($string, $find, true);
3579 $expected = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´';
3580 $this->assertEqual($result, $expected);
3581
3582 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
3583 $find = 'Þ';
3584 $result = mb_strrichr($string, $find);
3585 $expected = 'þÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
3586 $this->assertEqual($result, $expected);
3587
3588 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
3589 $find = 'Þ';
3590 $result = mb_strrichr($string, $find, true);
3591 $expected = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüý';
3592 $this->assertEqual($result, $expected);
3593
3594 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
3595 $find = 'Ņ';
3596 $result = mb_strrichr($string, $find);
3597 $expected = 'ņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
3598 $this->assertEqual($result, $expected);
3599
3600 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
3601 $find = 'Ņ';
3602 $result = mb_strrichr($string, $find, true);
3603 $expected = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅ';
3604 $this->assertEqual($result, $expected);
3605
3606 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
3607 $find = 'Ƹ';
3608 $result = mb_strrichr($string, $find);
3609 $expected = 'ƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
3610 $this->assertEqual($result, $expected);
3611
3612 $find = 'Ƹ';
3613 $result = mb_strrichr($string, $find, true);
3614 $expected = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸ';
3615 $this->assertEqual($result, $expected);
3616
3617 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
3618 $find = 'ʀ';
3619 $result = mb_strrichr($string, $find);
3620 $expected = 'ʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
3621 $this->assertEqual($result, $expected);
3622
3623 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
3624 $find = 'ʀ';
3625 $result = mb_strrichr($string, $find, true);
3626 $expected = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿ';
3627 $this->assertEqual($result, $expected);
3628
3629 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
3630 $find = 'Ї';
3631 $result = mb_strrichr($string, $find);
3632 $expected = 'ЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
3633 $this->assertEqual($result, $expected);
3634
3635 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
3636 $find = 'Ї';
3637 $result = mb_strrichr($string, $find, true);
3638 $expected = 'ЀЁЂЃЄЅІ';
3639 $this->assertEqual($result, $expected);
3640
3641 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
3642 $find = 'Р';
3643 $result = mb_strrichr($string, $find);
3644 $expected = 'рстуфхцчшщъыь';
3645 $this->assertEqual($result, $expected);
3646
3647 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп';
3648 $find = 'Р';
3649 $result = mb_strrichr($string, $find, true);
3650 $expected = 'МНОП';
3651 $this->assertEqual($result, $expected);
3652
3653 $string = 'فقكلمنهوىيًٌٍَُ';
3654 $find = 'ن';
3655 $result = mb_strrichr($string, $find);
3656 $expected = 'نهوىيًٌٍَُ';
3657 $this->assertEqual($result, $expected);
3658
3659 $string = 'فقكلمنهوىيًٌٍَُ';
3660 $find = 'ن';
3661 $result = mb_strrichr($string, $find, true);
3662 $expected = 'فقكلم';
3663 $this->assertEqual($result, $expected);
3664
3665 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
3666 $find = '✿';
3667 $result = mb_strrichr($string, $find);
3668 $expected = '✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
3669 $this->assertEqual($result, $expected);
3670
3671 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
3672 $find = '✿';
3673 $result = mb_strrichr($string, $find, true);
3674 $expected = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾';
3675 $this->assertEqual($result, $expected);
3676
3677 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
3678 $find = '⺐';
3679 $result = mb_strrichr($string, $find);
3680 $expected = '⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
3681 $this->assertEqual($result, $expected);
3682
3683 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
3684 $find = '⺐';
3685 $result = mb_strrichr($string, $find, true);
3686 $expected = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏';
3687 $this->assertEqual($result, $expected);
3688
3689 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
3690 $find = '⽤';
3691 $result = mb_strrichr($string, $find);
3692 $expected = '⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
3693 $this->assertEqual($result, $expected);
3694
3695 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
3696 $find = '⽤';
3697 $result = mb_strrichr($string, $find, true);
3698 $expected = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣';
3699 $this->assertEqual($result, $expected);
3700
3701 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
3702 $find = '눻';
3703 $result = mb_strrichr($string, $find);
3704 $expected = '눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
3705 $this->assertEqual($result, $expected);
3706
3707 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
3708 $find = '눻';
3709 $result = mb_strrichr($string, $find, true);
3710 $expected = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺';
3711 $this->assertEqual($result, $expected);
3712
3713 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
3714 $find = 'ﺞ';
3715 $result = mb_strrichr($string, $find);
3716 $expected = 'ﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
3717 $this->assertEqual($result, $expected);
3718
3719 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
3720 $find = 'ﺞ';
3721 $result = mb_strrichr($string, $find, true);
3722 $expected = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝ';
3723 $this->assertEqual($result, $expected);
3724
3725 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
3726 $find = 'ﻞ';
3727 $result = mb_strrichr($string, $find);
3728 $expected = 'ﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
3729 $this->assertEqual($result, $expected);
3730
3731 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
3732 $find = 'ﻞ';
3733 $result = mb_strrichr($string, $find, true);
3734 $expected = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝ';
3735 $this->assertEqual($result, $expected);
3736
3737 $string = 'abcdefghijklmnopqrstuvwxyz';
3738 $find = 'k';
3739 $result = mb_strrichr($string, $find);
3740 $expected = 'klmnopqrstuvwxyz';
3741 $this->assertEqual($result, $expected);
3742
3743 $string = 'abcdefghijklmnopqrstuvwxyz';
3744 $find = 'k';
3745 $result = mb_strrichr($string, $find, true);
3746 $expected = 'abcdefghij';
3747 $this->assertEqual($result, $expected);
3748
3749 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
3750 $find = 'ア';
3751 $result = mb_strrichr($string, $find);
3752 $expected = 'アイウエオカキク';
3753 $this->assertEqual($result, $expected);
3754
3755 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
3756 $find = 'ア';
3757 $result = mb_strrichr($string, $find, true);
3758 $expected = '。「」、・ヲァィゥェォャュョッー';
3759 $this->assertEqual($result, $expected);
3760
3761 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
3762 $find = 'ハ';
3763 $result = mb_strrichr($string, $find);
3764 $expected = 'ハヒフヘホマミムメモヤユヨラリルレロワン゙';
3765 $this->assertEqual($result, $expected);
3766
3767 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
3768 $find = 'ハ';
3769 $result = mb_strrichr($string, $find, true);
3770 $expected = 'ケコサシスセソタチツテトナニヌネノ';
3771 $this->assertEqual($result, $expected);
3772
3773 $string = 'Ĥēĺļŏ, Ŵőřļď!';
3774 $find = 'ő';
3775 $result = mb_strrichr($string, $find);
3776 $expected = 'őřļď!';
3777 $this->assertEqual($result, $expected);
3778
3779 $string = 'Ĥēĺļŏ, Ŵőřļď!';
3780 $find = 'ő';
3781 $result = mb_strrichr($string, $find, true);
3782 $expected = 'Ĥēĺļŏ, Ŵ';
3783 $this->assertEqual($result, $expected);
3784
3785 $string = 'Hello, World!';
3786 $find = 'o';
3787 $result = mb_strrichr($string, $find);
3788 $expected = 'orld!';
3789 $this->assertEqual($result, $expected);
3790
3791 $string = 'Hello, World!';
3792 $find = 'o';
3793 $result = mb_strrichr($string, $find, true);
3794 $expected = 'Hello, W';
3795 $this->assertEqual($result, $expected);
3796
3797 $string = 'Hello, World!';
3798 $find = 'Wo';
3799 $result = mb_strrichr($string, $find);
3800 $expected = 'World!';
3801 $this->assertEqual($result, $expected);
3802
3803 $string = 'Hello, World!';
3804 $find = 'Wo';
3805 $result = mb_strrichr($string, $find, true);
3806 $expected = 'Hello, ';
3807 $this->assertEqual($result, $expected);
3808
3809 $string = 'Hello, World!';
3810 $find = 'll';
3811 $result = mb_strrichr($string, $find);
3812 $expected = 'llo, World!';
3813 $this->assertEqual($result, $expected);
3814
3815 $string = 'Hello, World!';
3816 $find = 'll';
3817 $result = mb_strrichr($string, $find, true);
3818 $expected = 'He';
3819 $this->assertEqual($result, $expected);
3820
3821 $string = 'Hello, World!';
3822 $find = 'rld';
3823 $result = mb_strrichr($string, $find);
3824 $expected = 'rld!';
3825 $this->assertEqual($result, $expected);
3826
3827 $string = 'Hello, World!';
3828 $find = 'rld';
3829 $result = mb_strrichr($string, $find, true);
3830 $expected = 'Hello, Wo';
3831 $this->assertEqual($result, $expected);
3832
3833 $string = 'čini';
3834 $find = 'n';
3835 $result = mb_strrichr($string, $find);
3836 $expected = 'ni';
3837 $this->assertEqual($result, $expected);
3838
3839 $string = 'čini';
3840 $find = 'n';
3841 $result = mb_strrichr($string, $find, true);
3842 $expected = 'či';
3843 $this->assertEqual($result, $expected);
3844
3845 $string = 'moći';
3846 $find = 'ć';
3847 $result = mb_strrichr($string, $find);
3848 $expected = 'ći';
3849 $this->assertEqual($result, $expected);
3850
3851 $string = 'moći';
3852 $find = 'ć';
3853 $result = mb_strrichr($string, $find, true);
3854 $expected = 'mo';
3855 $this->assertEqual($result, $expected);
3856
3857 $string = 'državni';
3858 $find = 'ž';
3859 $result = mb_strrichr($string, $find);
3860 $expected = 'žavni';
3861 $this->assertEqual($result, $expected);
3862
3863 $string = 'državni';
3864 $find = 'ž';
3865 $result = mb_strrichr($string, $find, true);
3866 $expected = 'dr';
3867 $this->assertEqual($result, $expected);
3868
3869 $string = '把百度设为首页';
3870 $find = '设';
3871 $result = mb_strrichr($string, $find);
3872 $expected = '设为首页';
3873 $this->assertEqual($result, $expected);
3874
3875 $string = '把百度设为首页';
3876 $find = '设';
3877 $result = mb_strrichr($string, $find, true);
3878 $expected = '把百度';
3879 $this->assertEqual($result, $expected);
3880
3881 $string = '一二三周永龍';
3882 $find = '周';
3883 $result = mb_strrichr($string, $find);
3884 $expected = '周永龍';
3885 $this->assertEqual($result, $expected);
3886
3887 $string = '一二三周永龍';
3888 $find = '周';
3889 $result = mb_strrichr($string, $find, true);
3890 $expected = '一二三';
3891 $this->assertEqual($result, $expected);
3892
3893 $string = '把百度设为首页';
3894 $find = '百设';
3895 $result = mb_strrichr($string, $find, true);
3896 $expected = false;
3897 $this->assertEqual($result, $expected);
3898 }
3899
3900 /**
3901 * testMultibyteStrrichr method
3902 *
3903 * @access public
3904 * @return void
3905 */
3906 function testMultibyteStrrichr() {
3907 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
3908 $find = 'F';
3909 $result = Multibyte::strrichr($string, $find);
3910 $expected = 'FGHIJKLMNOPQRSTUVWXYZ0123456789';
3911 $this->assertEqual($result, $expected);
3912
3913 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
3914 $find = 'F';
3915 $result = Multibyte::strrichr($string, $find, true);
3916 $expected = 'ABCDE';
3917 $this->assertEqual($result, $expected);
3918
3919 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
3920 $find = 'Å';
3921 $result = Multibyte::strrichr($string, $find);
3922 $expected = 'ÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
3923 $this->assertEqual($result, $expected);
3924
3925 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
3926 $find = 'Å';
3927 $result = Multibyte::strrichr($string, $find, true);
3928 $expected = 'ÀÁÂÃÄ';
3929 $this->assertEqual($result, $expected);
3930
3931 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
3932 $find = 'Ċ';
3933 $result = Multibyte::strrichr($string, $find);
3934 $expected = 'ĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
3935 $this->assertEqual($result, $expected);
3936
3937 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
3938 $find = 'Ċ';
3939 $result = Multibyte::strrichr($string, $find, true);
3940 $expected = 'ĀĂĄĆĈ';
3941 $this->assertEqual($result, $expected);
3942
3943 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
3944 $find = 'F';
3945 $result = Multibyte::strrichr($string, $find);
3946 $expected = 'fghijklmnopqrstuvwxyz{|}~';
3947 $this->assertEqual($result, $expected);
3948
3949 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
3950 $find = 'F';
3951 $result = Multibyte::strrichr($string, $find, true);
3952 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde';
3953 $this->assertEqual($result, $expected);
3954
3955 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
3956 $find = 'µ';
3957 $result = Multibyte::strrichr($string, $find);
3958 $expected = 'µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
3959 $this->assertEqual($result, $expected);
3960
3961 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
3962 $find = 'µ';
3963 $result = Multibyte::strrichr($string, $find, true);
3964 $expected = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´';
3965 $this->assertEqual($result, $expected);
3966
3967 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
3968 $find = 'Þ';
3969 $result = Multibyte::strrichr($string, $find);
3970 $expected = 'þÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
3971 $this->assertEqual($result, $expected);
3972
3973 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
3974 $find = 'Þ';
3975 $result = Multibyte::strrichr($string, $find, true);
3976 $expected = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüý';
3977 $this->assertEqual($result, $expected);
3978
3979 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
3980 $find = 'Ņ';
3981 $result = Multibyte::strrichr($string, $find);
3982 $expected = 'ņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
3983 $this->assertEqual($result, $expected);
3984
3985 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
3986 $find = 'Ņ';
3987 $result = Multibyte::strrichr($string, $find, true);
3988 $expected = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅ';
3989 $this->assertEqual($result, $expected);
3990
3991 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
3992 $find = 'Ƹ';
3993 $result = Multibyte::strrichr($string, $find);
3994 $expected = 'ƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
3995 $this->assertEqual($result, $expected);
3996
3997 $find = 'Ƹ';
3998 $result = Multibyte::strrichr($string, $find, true);
3999 $expected = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸ';
4000 $this->assertEqual($result, $expected);
4001
4002 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
4003 $find = 'ʀ';
4004 $result = Multibyte::strrichr($string, $find);
4005 $expected = 'ʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
4006 $this->assertEqual($result, $expected);
4007
4008 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
4009 $find = 'ʀ';
4010 $result = Multibyte::strrichr($string, $find, true);
4011 $expected = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿ';
4012 $this->assertEqual($result, $expected);
4013
4014 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
4015 $find = 'Ї';
4016 $result = Multibyte::strrichr($string, $find);
4017 $expected = 'ЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
4018 $this->assertEqual($result, $expected);
4019
4020 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
4021 $find = 'Ї';
4022 $result = Multibyte::strrichr($string, $find, true);
4023 $expected = 'ЀЁЂЃЄЅІ';
4024 $this->assertEqual($result, $expected);
4025
4026 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
4027 $find = 'Р';
4028 $result = Multibyte::strrichr($string, $find);
4029 $expected = 'рстуфхцчшщъыь';
4030 $this->assertEqual($result, $expected);
4031
4032 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп';
4033 $find = 'Р';
4034 $result = Multibyte::strrichr($string, $find, true);
4035 $expected = 'МНОП';
4036 $this->assertEqual($result, $expected);
4037
4038 $string = 'فقكلمنهوىيًٌٍَُ';
4039 $find = 'ن';
4040 $result = Multibyte::strrichr($string, $find);
4041 $expected = 'نهوىيًٌٍَُ';
4042 $this->assertEqual($result, $expected);
4043
4044 $string = 'فقكلمنهوىيًٌٍَُ';
4045 $find = 'ن';
4046 $result = Multibyte::strrichr($string, $find, true);
4047 $expected = 'فقكلم';
4048 $this->assertEqual($result, $expected);
4049
4050 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
4051 $find = '✿';
4052 $result = Multibyte::strrichr($string, $find);
4053 $expected = '✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
4054 $this->assertEqual($result, $expected);
4055
4056 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
4057 $find = '✿';
4058 $result = Multibyte::strrichr($string, $find, true);
4059 $expected = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾';
4060 $this->assertEqual($result, $expected);
4061
4062 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
4063 $find = '⺐';
4064 $result = Multibyte::strrichr($string, $find);
4065 $expected = '⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
4066 $this->assertEqual($result, $expected);
4067
4068 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
4069 $find = '⺐';
4070 $result = Multibyte::strrichr($string, $find, true);
4071 $expected = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏';
4072 $this->assertEqual($result, $expected);
4073
4074 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
4075 $find = '⽤';
4076 $result = Multibyte::strrichr($string, $find);
4077 $expected = '⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
4078 $this->assertEqual($result, $expected);
4079
4080 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
4081 $find = '⽤';
4082 $result = Multibyte::strrichr($string, $find, true);
4083 $expected = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣';
4084 $this->assertEqual($result, $expected);
4085
4086 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
4087 $find = '눻';
4088 $result = Multibyte::strrichr($string, $find);
4089 $expected = '눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
4090 $this->assertEqual($result, $expected);
4091
4092 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
4093 $find = '눻';
4094 $result = Multibyte::strrichr($string, $find, true);
4095 $expected = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺';
4096 $this->assertEqual($result, $expected);
4097
4098 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
4099 $find = 'ﺞ';
4100 $result = Multibyte::strrichr($string, $find);
4101 $expected = 'ﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
4102 $this->assertEqual($result, $expected);
4103
4104 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
4105 $find = 'ﺞ';
4106 $result = Multibyte::strrichr($string, $find, true);
4107 $expected = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝ';
4108 $this->assertEqual($result, $expected);
4109
4110 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
4111 $find = 'ﻞ';
4112 $result = Multibyte::strrichr($string, $find);
4113 $expected = 'ﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
4114 $this->assertEqual($result, $expected);
4115
4116 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
4117 $find = 'ﻞ';
4118 $result = Multibyte::strrichr($string, $find, true);
4119 $expected = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝ';
4120 $this->assertEqual($result, $expected);
4121
4122 $string = 'abcdefghijklmnopqrstuvwxyz';
4123 $find = 'k';
4124 $result = Multibyte::strrichr($string, $find);
4125 $expected = 'klmnopqrstuvwxyz';
4126 $this->assertEqual($result, $expected);
4127
4128 $string = 'abcdefghijklmnopqrstuvwxyz';
4129 $find = 'k';
4130 $result = Multibyte::strrichr($string, $find, true);
4131 $expected = 'abcdefghij';
4132 $this->assertEqual($result, $expected);
4133
4134 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
4135 $find = 'ア';
4136 $result = Multibyte::strrichr($string, $find);
4137 $expected = 'アイウエオカキク';
4138 $this->assertEqual($result, $expected);
4139
4140 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
4141 $find = 'ア';
4142 $result = Multibyte::strrichr($string, $find, true);
4143 $expected = '。「」、・ヲァィゥェォャュョッー';
4144 $this->assertEqual($result, $expected);
4145
4146 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
4147 $find = 'ハ';
4148 $result = Multibyte::strrichr($string, $find);
4149 $expected = 'ハヒフヘホマミムメモヤユヨラリルレロワン゙';
4150 $this->assertEqual($result, $expected);
4151
4152 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
4153 $find = 'ハ';
4154 $result = Multibyte::strrichr($string, $find, true);
4155 $expected = 'ケコサシスセソタチツテトナニヌネノ';
4156 $this->assertEqual($result, $expected);
4157
4158 $string = 'Ĥēĺļŏ, Ŵőřļď!';
4159 $find = 'ő';
4160 $result = Multibyte::strrichr($string, $find);
4161 $expected = 'őřļď!';
4162 $this->assertEqual($result, $expected);
4163
4164 $string = 'Ĥēĺļŏ, Ŵőřļď!';
4165 $find = 'ő';
4166 $result = Multibyte::strrichr($string, $find, true);
4167 $expected = 'Ĥēĺļŏ, Ŵ';
4168 $this->assertEqual($result, $expected);
4169
4170 $string = 'Hello, World!';
4171 $find = 'o';
4172 $result = Multibyte::strrichr($string, $find);
4173 $expected = 'orld!';
4174 $this->assertEqual($result, $expected);
4175
4176 $string = 'Hello, World!';
4177 $find = 'o';
4178 $result = Multibyte::strrichr($string, $find, true);
4179 $expected = 'Hello, W';
4180 $this->assertEqual($result, $expected);
4181
4182 $string = 'Hello, World!';
4183 $find = 'Wo';
4184 $result = Multibyte::strrichr($string, $find);
4185 $expected = 'World!';
4186 $this->assertEqual($result, $expected);
4187
4188 $string = 'Hello, World!';
4189 $find = 'Wo';
4190 $result = Multibyte::strrichr($string, $find, true);
4191 $expected = 'Hello, ';
4192 $this->assertEqual($result, $expected);
4193
4194 $string = 'Hello, World!';
4195 $find = 'll';
4196 $result = Multibyte::strrichr($string, $find);
4197 $expected = 'llo, World!';
4198 $this->assertEqual($result, $expected);
4199
4200 $string = 'Hello, World!';
4201 $find = 'll';
4202 $result = Multibyte::strrichr($string, $find, true);
4203 $expected = 'He';
4204 $this->assertEqual($result, $expected);
4205
4206 $string = 'Hello, World!';
4207 $find = 'rld';
4208 $result = Multibyte::strrichr($string, $find);
4209 $expected = 'rld!';
4210 $this->assertEqual($result, $expected);
4211
4212 $string = 'Hello, World!';
4213 $find = 'rld';
4214 $result = Multibyte::strrichr($string, $find, true);
4215 $expected = 'Hello, Wo';
4216 $this->assertEqual($result, $expected);
4217
4218 $string = 'čini';
4219 $find = 'n';
4220 $result = Multibyte::strrichr($string, $find);
4221 $expected = 'ni';
4222 $this->assertEqual($result, $expected);
4223
4224 $string = 'čini';
4225 $find = 'n';
4226 $result = Multibyte::strrichr($string, $find, true);
4227 $expected = 'či';
4228 $this->assertEqual($result, $expected);
4229
4230 $string = 'moći';
4231 $find = 'ć';
4232 $result = Multibyte::strrichr($string, $find);
4233 $expected = 'ći';
4234 $this->assertEqual($result, $expected);
4235
4236 $string = 'moći';
4237 $find = 'ć';
4238 $result = Multibyte::strrichr($string, $find, true);
4239 $expected = 'mo';
4240 $this->assertEqual($result, $expected);
4241
4242 $string = 'državni';
4243 $find = 'ž';
4244 $result = Multibyte::strrichr($string, $find);
4245 $expected = 'žavni';
4246 $this->assertEqual($result, $expected);
4247
4248 $string = 'državni';
4249 $find = 'ž';
4250 $result = Multibyte::strrichr($string, $find, true);
4251 $expected = 'dr';
4252 $this->assertEqual($result, $expected);
4253
4254 $string = '把百度设为首页';
4255 $find = '设';
4256 $result = Multibyte::strrichr($string, $find);
4257 $expected = '设为首页';
4258 $this->assertEqual($result, $expected);
4259
4260 $string = '把百度设为首页';
4261 $find = '设';
4262 $result = Multibyte::strrichr($string, $find, true);
4263 $expected = '把百度';
4264 $this->assertEqual($result, $expected);
4265
4266 $string = '一二三周永龍';
4267 $find = '周';
4268 $result = Multibyte::strrichr($string, $find);
4269 $expected = '周永龍';
4270 $this->assertEqual($result, $expected);
4271
4272 $string = '一二三周永龍';
4273 $find = '周';
4274 $result = Multibyte::strrichr($string, $find, true);
4275 $expected = '一二三';
4276 $this->assertEqual($result, $expected);
4277
4278 $string = '把百度设为首页';
4279 $find = '百设';
4280 $result = Multibyte::strrichr($string, $find, true);
4281 $expected = false;
4282 $this->assertEqual($result, $expected);
4283 }
4284
4285 /**
4286 * testUsingMbStrripos method
4287 *
4288 * @access public
4289 * @return void
4290 */
4291 function testUsingMbStrripos() {
4292 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
4293 $find = 'F';
4294 $result = mb_strripos($string, $find);
4295 $expected = 5;
4296 $this->assertEqual($result, $expected);
4297
4298 $string = 'ABCDEFGHIJKLMNOPQFRSTUVWXYZ0123456789';
4299 $find = 'F';
4300 $result = mb_strripos($string, $find, 6);
4301 $expected = 17;
4302 $this->assertEqual($result, $expected);
4303
4304 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
4305 $find = 'Å';
4306 $result = mb_strripos($string, $find);
4307 $expected = 5;
4308 $this->assertEqual($result, $expected);
4309
4310 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞ';
4311 $find = 'Å';
4312 $result = mb_strripos($string, $find, 6);
4313 $expected = 24;
4314 $this->assertEqual($result, $expected);
4315
4316 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞ';
4317 $find = 'ÓÔ';
4318 $result = mb_strripos($string, $find);
4319 $expected = 19;
4320 $this->assertEqual($result, $expected);
4321
4322 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
4323 $find = 'Ċ';
4324 $result = mb_strripos($string, $find);
4325 $expected = 5;
4326 $this->assertEqual($result, $expected);
4327
4328 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁĊŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
4329 $find = 'Ċ';
4330 $result = mb_strripos($string, $find, 6);
4331 $expected = 32;
4332 $this->assertEqual($result, $expected);
4333
4334 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
4335 $find = 'F';
4336 $result = mb_strripos($string, $find);
4337 $expected = 69;
4338 $this->assertEqual($result, $expected);
4339
4340 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
4341 $find = 'µ';
4342 $result = mb_strripos($string, $find);
4343 $expected = 20;
4344 $this->assertEqual($result, $expected);
4345
4346 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
4347 $find = 'é';
4348 $result = mb_strripos($string, $find);
4349 $expected = 32;
4350 $this->assertEqual($result, $expected);
4351
4352 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
4353 $find = 'Ņ';
4354 $result = mb_strripos($string, $find);
4355 $expected = 25;
4356 $this->assertEqual($result, $expected);
4357
4358 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
4359 $find = 'Ƹ';
4360 $result = mb_strripos($string, $find);
4361 $expected = 40;
4362 $this->assertEqual($result, $expected);
4363
4364 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
4365 $find = 'ƹ';
4366 $result = mb_strripos($string, $find);
4367 $expected = 40;
4368 $this->assertEqual($result, $expected);
4369
4370 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
4371 $find = 'ʀ';
4372 $result = mb_strripos($string, $find);
4373 $expected = 39;
4374 $this->assertEqual($result, $expected);
4375
4376 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
4377 $find = 'Ї';
4378 $result = mb_strripos($string, $find);
4379 $expected = 7;
4380 $this->assertEqual($result, $expected);
4381
4382 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
4383 $find = 'Р';
4384 $result = mb_strripos($string, $find);
4385 $expected = 36;
4386 $this->assertEqual($result, $expected);
4387
4388 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
4389 $find = 'р';
4390 $result = mb_strripos($string, $find, 5);
4391 $expected = 36;
4392 $this->assertEqual($result, $expected);
4393
4394 $string = 'فقكلمنهوىيًٌٍَُ';
4395 $find = 'ن';
4396 $result = mb_strripos($string, $find);
4397 $expected = 5;
4398 $this->assertEqual($result, $expected);
4399
4400 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
4401 $find = '✿';
4402 $result = mb_strripos($string, $find);
4403 $expected = 15;
4404 $this->assertEqual($result, $expected);
4405
4406 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
4407 $find = '⺐';
4408 $result = mb_strripos($string, $find);
4409 $expected = 16;
4410 $this->assertEqual($result, $expected);
4411
4412 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
4413 $find = '⽤';
4414 $result = mb_strripos($string, $find);
4415 $expected = 31;
4416 $this->assertEqual($result, $expected);
4417
4418 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
4419 $find = '눻';
4420 $result = mb_strripos($string, $find);
4421 $expected = 26;
4422 $this->assertEqual($result, $expected);
4423
4424 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
4425 $find = 'ﺞ';
4426 $result = mb_strripos($string, $find);
4427 $expected = 46;
4428 $this->assertEqual($result, $expected);
4429
4430 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
4431 $find = 'ﻞ';
4432 $result = mb_strripos($string, $find);
4433 $expected = 45;
4434 $this->assertEqual($result, $expected);
4435
4436 $string = 'abcdefghijklmnopqrstuvwxyz';
4437 $find = 'k';
4438 $result = mb_strripos($string, $find);
4439 $expected = 10;
4440 $this->assertEqual($result, $expected);
4441
4442 $string = 'abcdefghijklmnopqrstuvwxyz';
4443 $find = 'k';
4444 $result = mb_strripos($string, $find);
4445 $expected = 10;
4446 $this->assertEqual($result, $expected);
4447
4448 $string = 'abcdefghijklmnoppqrstuvwxyz';
4449 $find = 'pp';
4450 $result = mb_strripos($string, $find);
4451 $expected = 15;
4452 $this->assertEqual($result, $expected);
4453
4454 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
4455 $find = 'ア';
4456 $result = mb_strripos($string, $find);
4457 $expected = 16;
4458 $this->assertEqual($result, $expected);
4459
4460 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
4461 $find = 'ハ';
4462 $result = mb_strripos($string, $find);
4463 $expected = 17;
4464 $this->assertEqual($result, $expected);
4465
4466 $string = 'Ĥēĺļŏ, Ŵőřļď!';
4467 $find = 'ő';
4468 $result = mb_strripos($string, $find);
4469 $expected = 8;
4470 $this->assertEqual($result, $expected);
4471
4472 $string = 'Ĥēĺļŏ, Ŵőřļď!';
4473 $find = 'ő';
4474 $result = mb_strripos($string, $find);
4475 $expected = 8;
4476 $this->assertEqual($result, $expected);
4477
4478 $string = 'Hello, World!';
4479 $find = 'o';
4480 $result = mb_strripos($string, $find);
4481 $expected = 8;
4482 $this->assertEqual($result, $expected);
4483
4484 $string = 'Hello, World!';
4485 $find = 'o';
4486 $result = mb_strripos($string, $find, 5);
4487 $expected = 8;
4488 $this->assertEqual($result, $expected);
4489
4490 $string = 'čini';
4491 $find = 'n';
4492 $result = mb_strripos($string, $find);
4493 $expected = 2;
4494 $this->assertEqual($result, $expected);
4495
4496 $string = 'čini';
4497 $find = 'n';
4498 $result = mb_strripos($string, $find);
4499 $expected = 2;
4500 $this->assertEqual($result, $expected);
4501
4502 $string = 'moći';
4503 $find = 'ć';
4504 $result = mb_strripos($string, $find);
4505 $expected = 2;
4506 $this->assertEqual($result, $expected);
4507
4508 $string = 'moći';
4509 $find = 'ć';
4510 $result = mb_strripos($string, $find);
4511 $expected = 2;
4512 $this->assertEqual($result, $expected);
4513
4514 $string = 'državni';
4515 $find = 'ž';
4516 $result = mb_strripos($string, $find);
4517 $expected = 2;
4518 $this->assertEqual($result, $expected);
4519
4520 $string = '把百度设为首页';
4521 $find = '设';
4522 $result = mb_strripos($string, $find);
4523 $expected = 3;
4524 $this->assertEqual($result, $expected);
4525
4526 $string = '一二三周永龍';
4527 $find = '周';
4528 $result = mb_strripos($string, $find);
4529 $expected = 3;
4530 $this->assertEqual($result, $expected);
4531
4532 $string = 'državni';
4533 $find = 'dž';
4534 $result = mb_strripos($string, $find);
4535 $expected = false;
4536 $this->assertEqual($result, $expected);
4537 }
4538
4539 /**
4540 * testMultibyteStrripos method
4541 *
4542 * @access public
4543 * @return void
4544 */
4545 function testMultibyteStrripos() {
4546 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
4547 $find = 'F';
4548 $result = Multibyte::strripos($string, $find);
4549 $expected = 5;
4550 $this->assertEqual($result, $expected);
4551
4552 $string = 'ABCDEFGHIJKLMNOPQFRSTUVWXYZ0123456789';
4553 $find = 'F';
4554 $result = Multibyte::strripos($string, $find, 6);
4555 $expected = 17;
4556 $this->assertEqual($result, $expected);
4557
4558 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
4559 $find = 'Å';
4560 $result = Multibyte::strripos($string, $find);
4561 $expected = 5;
4562 $this->assertEqual($result, $expected);
4563
4564 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞ';
4565 $find = 'Å';
4566 $result = Multibyte::strripos($string, $find, 6);
4567 $expected = 24;
4568 $this->assertEqual($result, $expected);
4569
4570 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞ';
4571 $find = 'ÓÔ';
4572 $result = Multibyte::strripos($string, $find);
4573 $expected = 19;
4574 $this->assertEqual($result, $expected);
4575
4576 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
4577 $find = 'Ċ';
4578 $result = Multibyte::strripos($string, $find);
4579 $expected = 5;
4580 $this->assertEqual($result, $expected);
4581
4582 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁĊŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
4583 $find = 'Ċ';
4584 $result = Multibyte::strripos($string, $find, 6);
4585 $expected = 32;
4586 $this->assertEqual($result, $expected);
4587
4588 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
4589 $find = 'F';
4590 $result = Multibyte::strripos($string, $find);
4591 $expected = 69;
4592 $this->assertEqual($result, $expected);
4593
4594 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
4595 $find = 'µ';
4596 $result = Multibyte::strripos($string, $find);
4597 $expected = 20;
4598 $this->assertEqual($result, $expected);
4599
4600 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
4601 $find = 'é';
4602 $result = Multibyte::strripos($string, $find);
4603 $expected = 32;
4604 $this->assertEqual($result, $expected);
4605
4606 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
4607 $find = 'Ņ';
4608 $result = Multibyte::strripos($string, $find);
4609 $expected = 25;
4610 $this->assertEqual($result, $expected);
4611
4612 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
4613 $find = 'Ƹ';
4614 $result = Multibyte::strripos($string, $find);
4615 $expected = 40;
4616 $this->assertEqual($result, $expected);
4617
4618 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
4619 $find = 'ƹ';
4620 $result = Multibyte::strripos($string, $find);
4621 $expected = 40;
4622 $this->assertEqual($result, $expected);
4623
4624 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
4625 $find = 'ʀ';
4626 $result = Multibyte::strripos($string, $find);
4627 $expected = 39;
4628 $this->assertEqual($result, $expected);
4629
4630 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
4631 $find = 'Ї';
4632 $result = Multibyte::strripos($string, $find);
4633 $expected = 7;
4634 $this->assertEqual($result, $expected);
4635
4636 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
4637 $find = 'Р';
4638 $result = Multibyte::strripos($string, $find);
4639 $expected = 36;
4640 $this->assertEqual($result, $expected);
4641
4642 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
4643 $find = 'р';
4644 $result = Multibyte::strripos($string, $find, 5);
4645 $expected = 36;
4646 $this->assertEqual($result, $expected);
4647
4648 $string = 'فقكلمنهوىيًٌٍَُ';
4649 $find = 'ن';
4650 $result = Multibyte::strripos($string, $find);
4651 $expected = 5;
4652 $this->assertEqual($result, $expected);
4653
4654 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
4655 $find = '✿';
4656 $result = Multibyte::strripos($string, $find);
4657 $expected = 15;
4658 $this->assertEqual($result, $expected);
4659
4660 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
4661 $find = '⺐';
4662 $result = Multibyte::strripos($string, $find);
4663 $expected = 16;
4664 $this->assertEqual($result, $expected);
4665
4666 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
4667 $find = '⽤';
4668 $result = Multibyte::strripos($string, $find);
4669 $expected = 31;
4670 $this->assertEqual($result, $expected);
4671
4672 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
4673 $find = '눻';
4674 $result = Multibyte::strripos($string, $find);
4675 $expected = 26;
4676 $this->assertEqual($result, $expected);
4677
4678 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
4679 $find = 'ﺞ';
4680 $result = Multibyte::strripos($string, $find);
4681 $expected = 46;
4682 $this->assertEqual($result, $expected);
4683
4684 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
4685 $find = 'ﻞ';
4686 $result = Multibyte::strripos($string, $find);
4687 $expected = 45;
4688 $this->assertEqual($result, $expected);
4689
4690 $string = 'abcdefghijklmnopqrstuvwxyz';
4691 $find = 'k';
4692 $result = Multibyte::strripos($string, $find);
4693 $expected = 10;
4694 $this->assertEqual($result, $expected);
4695
4696 $string = 'abcdefghijklmnopqrstuvwxyz';
4697 $find = 'k';
4698 $result = Multibyte::strripos($string, $find);
4699 $expected = 10;
4700 $this->assertEqual($result, $expected);
4701
4702 $string = 'abcdefghijklmnoppqrstuvwxyz';
4703 $find = 'pp';
4704 $result = Multibyte::strripos($string, $find);
4705 $expected = 15;
4706 $this->assertEqual($result, $expected);
4707
4708 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
4709 $find = 'ア';
4710 $result = Multibyte::strripos($string, $find);
4711 $expected = 16;
4712 $this->assertEqual($result, $expected);
4713
4714 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
4715 $find = 'ハ';
4716 $result = Multibyte::strripos($string, $find);
4717 $expected = 17;
4718 $this->assertEqual($result, $expected);
4719
4720 $string = 'Ĥēĺļŏ, Ŵőřļď!';
4721 $find = 'ő';
4722 $result = Multibyte::strripos($string, $find);
4723 $expected = 8;
4724 $this->assertEqual($result, $expected);
4725
4726 $string = 'Ĥēĺļŏ, Ŵőřļď!';
4727 $find = 'ő';
4728 $result = Multibyte::strripos($string, $find);
4729 $expected = 8;
4730 $this->assertEqual($result, $expected);
4731
4732 $string = 'Hello, World!';
4733 $find = 'o';
4734 $result = Multibyte::strripos($string, $find);
4735 $expected = 8;
4736 $this->assertEqual($result, $expected);
4737
4738 $string = 'Hello, World!';
4739 $find = 'o';
4740 $result = Multibyte::strripos($string, $find, 5);
4741 $expected = 8;
4742 $this->assertEqual($result, $expected);
4743
4744 $string = 'čini';
4745 $find = 'n';
4746 $result = Multibyte::strripos($string, $find);
4747 $expected = 2;
4748 $this->assertEqual($result, $expected);
4749
4750 $string = 'čini';
4751 $find = 'n';
4752 $result = Multibyte::strripos($string, $find);
4753 $expected = 2;
4754 $this->assertEqual($result, $expected);
4755
4756 $string = 'moći';
4757 $find = 'ć';
4758 $result = Multibyte::strripos($string, $find);
4759 $expected = 2;
4760 $this->assertEqual($result, $expected);
4761
4762 $string = 'moći';
4763 $find = 'ć';
4764 $result = Multibyte::strripos($string, $find);
4765 $expected = 2;
4766 $this->assertEqual($result, $expected);
4767
4768 $string = 'državni';
4769 $find = 'ž';
4770 $result = Multibyte::strripos($string, $find);
4771 $expected = 2;
4772 $this->assertEqual($result, $expected);
4773
4774 $string = '把百度设为首页';
4775 $find = '设';
4776 $result = Multibyte::strripos($string, $find);
4777 $expected = 3;
4778 $this->assertEqual($result, $expected);
4779
4780 $string = '一二三周永龍';
4781 $find = '周';
4782 $result = Multibyte::strripos($string, $find);
4783 $expected = 3;
4784 $this->assertEqual($result, $expected);
4785
4786 $string = 'državni';
4787 $find = 'dž';
4788 $result = Multibyte::strripos($string, $find);
4789 $expected = false;
4790 $this->assertEqual($result, $expected);
4791 }
4792
4793 /**
4794 * testUsingMbStrrpos method
4795 *
4796 * @access public
4797 * @return void
4798 */
4799 function testUsingMbStrrpos() {
4800 $skip = extension_loaded('mbstring') && version_compare(PHP_VERSION, '5.2.0', '<');
4801 if ($this->skipIf($skip, '%s PHP version does not support $offset parameter in mb_strrpos().')) {
4802 return;
4803 }
4804 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
4805 $find = 'F';
4806 $result = mb_strrpos($string, $find);
4807 $expected = 5;
4808 $this->assertEqual($result, $expected);
4809
4810 $string = 'ABCDEFGHIJKLMNOPQFRSTUVWXYZ0123456789';
4811 $find = 'F';
4812 $result = mb_strrpos($string, $find, 6);
4813 $expected = 17;
4814 $this->assertEqual($result, $expected);
4815
4816 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
4817 $find = 'Å';
4818 $result = mb_strrpos($string, $find);
4819 $expected = 5;
4820 $this->assertEqual($result, $expected);
4821
4822 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞ';
4823 $find = 'ÙÚ';
4824 $result = mb_strrpos($string, $find);
4825 $expected = 25;
4826 $this->assertEqual($result, $expected);
4827
4828 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞ';
4829 $find = 'Å';
4830 $result = mb_strrpos($string, $find, 6);
4831 $expected = 24;
4832 $this->assertEqual($result, $expected);
4833
4834 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
4835 $find = 'Ċ';
4836 $result = mb_strrpos($string, $find);
4837 $expected = 5;
4838 $this->assertEqual($result, $expected);
4839
4840 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁĊŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
4841 $find = 'Ċ';
4842 $result = mb_strrpos($string, $find, 6);
4843 $expected = 32;
4844 $this->assertEqual($result, $expected);
4845
4846 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
4847 $find = 'F';
4848 $result = mb_strrpos($string, $find);
4849 $expected = 37;
4850 $this->assertEqual($result, $expected);
4851
4852 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
4853 $find = 'µ';
4854 $result = mb_strrpos($string, $find);
4855 $expected = 20;
4856 $this->assertEqual($result, $expected);
4857
4858 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
4859 $find = 'é';
4860 $result = mb_strrpos($string, $find);
4861 $expected = 32;
4862 $this->assertEqual($result, $expected);
4863
4864 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
4865 $find = 'Ņ';
4866 $result = mb_strrpos($string, $find);
4867 $expected = 24;
4868 $this->assertEqual($result, $expected);
4869
4870 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
4871 $find = 'Ƹ';
4872 $result = mb_strrpos($string, $find);
4873 $expected = 39;
4874 $this->assertEqual($result, $expected);
4875
4876 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
4877 $find = 'ƹ';
4878 $result = mb_strrpos($string, $find);
4879 $expected = 40;
4880 $this->assertEqual($result, $expected);
4881
4882 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
4883 $find = 'ʀ';
4884 $result = mb_strrpos($string, $find);
4885 $expected = 39;
4886 $this->assertEqual($result, $expected);
4887
4888 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
4889 $find = 'Ї';
4890 $result = mb_strrpos($string, $find);
4891 $expected = 7;
4892 $this->assertEqual($result, $expected);
4893
4894 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
4895 $find = 'Р';
4896 $result = mb_strrpos($string, $find);
4897 $expected = 4;
4898 $this->assertEqual($result, $expected);
4899
4900 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
4901 $find = 'р';
4902 $result = mb_strrpos($string, $find, 5);
4903 $expected = 36;
4904 $this->assertEqual($result, $expected);
4905
4906 $string = 'فقكلمنهوىيًٌٍَُ';
4907 $find = 'ن';
4908 $result = mb_strrpos($string, $find);
4909 $expected = 5;
4910 $this->assertEqual($result, $expected);
4911
4912 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
4913 $find = '✿';
4914 $result = mb_strrpos($string, $find);
4915 $expected = 15;
4916 $this->assertEqual($result, $expected);
4917
4918 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
4919 $find = '⺐';
4920 $result = mb_strrpos($string, $find);
4921 $expected = 16;
4922 $this->assertEqual($result, $expected);
4923
4924 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
4925 $find = '⽤';
4926 $result = mb_strrpos($string, $find);
4927 $expected = 31;
4928 $this->assertEqual($result, $expected);
4929
4930 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
4931 $find = '눻';
4932 $result = mb_strrpos($string, $find);
4933 $expected = 26;
4934 $this->assertEqual($result, $expected);
4935
4936 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
4937 $find = 'ﺞ';
4938 $result = mb_strrpos($string, $find);
4939 $expected = 46;
4940 $this->assertEqual($result, $expected);
4941
4942 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
4943 $find = 'ﻞ';
4944 $result = mb_strrpos($string, $find);
4945 $expected = 45;
4946 $this->assertEqual($result, $expected);
4947
4948 $string = 'abcdefghijklmnopqrstuvwxyz';
4949 $find = 'k';
4950 $result = mb_strrpos($string, $find);
4951 $expected = 10;
4952 $this->assertEqual($result, $expected);
4953
4954 $string = 'abcdefghijklmnopqrstuvwxyz';
4955 $find = 'k';
4956 $result = mb_strrpos($string, $find);
4957 $expected = 10;
4958 $this->assertEqual($result, $expected);
4959
4960 $string = 'abcdefghijklmnoppqrstuvwxyz';
4961 $find = 'pp';
4962 $result = mb_strrpos($string, $find);
4963 $expected = 15;
4964 $this->assertEqual($result, $expected);
4965
4966 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
4967 $find = 'ア';
4968 $result = mb_strrpos($string, $find);
4969 $expected = 16;
4970 $this->assertEqual($result, $expected);
4971
4972 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
4973 $find = 'ハ';
4974 $result = mb_strrpos($string, $find);
4975 $expected = 17;
4976 $this->assertEqual($result, $expected);
4977
4978 $string = 'Ĥēĺļŏ, Ŵőřļď!';
4979 $find = 'ő';
4980 $result = mb_strrpos($string, $find);
4981 $expected = 8;
4982 $this->assertEqual($result, $expected);
4983
4984 $string = 'Ĥēĺļŏ, Ŵőřļď!';
4985 $find = 'ő';
4986 $result = mb_strrpos($string, $find);
4987 $expected = 8;
4988 $this->assertEqual($result, $expected);
4989
4990 $string = 'Hello, World!';
4991 $find = 'o';
4992 $result = mb_strrpos($string, $find);
4993 $expected = 8;
4994 $this->assertEqual($result, $expected);
4995
4996 $string = 'Hello, World!';
4997 $find = 'o';
4998 $result = mb_strrpos($string, $find, 5);
4999 $expected = 8;
5000 $this->assertEqual($result, $expected);
5001
5002 $string = 'čini';
5003 $find = 'n';
5004 $result = mb_strrpos($string, $find);
5005 $expected = 2;
5006 $this->assertEqual($result, $expected);
5007
5008 $string = 'čini';
5009 $find = 'n';
5010 $result = mb_strrpos($string, $find);
5011 $expected = 2;
5012 $this->assertEqual($result, $expected);
5013
5014 $string = 'moći';
5015 $find = 'ć';
5016 $result = mb_strrpos($string, $find);
5017 $expected = 2;
5018 $this->assertEqual($result, $expected);
5019
5020 $string = 'moći';
5021 $find = 'ć';
5022 $result = mb_strrpos($string, $find);
5023 $expected = 2;
5024 $this->assertEqual($result, $expected);
5025
5026 $string = 'državni';
5027 $find = 'ž';
5028 $result = mb_strrpos($string, $find);
5029 $expected = 2;
5030 $this->assertEqual($result, $expected);
5031
5032 $string = '把百度设为首页';
5033 $find = '设';
5034 $result = mb_strrpos($string, $find);
5035 $expected = 3;
5036 $this->assertEqual($result, $expected);
5037
5038 $string = '一二三周永龍';
5039 $find = '周';
5040 $result = mb_strrpos($string, $find);
5041 $expected = 3;
5042 $this->assertEqual($result, $expected);
5043
5044 $string = 'Ĥēĺļŏ, Ŵőřļď!';
5045 $find = 'H';
5046 $result = mb_strrpos($string, $find);
5047 $expected = false;
5048 $this->assertEqual($result, $expected);
5049 }
5050
5051 /**
5052 * testMultibyteStrrpos method
5053 *
5054 * @access public
5055 * @return void
5056 */
5057 function testMultibyteStrrpos() {
5058 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
5059 $find = 'F';
5060 $result = Multibyte::strrpos($string, $find);
5061 $expected = 5;
5062 $this->assertEqual($result, $expected);
5063
5064 $string = 'ABCDEFGHIJKLMNOPQFRSTUVWXYZ0123456789';
5065 $find = 'F';
5066 $result = Multibyte::strrpos($string, $find, 6);
5067 $expected = 17;
5068 $this->assertEqual($result, $expected);
5069
5070 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
5071 $find = 'Å';
5072 $result = Multibyte::strrpos($string, $find);
5073 $expected = 5;
5074 $this->assertEqual($result, $expected);
5075
5076 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞ';
5077 $find = 'Å';
5078 $result = Multibyte::strrpos($string, $find, 6);
5079 $expected = 24;
5080 $this->assertEqual($result, $expected);
5081
5082 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞ';
5083 $find = 'ÙÚ';
5084 $result = Multibyte::strrpos($string, $find);
5085 $expected = 25;
5086 $this->assertEqual($result, $expected);
5087
5088 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
5089 $find = 'Ċ';
5090 $result = Multibyte::strrpos($string, $find);
5091 $expected = 5;
5092 $this->assertEqual($result, $expected);
5093
5094 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁĊŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
5095 $find = 'Ċ';
5096 $result = Multibyte::strrpos($string, $find, 6);
5097 $expected = 32;
5098 $this->assertEqual($result, $expected);
5099
5100 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
5101 $find = 'F';
5102 $result = Multibyte::strrpos($string, $find);
5103 $expected = 37;
5104 $this->assertEqual($result, $expected);
5105
5106 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
5107 $find = 'µ';
5108 $result = Multibyte::strrpos($string, $find);
5109 $expected = 20;
5110 $this->assertEqual($result, $expected);
5111
5112 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
5113 $find = 'é';
5114 $result = Multibyte::strrpos($string, $find);
5115 $expected = 32;
5116 $this->assertEqual($result, $expected);
5117
5118 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
5119 $find = 'Ņ';
5120 $result = Multibyte::strrpos($string, $find);
5121 $expected = 24;
5122 $this->assertEqual($result, $expected);
5123
5124 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
5125 $find = 'Ƹ';
5126 $result = Multibyte::strrpos($string, $find);
5127 $expected = 39;
5128 $this->assertEqual($result, $expected);
5129
5130 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
5131 $find = 'ƹ';
5132 $result = Multibyte::strrpos($string, $find);
5133 $expected = 40;
5134 $this->assertEqual($result, $expected);
5135
5136 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
5137 $find = 'ʀ';
5138 $result = Multibyte::strrpos($string, $find);
5139 $expected = 39;
5140 $this->assertEqual($result, $expected);
5141
5142 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
5143 $find = 'Ї';
5144 $result = Multibyte::strrpos($string, $find);
5145 $expected = 7;
5146 $this->assertEqual($result, $expected);
5147
5148 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
5149 $find = 'Р';
5150 $result = Multibyte::strrpos($string, $find);
5151 $expected = 4;
5152 $this->assertEqual($result, $expected);
5153
5154 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
5155 $find = 'р';
5156 $result = Multibyte::strrpos($string, $find, 5);
5157 $expected = 36;
5158 $this->assertEqual($result, $expected);
5159
5160 $string = 'فقكلمنهوىيًٌٍَُ';
5161 $find = 'ن';
5162 $result = Multibyte::strrpos($string, $find);
5163 $expected = 5;
5164 $this->assertEqual($result, $expected);
5165
5166 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
5167 $find = '✿';
5168 $result = Multibyte::strrpos($string, $find);
5169 $expected = 15;
5170 $this->assertEqual($result, $expected);
5171
5172 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
5173 $find = '⺐';
5174 $result = Multibyte::strrpos($string, $find);
5175 $expected = 16;
5176 $this->assertEqual($result, $expected);
5177
5178 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
5179 $find = '⽤';
5180 $result = Multibyte::strrpos($string, $find);
5181 $expected = 31;
5182 $this->assertEqual($result, $expected);
5183
5184 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
5185 $find = '눻';
5186 $result = Multibyte::strrpos($string, $find);
5187 $expected = 26;
5188 $this->assertEqual($result, $expected);
5189
5190 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
5191 $find = 'ﺞ';
5192 $result = Multibyte::strrpos($string, $find);
5193 $expected = 46;
5194 $this->assertEqual($result, $expected);
5195
5196 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
5197 $find = 'ﻞ';
5198 $result = Multibyte::strrpos($string, $find);
5199 $expected = 45;
5200 $this->assertEqual($result, $expected);
5201
5202 $string = 'abcdefghijklmnopqrstuvwxyz';
5203 $find = 'k';
5204 $result = Multibyte::strrpos($string, $find);
5205 $expected = 10;
5206 $this->assertEqual($result, $expected);
5207
5208 $string = 'abcdefghijklmnopqrstuvwxyz';
5209 $find = 'k';
5210 $result = Multibyte::strrpos($string, $find);
5211 $expected = 10;
5212 $this->assertEqual($result, $expected);
5213
5214 $string = 'abcdefghijklmnoppqrstuvwxyz';
5215 $find = 'pp';
5216 $result = Multibyte::strrpos($string, $find);
5217 $expected = 15;
5218 $this->assertEqual($result, $expected);
5219
5220 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
5221 $find = 'ア';
5222 $result = Multibyte::strrpos($string, $find);
5223 $expected = 16;
5224 $this->assertEqual($result, $expected);
5225
5226 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
5227 $find = 'ハ';
5228 $result = Multibyte::strrpos($string, $find);
5229 $expected = 17;
5230 $this->assertEqual($result, $expected);
5231
5232 $string = 'Ĥēĺļŏ, Ŵőřļď!';
5233 $find = 'ő';
5234 $result = Multibyte::strrpos($string, $find);
5235 $expected = 8;
5236 $this->assertEqual($result, $expected);
5237
5238 $string = 'Ĥēĺļŏ, Ŵőřļď!';
5239 $find = 'ő';
5240 $result = Multibyte::strrpos($string, $find);
5241 $expected = 8;
5242 $this->assertEqual($result, $expected);
5243
5244 $string = 'Hello, World!';
5245 $find = 'o';
5246 $result = Multibyte::strrpos($string, $find);
5247 $expected = 8;
5248 $this->assertEqual($result, $expected);
5249
5250 $string = 'Hello, World!';
5251 $find = 'o';
5252 $result = Multibyte::strrpos($string, $find, 5);
5253 $expected = 8;
5254 $this->assertEqual($result, $expected);
5255
5256 $string = 'čini';
5257 $find = 'n';
5258 $result = Multibyte::strrpos($string, $find);
5259 $expected = 2;
5260 $this->assertEqual($result, $expected);
5261
5262 $string = 'čini';
5263 $find = 'n';
5264 $result = Multibyte::strrpos($string, $find);
5265 $expected = 2;
5266 $this->assertEqual($result, $expected);
5267
5268 $string = 'moći';
5269 $find = 'ć';
5270 $result = Multibyte::strrpos($string, $find);
5271 $expected = 2;
5272 $this->assertEqual($result, $expected);
5273
5274 $string = 'moći';
5275 $find = 'ć';
5276 $result = Multibyte::strrpos($string, $find);
5277 $expected = 2;
5278 $this->assertEqual($result, $expected);
5279
5280 $string = 'državni';
5281 $find = 'ž';
5282 $result = Multibyte::strrpos($string, $find);
5283 $expected = 2;
5284 $this->assertEqual($result, $expected);
5285
5286 $string = '把百度设为首页';
5287 $find = '设';
5288 $result = Multibyte::strrpos($string, $find);
5289 $expected = 3;
5290 $this->assertEqual($result, $expected);
5291
5292 $string = '一二三周永龍';
5293 $find = '周';
5294 $result = Multibyte::strrpos($string, $find);
5295 $expected = 3;
5296 $this->assertEqual($result, $expected);
5297
5298 $string = 'Ĥēĺļŏ, Ŵőřļď!';
5299 $find = 'H';
5300 $result = Multibyte::strrpos($string, $find);
5301 $expected = false;
5302 $this->assertEqual($result, $expected);
5303 }
5304
5305 /**
5306 * testUsingMbStrstr method
5307 *
5308 * @access public
5309 * @return void
5310 */
5311 function testUsingMbStrstr() {
5312 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
5313 $find = 'F';
5314 $result = mb_strstr($string, $find);
5315 $expected = 'FGHIJKLMNOPQRSTUVWXYZ0123456789';
5316 $this->assertEqual($result, $expected);
5317
5318 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
5319 $find = 'F';
5320 $result = mb_strstr($string, $find, true);
5321 $expected = 'ABCDE';
5322 $this->assertEqual($result, $expected);
5323
5324 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
5325 $find = 'Å';
5326 $result = mb_strstr($string, $find);
5327 $expected = 'ÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
5328 $this->assertEqual($result, $expected);
5329
5330 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
5331 $find = 'Å';
5332 $result = mb_strstr($string, $find, true);
5333 $expected = 'ÀÁÂÃÄ';
5334 $this->assertEqual($result, $expected);
5335
5336 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
5337 $find = 'Ċ';
5338 $result = mb_strstr($string, $find);
5339 $expected = 'ĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
5340 $this->assertEqual($result, $expected);
5341
5342 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
5343 $find = 'Ċ';
5344 $result = mb_strstr($string, $find, true);
5345 $expected = 'ĀĂĄĆĈ';
5346 $this->assertEqual($result, $expected);
5347
5348 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
5349 $find = 'F';
5350 $result = mb_strstr($string, $find);
5351 $expected = 'FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
5352 $this->assertEqual($result, $expected);
5353
5354 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
5355 $find = 'F';
5356 $result = mb_strstr($string, $find, true);
5357 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDE';
5358 $this->assertEqual($result, $expected);
5359
5360 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
5361 $find = 'µ';
5362 $result = mb_strstr($string, $find);
5363 $expected = 'µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
5364 $this->assertEqual($result, $expected);
5365
5366 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
5367 $find = 'µ';
5368 $result = mb_strstr($string, $find, true);
5369 $expected = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´';
5370 $this->assertEqual($result, $expected);
5371
5372 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
5373 $find = 'Þ';
5374 $result = mb_strstr($string, $find);
5375 $expected = 'Þßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
5376 $this->assertEqual($result, $expected);
5377
5378 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
5379 $find = 'Þ';
5380 $result = mb_strstr($string, $find, true);
5381 $expected = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝ';
5382 $this->assertEqual($result, $expected);
5383
5384 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
5385 $find = 'Ņ';
5386 $result = mb_strstr($string, $find);
5387 $expected = 'ŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
5388 $this->assertEqual($result, $expected);
5389
5390 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
5391 $find = 'Ņ';
5392 $result = mb_strstr($string, $find, true);
5393 $expected = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃń';
5394 $this->assertEqual($result, $expected);
5395
5396 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
5397 $find = 'Ƹ';
5398 $result = mb_strstr($string, $find);
5399 $expected = 'ƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
5400 $this->assertEqual($result, $expected);
5401
5402 $find = 'Ƹ';
5403 $result = mb_strstr($string, $find, true);
5404 $expected = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷ';
5405 $this->assertEqual($result, $expected);
5406
5407 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
5408 $find = 'ʀ';
5409 $result = mb_strstr($string, $find);
5410 $expected = 'ʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
5411 $this->assertEqual($result, $expected);
5412
5413 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
5414 $find = 'ʀ';
5415 $result = mb_strstr($string, $find, true);
5416 $expected = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿ';
5417 $this->assertEqual($result, $expected);
5418
5419 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
5420 $find = 'Ї';
5421 $result = mb_strstr($string, $find);
5422 $expected = 'ЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
5423 $this->assertEqual($result, $expected);
5424
5425 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
5426 $find = 'Ї';
5427 $result = mb_strstr($string, $find, true);
5428 $expected = 'ЀЁЂЃЄЅІ';
5429 $this->assertEqual($result, $expected);
5430
5431 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
5432 $find = 'Р';
5433 $result = mb_strstr($string, $find);
5434 $expected = 'РСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
5435 $this->assertEqual($result, $expected);
5436
5437 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
5438 $find = 'Р';
5439 $result = mb_strstr($string, $find, true);
5440 $expected = 'МНОП';
5441 $this->assertEqual($result, $expected);
5442
5443 $string = 'فقكلمنهوىيًٌٍَُ';
5444 $find = 'ن';
5445 $result = mb_strstr($string, $find);
5446 $expected = 'نهوىيًٌٍَُ';
5447 $this->assertEqual($result, $expected);
5448
5449 $string = 'فقكلمنهوىيًٌٍَُ';
5450 $find = 'ن';
5451 $result = mb_strstr($string, $find, true);
5452 $expected = 'فقكلم';
5453 $this->assertEqual($result, $expected);
5454
5455 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
5456 $find = '✿';
5457 $result = mb_strstr($string, $find);
5458 $expected = '✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
5459 $this->assertEqual($result, $expected);
5460
5461 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
5462 $find = '✿';
5463 $result = mb_strstr($string, $find, true);
5464 $expected = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾';
5465 $this->assertEqual($result, $expected);
5466
5467 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
5468 $find = '⺐';
5469 $result = mb_strstr($string, $find);
5470 $expected = '⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
5471 $this->assertEqual($result, $expected);
5472
5473 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
5474 $find = '⺐';
5475 $result = mb_strstr($string, $find, true);
5476 $expected = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏';
5477 $this->assertEqual($result, $expected);
5478
5479 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
5480 $find = '⽤';
5481 $result = mb_strstr($string, $find);
5482 $expected = '⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
5483 $this->assertEqual($result, $expected);
5484
5485 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
5486 $find = '⽤';
5487 $result = mb_strstr($string, $find, true);
5488 $expected = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣';
5489 $this->assertEqual($result, $expected);
5490
5491 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
5492 $find = '눻';
5493 $result = mb_strstr($string, $find);
5494 $expected = '눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
5495 $this->assertEqual($result, $expected);
5496
5497 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
5498 $find = '눻';
5499 $result = mb_strstr($string, $find, true);
5500 $expected = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺';
5501 $this->assertEqual($result, $expected);
5502
5503 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
5504 $find = 'ﺞ';
5505 $result = mb_strstr($string, $find);
5506 $expected = 'ﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
5507 $this->assertEqual($result, $expected);
5508
5509 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
5510 $find = 'ﺞ';
5511 $result = mb_strstr($string, $find, true);
5512 $expected = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝ';
5513 $this->assertEqual($result, $expected);
5514
5515 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
5516 $find = 'ﻞ';
5517 $result = mb_strstr($string, $find);
5518 $expected = 'ﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
5519 $this->assertEqual($result, $expected);
5520
5521 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
5522 $find = 'ﻞ';
5523 $result = mb_strstr($string, $find, true);
5524 $expected = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝ';
5525 $this->assertEqual($result, $expected);
5526
5527 $string = 'abcdefghijklmnopqrstuvwxyz';
5528 $find = 'k';
5529 $result = mb_strstr($string, $find);
5530 $expected = 'klmnopqrstuvwxyz';
5531 $this->assertEqual($result, $expected);
5532
5533 $string = 'abcdefghijklmnopqrstuvwxyz';
5534 $find = 'k';
5535 $result = mb_strstr($string, $find, true);
5536 $expected = 'abcdefghij';
5537 $this->assertEqual($result, $expected);
5538
5539 $string = 'abcdefghijklmnopqrstuvwxyz';
5540 $find = 'K';
5541 $result = mb_strstr($string, $find);
5542 $expected = false;
5543 $this->assertEqual($result, $expected);
5544
5545 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
5546 $find = 'ア';
5547 $result = mb_strstr($string, $find);
5548 $expected = 'アイウエオカキク';
5549 $this->assertEqual($result, $expected);
5550
5551 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
5552 $find = 'ア';
5553 $result = mb_strstr($string, $find, true);
5554 $expected = '。「」、・ヲァィゥェォャュョッー';
5555 $this->assertEqual($result, $expected);
5556
5557 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
5558 $find = 'ハ';
5559 $result = mb_strstr($string, $find);
5560 $expected = 'ハヒフヘホマミムメモヤユヨラリルレロワン゙';
5561 $this->assertEqual($result, $expected);
5562
5563 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
5564 $find = 'ハ';
5565 $result = mb_strstr($string, $find, true);
5566 $expected = 'ケコサシスセソタチツテトナニヌネノ';
5567 $this->assertEqual($result, $expected);
5568
5569 $string = 'Ĥēĺļŏ, Ŵőřļď!';
5570 $find = 'ő';
5571 $result = mb_strstr($string, $find);
5572 $expected = 'őřļď!';
5573 $this->assertEqual($result, $expected);
5574
5575 $string = 'Ĥēĺļŏ, Ŵőřļď!';
5576 $find = 'ő';
5577 $result = mb_strstr($string, $find, true);
5578 $expected = 'Ĥēĺļŏ, Ŵ';
5579 $this->assertEqual($result, $expected);
5580
5581 $string = 'Ĥēĺļŏ, Ŵőřļď!';
5582 $find = 'ĺļ';
5583 $result = mb_strstr($string, $find, true);
5584 $expected = 'Ĥē';
5585 $this->assertEqual($result, $expected);
5586
5587 $string = 'Hello, World!';
5588 $find = 'o';
5589 $result = mb_strstr($string, $find);
5590 $expected = 'o, World!';
5591 $this->assertEqual($result, $expected);
5592
5593 $string = 'Hello, World!';
5594 $find = 'o';
5595 $result = mb_strstr($string, $find, true);
5596 $expected = 'Hell';
5597 $this->assertEqual($result, $expected);
5598
5599 $string = 'Hello, World!';
5600 $find = 'Wo';
5601 $result = mb_strstr($string, $find);
5602 $expected = 'World!';
5603 $this->assertEqual($result, $expected);
5604
5605 $string = 'Hello, World!';
5606 $find = 'Wo';
5607 $result = mb_strstr($string, $find, true);
5608 $expected = 'Hello, ';
5609 $this->assertEqual($result, $expected);
5610
5611 $string = 'Hello, World!';
5612 $find = 'll';
5613 $result = mb_strstr($string, $find);
5614 $expected = 'llo, World!';
5615 $this->assertEqual($result, $expected);
5616
5617 $string = 'Hello, World!';
5618 $find = 'll';
5619 $result = mb_strstr($string, $find, true);
5620 $expected = 'He';
5621 $this->assertEqual($result, $expected);
5622
5623 $string = 'Hello, World!';
5624 $find = 'rld';
5625 $result = mb_strstr($string, $find);
5626 $expected = 'rld!';
5627 $this->assertEqual($result, $expected);
5628
5629 $string = 'Hello, World!';
5630 $find = 'rld';
5631 $result = mb_strstr($string, $find, true);
5632 $expected = 'Hello, Wo';
5633 $this->assertEqual($result, $expected);
5634
5635 $string = 'čini';
5636 $find = 'n';
5637 $result = mb_strstr($string, $find);
5638 $expected = 'ni';
5639 $this->assertEqual($result, $expected);
5640
5641 $string = 'čini';
5642 $find = 'n';
5643 $result = mb_strstr($string, $find, true);
5644 $expected = 'či';
5645 $this->assertEqual($result, $expected);
5646
5647 $string = 'moći';
5648 $find = 'ć';
5649 $result = mb_strstr($string, $find);
5650 $expected = 'ći';
5651 $this->assertEqual($result, $expected);
5652
5653 $string = 'moći';
5654 $find = 'ć';
5655 $result = mb_strstr($string, $find, true);
5656 $expected = 'mo';
5657 $this->assertEqual($result, $expected);
5658
5659 $string = 'državni';
5660 $find = 'ž';
5661 $result = mb_strstr($string, $find);
5662 $expected = 'žavni';
5663 $this->assertEqual($result, $expected);
5664
5665 $string = 'državni';
5666 $find = 'ž';
5667 $result = mb_strstr($string, $find, true);
5668 $expected = 'dr';
5669 $this->assertEqual($result, $expected);
5670
5671 $string = '把百度设为首页';
5672 $find = '设';
5673 $result = mb_strstr($string, $find);
5674 $expected = '设为首页';
5675 $this->assertEqual($result, $expected);
5676
5677 $string = '把百度设为首页';
5678 $find = '设';
5679 $result = mb_strstr($string, $find, true);
5680 $expected = '把百度';
5681 $this->assertEqual($result, $expected);
5682
5683 $string = '一二三周永龍';
5684 $find = '周';
5685 $result = mb_strstr($string, $find);
5686 $expected = '周永龍';
5687 $this->assertEqual($result, $expected);
5688
5689 $string = '一二三周永龍';
5690 $find = '周';
5691 $result = mb_strstr($string, $find, true);
5692 $expected = '一二三';
5693 $this->assertEqual($result, $expected);
5694
5695 $string = '一二三周永龍';
5696 $find = '二周';
5697 $result = mb_strstr($string, $find);
5698 $expected = false;
5699 $this->assertEqual($result, $expected);
5700 }
5701
5702 /**
5703 * testMultibyteStrstr method
5704 *
5705 * @access public
5706 * @return void
5707 */
5708 function testMultibyteStrstr() {
5709 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
5710 $find = 'F';
5711 $result = Multibyte::strstr($string, $find);
5712 $expected = 'FGHIJKLMNOPQRSTUVWXYZ0123456789';
5713 $this->assertEqual($result, $expected);
5714
5715 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
5716 $find = 'F';
5717 $result = Multibyte::strstr($string, $find, true);
5718 $expected = 'ABCDE';
5719 $this->assertEqual($result, $expected);
5720
5721 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
5722 $find = 'Å';
5723 $result = Multibyte::strstr($string, $find);
5724 $expected = 'ÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
5725 $this->assertEqual($result, $expected);
5726
5727 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
5728 $find = 'Å';
5729 $result = Multibyte::strstr($string, $find, true);
5730 $expected = 'ÀÁÂÃÄ';
5731 $this->assertEqual($result, $expected);
5732
5733 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
5734 $find = 'Ċ';
5735 $result = Multibyte::strstr($string, $find);
5736 $expected = 'ĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
5737 $this->assertEqual($result, $expected);
5738
5739 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
5740 $find = 'Ċ';
5741 $result = Multibyte::strstr($string, $find, true);
5742 $expected = 'ĀĂĄĆĈ';
5743 $this->assertEqual($result, $expected);
5744
5745 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
5746 $find = 'F';
5747 $result = Multibyte::strstr($string, $find);
5748 $expected = 'FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
5749 $this->assertEqual($result, $expected);
5750
5751 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
5752 $find = 'F';
5753 $result = Multibyte::strstr($string, $find, true);
5754 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDE';
5755 $this->assertEqual($result, $expected);
5756
5757 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
5758 $find = 'µ';
5759 $result = Multibyte::strstr($string, $find);
5760 $expected = 'µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
5761 $this->assertEqual($result, $expected);
5762
5763 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
5764 $find = 'µ';
5765 $result = Multibyte::strstr($string, $find, true);
5766 $expected = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´';
5767 $this->assertEqual($result, $expected);
5768
5769 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
5770 $find = 'Þ';
5771 $result = Multibyte::strstr($string, $find);
5772 $expected = 'Þßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
5773 $this->assertEqual($result, $expected);
5774
5775 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
5776 $find = 'Þ';
5777 $result = Multibyte::strstr($string, $find, true);
5778 $expected = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝ';
5779 $this->assertEqual($result, $expected);
5780
5781 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
5782 $find = 'Ņ';
5783 $result = Multibyte::strstr($string, $find);
5784 $expected = 'ŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
5785 $this->assertEqual($result, $expected);
5786
5787 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
5788 $find = 'Ņ';
5789 $result = Multibyte::strstr($string, $find, true);
5790 $expected = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃń';
5791 $this->assertEqual($result, $expected);
5792
5793 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
5794 $find = 'Ƹ';
5795 $result = Multibyte::strstr($string, $find);
5796 $expected = 'ƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
5797 $this->assertEqual($result, $expected);
5798
5799 $find = 'Ƹ';
5800 $result = Multibyte::strstr($string, $find, true);
5801 $expected = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷ';
5802 $this->assertEqual($result, $expected);
5803
5804 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
5805 $find = 'ʀ';
5806 $result = Multibyte::strstr($string, $find);
5807 $expected = 'ʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
5808 $this->assertEqual($result, $expected);
5809
5810 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
5811 $find = 'ʀ';
5812 $result = Multibyte::strstr($string, $find, true);
5813 $expected = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿ';
5814 $this->assertEqual($result, $expected);
5815
5816 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
5817 $find = 'Ї';
5818 $result = Multibyte::strstr($string, $find);
5819 $expected = 'ЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
5820 $this->assertEqual($result, $expected);
5821
5822 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
5823 $find = 'Ї';
5824 $result = Multibyte::strstr($string, $find, true);
5825 $expected = 'ЀЁЂЃЄЅІ';
5826 $this->assertEqual($result, $expected);
5827
5828 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
5829 $find = 'Р';
5830 $result = Multibyte::strstr($string, $find);
5831 $expected = 'РСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
5832 $this->assertEqual($result, $expected);
5833
5834 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
5835 $find = 'Р';
5836 $result = Multibyte::strstr($string, $find, true);
5837 $expected = 'МНОП';
5838 $this->assertEqual($result, $expected);
5839
5840 $string = 'فقكلمنهوىيًٌٍَُ';
5841 $find = 'ن';
5842 $result = Multibyte::strstr($string, $find);
5843 $expected = 'نهوىيًٌٍَُ';
5844 $this->assertEqual($result, $expected);
5845
5846 $string = 'فقكلمنهوىيًٌٍَُ';
5847 $find = 'ن';
5848 $result = Multibyte::strstr($string, $find, true);
5849 $expected = 'فقكلم';
5850 $this->assertEqual($result, $expected);
5851
5852 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
5853 $find = '✿';
5854 $result = Multibyte::strstr($string, $find);
5855 $expected = '✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
5856 $this->assertEqual($result, $expected);
5857
5858 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
5859 $find = '✿';
5860 $result = Multibyte::strstr($string, $find, true);
5861 $expected = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾';
5862 $this->assertEqual($result, $expected);
5863
5864 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
5865 $find = '⺐';
5866 $result = Multibyte::strstr($string, $find);
5867 $expected = '⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
5868 $this->assertEqual($result, $expected);
5869
5870 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
5871 $find = '⺐';
5872 $result = Multibyte::strstr($string, $find, true);
5873 $expected = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏';
5874 $this->assertEqual($result, $expected);
5875
5876 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
5877 $find = '⽤';
5878 $result = Multibyte::strstr($string, $find);
5879 $expected = '⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
5880 $this->assertEqual($result, $expected);
5881
5882 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
5883 $find = '⽤';
5884 $result = Multibyte::strstr($string, $find, true);
5885 $expected = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣';
5886 $this->assertEqual($result, $expected);
5887
5888 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
5889 $find = '눻';
5890 $result = Multibyte::strstr($string, $find);
5891 $expected = '눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
5892 $this->assertEqual($result, $expected);
5893
5894 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
5895 $find = '눻';
5896 $result = Multibyte::strstr($string, $find, true);
5897 $expected = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺';
5898 $this->assertEqual($result, $expected);
5899
5900 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
5901 $find = 'ﺞ';
5902 $result = Multibyte::strstr($string, $find);
5903 $expected = 'ﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
5904 $this->assertEqual($result, $expected);
5905
5906 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
5907 $find = 'ﺞ';
5908 $result = Multibyte::strstr($string, $find, true);
5909 $expected = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝ';
5910 $this->assertEqual($result, $expected);
5911
5912 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
5913 $find = 'ﻞ';
5914 $result = Multibyte::strstr($string, $find);
5915 $expected = 'ﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
5916 $this->assertEqual($result, $expected);
5917
5918 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
5919 $find = 'ﻞ';
5920 $result = Multibyte::strstr($string, $find, true);
5921 $expected = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝ';
5922 $this->assertEqual($result, $expected);
5923
5924 $string = 'abcdefghijklmnopqrstuvwxyz';
5925 $find = 'k';
5926 $result = Multibyte::strstr($string, $find);
5927 $expected = 'klmnopqrstuvwxyz';
5928 $this->assertEqual($result, $expected);
5929
5930 $string = 'abcdefghijklmnopqrstuvwxyz';
5931 $find = 'k';
5932 $result = Multibyte::strstr($string, $find, true);
5933 $expected = 'abcdefghij';
5934 $this->assertEqual($result, $expected);
5935
5936 $string = 'abcdefghijklmnopqrstuvwxyz';
5937 $find = 'K';
5938 $result = Multibyte::strstr($string, $find);
5939 $expected = false;
5940 $this->assertEqual($result, $expected);
5941
5942 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
5943 $find = 'ア';
5944 $result = Multibyte::strstr($string, $find);
5945 $expected = 'アイウエオカキク';
5946 $this->assertEqual($result, $expected);
5947
5948 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
5949 $find = 'ア';
5950 $result = Multibyte::strstr($string, $find, true);
5951 $expected = '。「」、・ヲァィゥェォャュョッー';
5952 $this->assertEqual($result, $expected);
5953
5954 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
5955 $find = 'ハ';
5956 $result = Multibyte::strstr($string, $find);
5957 $expected = 'ハヒフヘホマミムメモヤユヨラリルレロワン゙';
5958 $this->assertEqual($result, $expected);
5959
5960 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
5961 $find = 'ハ';
5962 $result = Multibyte::strstr($string, $find, true);
5963 $expected = 'ケコサシスセソタチツテトナニヌネノ';
5964 $this->assertEqual($result, $expected);
5965
5966 $string = 'Ĥēĺļŏ, Ŵőřļď!';
5967 $find = 'ő';
5968 $result = Multibyte::strstr($string, $find);
5969 $expected = 'őřļď!';
5970 $this->assertEqual($result, $expected);
5971
5972 $string = 'Ĥēĺļŏ, Ŵőřļď!';
5973 $find = 'ő';
5974 $result = Multibyte::strstr($string, $find, true);
5975 $expected = 'Ĥēĺļŏ, Ŵ';
5976 $this->assertEqual($result, $expected);
5977
5978 $string = 'Ĥēĺļŏ, Ŵőřļď!';
5979 $find = 'ĺļ';
5980 $result = Multibyte::strstr($string, $find, true);
5981 $expected = 'Ĥē';
5982 $this->assertEqual($result, $expected);
5983
5984 $string = 'Hello, World!';
5985 $find = 'o';
5986 $result = Multibyte::strstr($string, $find);
5987 $expected = 'o, World!';
5988 $this->assertEqual($result, $expected);
5989
5990 $string = 'Hello, World!';
5991 $find = 'o';
5992 $result = Multibyte::strstr($string, $find, true);
5993 $expected = 'Hell';
5994 $this->assertEqual($result, $expected);
5995
5996 $string = 'Hello, World!';
5997 $find = 'Wo';
5998 $result = Multibyte::strstr($string, $find);
5999 $expected = 'World!';
6000 $this->assertEqual($result, $expected);
6001
6002 $string = 'Hello, World!';
6003 $find = 'Wo';
6004 $result = Multibyte::strstr($string, $find, true);
6005 $expected = 'Hello, ';
6006 $this->assertEqual($result, $expected);
6007
6008 $string = 'Hello, World!';
6009 $find = 'll';
6010 $result = Multibyte::strstr($string, $find);
6011 $expected = 'llo, World!';
6012 $this->assertEqual($result, $expected);
6013
6014 $string = 'Hello, World!';
6015 $find = 'll';
6016 $result = Multibyte::strstr($string, $find, true);
6017 $expected = 'He';
6018 $this->assertEqual($result, $expected);
6019
6020 $string = 'Hello, World!';
6021 $find = 'rld';
6022 $result = Multibyte::strstr($string, $find);
6023 $expected = 'rld!';
6024 $this->assertEqual($result, $expected);
6025
6026 $string = 'Hello, World!';
6027 $find = 'rld';
6028 $result = Multibyte::strstr($string, $find, true);
6029 $expected = 'Hello, Wo';
6030 $this->assertEqual($result, $expected);
6031
6032 $string = 'čini';
6033 $find = 'n';
6034 $result = Multibyte::strstr($string, $find);
6035 $expected = 'ni';
6036 $this->assertEqual($result, $expected);
6037
6038 $string = 'čini';
6039 $find = 'n';
6040 $result = Multibyte::strstr($string, $find, true);
6041 $expected = 'či';
6042 $this->assertEqual($result, $expected);
6043
6044 $string = 'moći';
6045 $find = 'ć';
6046 $result = Multibyte::strstr($string, $find);
6047 $expected = 'ći';
6048 $this->assertEqual($result, $expected);
6049
6050 $string = 'moći';
6051 $find = 'ć';
6052 $result = Multibyte::strstr($string, $find, true);
6053 $expected = 'mo';
6054 $this->assertEqual($result, $expected);
6055
6056 $string = 'državni';
6057 $find = 'ž';
6058 $result = Multibyte::strstr($string, $find);
6059 $expected = 'žavni';
6060 $this->assertEqual($result, $expected);
6061
6062 $string = 'državni';
6063 $find = 'ž';
6064 $result = Multibyte::strstr($string, $find, true);
6065 $expected = 'dr';
6066 $this->assertEqual($result, $expected);
6067
6068 $string = '把百度设为首页';
6069 $find = '设';
6070 $result = Multibyte::strstr($string, $find);
6071 $expected = '设为首页';
6072 $this->assertEqual($result, $expected);
6073
6074 $string = '把百度设为首页';
6075 $find = '设';
6076 $result = Multibyte::strstr($string, $find, true);
6077 $expected = '把百度';
6078 $this->assertEqual($result, $expected);
6079
6080 $string = '一二三周永龍';
6081 $find = '周';
6082 $result = Multibyte::strstr($string, $find);
6083 $expected = '周永龍';
6084 $this->assertEqual($result, $expected);
6085
6086 $string = '一二三周永龍';
6087 $find = '周';
6088 $result = Multibyte::strstr($string, $find, true);
6089 $expected = '一二三';
6090 $this->assertEqual($result, $expected);
6091
6092 $string = '一二三周永龍';
6093 $find = '二周';
6094 $result = Multibyte::strstr($string, $find);
6095 $expected = false;
6096 $this->assertEqual($result, $expected);
6097 }
6098
6099 /**
6100 * testUsingMbStrtolower method
6101 *
6102 * @access public
6103 * @return void
6104 */
6105 function testUsingMbStrtolower() {
6106 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~';
6107 $result = mb_strtolower($string);
6108 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
6109 $this->assertEqual($result, $expected);
6110
6111 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@';
6112 $result = mb_strtolower($string);
6113 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@';
6114 $this->assertEqual($result, $expected);
6115
6116 $string = 'À';
6117 $result = mb_strtolower($string);
6118 $expected = 'à';
6119 $this->assertEqual($result, $expected);
6120
6121 $string = 'Á';
6122 $result = mb_strtolower($string);
6123 $expected = 'á';
6124 $this->assertEqual($result, $expected);
6125
6126 $string = 'Â';
6127 $result = mb_strtolower($string);
6128 $expected = 'â';
6129 $this->assertEqual($result, $expected);
6130
6131 $string = 'Ã';
6132 $result = mb_strtolower($string);
6133 $expected = 'ã';
6134 $this->assertEqual($result, $expected);
6135
6136 $string = 'Ä';
6137 $result = mb_strtolower($string);
6138 $expected = 'ä';
6139 $this->assertEqual($result, $expected);
6140
6141 $string = 'Å';
6142 $result = mb_strtolower($string);
6143 $expected = 'å';
6144 $this->assertEqual($result, $expected);
6145
6146 $string = 'Æ';
6147 $result = mb_strtolower($string);
6148 $expected = 'æ';
6149 $this->assertEqual($result, $expected);
6150
6151 $string = 'Ç';
6152 $result = mb_strtolower($string);
6153 $expected = 'ç';
6154 $this->assertEqual($result, $expected);
6155
6156 $string = 'È';
6157 $result = mb_strtolower($string);
6158 $expected = 'è';
6159 $this->assertEqual($result, $expected);
6160
6161 $string = 'É';
6162 $result = mb_strtolower($string);
6163 $expected = 'é';
6164 $this->assertEqual($result, $expected);
6165
6166 $string = 'Ê';
6167 $result = mb_strtolower($string);
6168 $expected = 'ê';
6169 $this->assertEqual($result, $expected);
6170
6171 $string = 'Ë';
6172 $result = mb_strtolower($string);
6173 $expected = 'ë';
6174 $this->assertEqual($result, $expected);
6175
6176 $string = 'Ì';
6177 $result = mb_strtolower($string);
6178 $expected = 'ì';
6179 $this->assertEqual($result, $expected);
6180
6181 $string = 'Í';
6182 $result = mb_strtolower($string);
6183 $expected = 'í';
6184 $this->assertEqual($result, $expected);
6185
6186 $string = 'Î';
6187 $result = mb_strtolower($string);
6188 $expected = 'î';
6189 $this->assertEqual($result, $expected);
6190
6191 $string = 'Ï';
6192 $result = mb_strtolower($string);
6193 $expected = 'ï';
6194 $this->assertEqual($result, $expected);
6195
6196 $string = 'Ð';
6197 $result = mb_strtolower($string);
6198 $expected = 'ð';
6199 $this->assertEqual($result, $expected);
6200
6201 $string = 'Ñ';
6202 $result = mb_strtolower($string);
6203 $expected = 'ñ';
6204 $this->assertEqual($result, $expected);
6205
6206 $string = 'Ò';
6207 $result = mb_strtolower($string);
6208 $expected = 'ò';
6209 $this->assertEqual($result, $expected);
6210
6211 $string = 'Ó';
6212 $result = mb_strtolower($string);
6213 $expected = 'ó';
6214 $this->assertEqual($result, $expected);
6215
6216 $string = 'Ô';
6217 $result = mb_strtolower($string);
6218 $expected = 'ô';
6219 $this->assertEqual($result, $expected);
6220
6221 $string = 'Õ';
6222 $result = mb_strtolower($string);
6223 $expected = 'õ';
6224 $this->assertEqual($result, $expected);
6225
6226 $string = 'Ö';
6227 $result = mb_strtolower($string);
6228 $expected = 'ö';
6229 $this->assertEqual($result, $expected);
6230
6231 $string = 'Ø';
6232 $result = mb_strtolower($string);
6233 $expected = 'ø';
6234 $this->assertEqual($result, $expected);
6235
6236 $string = 'Ù';
6237 $result = mb_strtolower($string);
6238 $expected = 'ù';
6239 $this->assertEqual($result, $expected);
6240
6241 $string = 'Ú';
6242 $result = mb_strtolower($string);
6243 $expected = 'ú';
6244 $this->assertEqual($result, $expected);
6245
6246 $string = 'Û';
6247 $result = mb_strtolower($string);
6248 $expected = 'û';
6249 $this->assertEqual($result, $expected);
6250
6251 $string = 'Ü';
6252 $result = mb_strtolower($string);
6253 $expected = 'ü';
6254 $this->assertEqual($result, $expected);
6255
6256 $string = 'Ý';
6257 $result = mb_strtolower($string);
6258 $expected = 'ý';
6259 $this->assertEqual($result, $expected);
6260
6261 $string = 'Þ';
6262 $result = mb_strtolower($string);
6263 $expected = 'þ';
6264 $this->assertEqual($result, $expected);
6265
6266 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
6267 $result = mb_strtolower($string);
6268 $expected = 'àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ';
6269 $this->assertEqual($result, $expected);
6270
6271 $string = 'Ā';
6272 $result = mb_strtolower($string);
6273 $expected = 'ā';
6274 $this->assertEqual($result, $expected);
6275
6276 $string = 'Ă';
6277 $result = mb_strtolower($string);
6278 $expected = 'ă';
6279 $this->assertEqual($result, $expected);
6280
6281 $string = 'Ą';
6282 $result = mb_strtolower($string);
6283 $expected = 'ą';
6284 $this->assertEqual($result, $expected);
6285
6286 $string = 'Ć';
6287 $result = mb_strtolower($string);
6288 $expected = 'ć';
6289 $this->assertEqual($result, $expected);
6290
6291 $string = 'Ĉ';
6292 $result = mb_strtolower($string);
6293 $expected = 'ĉ';
6294 $this->assertEqual($result, $expected);
6295
6296 $string = 'Ċ';
6297 $result = mb_strtolower($string);
6298 $expected = 'ċ';
6299 $this->assertEqual($result, $expected);
6300
6301 $string = 'Č';
6302 $result = mb_strtolower($string);
6303 $expected = 'č';
6304 $this->assertEqual($result, $expected);
6305
6306 $string = 'Ď';
6307 $result = mb_strtolower($string);
6308 $expected = 'ď';
6309 $this->assertEqual($result, $expected);
6310
6311 $string = 'Đ';
6312 $result = mb_strtolower($string);
6313 $expected = 'đ';
6314 $this->assertEqual($result, $expected);
6315
6316 $string = 'Ē';
6317 $result = mb_strtolower($string);
6318 $expected = 'ē';
6319 $this->assertEqual($result, $expected);
6320
6321 $string = 'Ĕ';
6322 $result = mb_strtolower($string);
6323 $expected = 'ĕ';
6324 $this->assertEqual($result, $expected);
6325
6326 $string = 'Ė';
6327 $result = mb_strtolower($string);
6328 $expected = 'ė';
6329 $this->assertEqual($result, $expected);
6330
6331 $string = 'Ę';
6332 $result = mb_strtolower($string);
6333 $expected = 'ę';
6334 $this->assertEqual($result, $expected);
6335
6336 $string = 'Ě';
6337 $result = mb_strtolower($string);
6338 $expected = 'ě';
6339 $this->assertEqual($result, $expected);
6340
6341 $string = 'Ĝ';
6342 $result = mb_strtolower($string);
6343 $expected = 'ĝ';
6344 $this->assertEqual($result, $expected);
6345
6346 $string = 'Ğ';
6347 $result = mb_strtolower($string);
6348 $expected = 'ğ';
6349 $this->assertEqual($result, $expected);
6350
6351 $string = 'Ġ';
6352 $result = mb_strtolower($string);
6353 $expected = 'ġ';
6354 $this->assertEqual($result, $expected);
6355
6356 $string = 'Ģ';
6357 $result = mb_strtolower($string);
6358 $expected = 'ģ';
6359 $this->assertEqual($result, $expected);
6360
6361 $string = 'Ĥ';
6362 $result = mb_strtolower($string);
6363 $expected = 'ĥ';
6364 $this->assertEqual($result, $expected);
6365
6366 $string = 'Ħ';
6367 $result = mb_strtolower($string);
6368 $expected = 'ħ';
6369 $this->assertEqual($result, $expected);
6370
6371 $string = 'Ĩ';
6372 $result = mb_strtolower($string);
6373 $expected = 'ĩ';
6374 $this->assertEqual($result, $expected);
6375
6376 $string = 'Ī';
6377 $result = mb_strtolower($string);
6378 $expected = 'ī';
6379 $this->assertEqual($result, $expected);
6380
6381 $string = 'Ĭ';
6382 $result = mb_strtolower($string);
6383 $expected = 'ĭ';
6384 $this->assertEqual($result, $expected);
6385
6386 $string = 'Į';
6387 $result = mb_strtolower($string);
6388 $expected = 'į';
6389 $this->assertEqual($result, $expected);
6390
6391 $string = 'IJ';
6392 $result = mb_strtolower($string);
6393 $expected = 'ij';
6394 $this->assertEqual($result, $expected);
6395
6396 $string = 'Ĵ';
6397 $result = mb_strtolower($string);
6398 $expected = 'ĵ';
6399 $this->assertEqual($result, $expected);
6400
6401 $string = 'Ķ';
6402 $result = mb_strtolower($string);
6403 $expected = 'ķ';
6404 $this->assertEqual($result, $expected);
6405
6406 $string = 'Ĺ';
6407 $result = mb_strtolower($string);
6408 $expected = 'ĺ';
6409 $this->assertEqual($result, $expected);
6410
6411 $string = 'Ļ';
6412 $result = mb_strtolower($string);
6413 $expected = 'ļ';
6414 $this->assertEqual($result, $expected);
6415
6416 $string = 'Ľ';
6417 $result = mb_strtolower($string);
6418 $expected = 'ľ';
6419 $this->assertEqual($result, $expected);
6420
6421 $string = 'Ŀ';
6422 $result = mb_strtolower($string);
6423 $expected = 'ŀ';
6424 $this->assertEqual($result, $expected);
6425
6426 $string = 'Ł';
6427 $result = mb_strtolower($string);
6428 $expected = 'ł';
6429 $this->assertEqual($result, $expected);
6430
6431 $string = 'Ń';
6432 $result = mb_strtolower($string);
6433 $expected = 'ń';
6434 $this->assertEqual($result, $expected);
6435
6436 $string = 'Ņ';
6437 $result = mb_strtolower($string);
6438 $expected = 'ņ';
6439 $this->assertEqual($result, $expected);
6440
6441 $string = 'Ň';
6442 $result = mb_strtolower($string);
6443 $expected = 'ň';
6444 $this->assertEqual($result, $expected);
6445
6446 $string = 'Ŋ';
6447 $result = mb_strtolower($string);
6448 $expected = 'ŋ';
6449 $this->assertEqual($result, $expected);
6450
6451 $string = 'Ō';
6452 $result = mb_strtolower($string);
6453 $expected = 'ō';
6454 $this->assertEqual($result, $expected);
6455
6456 $string = 'Ŏ';
6457 $result = mb_strtolower($string);
6458 $expected = 'ŏ';
6459 $this->assertEqual($result, $expected);
6460
6461 $string = 'Ő';
6462 $result = mb_strtolower($string);
6463 $expected = 'ő';
6464 $this->assertEqual($result, $expected);
6465
6466 $string = 'Œ';
6467 $result = mb_strtolower($string);
6468 $expected = 'œ';
6469 $this->assertEqual($result, $expected);
6470
6471 $string = 'Ŕ';
6472 $result = mb_strtolower($string);
6473 $expected = 'ŕ';
6474 $this->assertEqual($result, $expected);
6475
6476 $string = 'Ŗ';
6477 $result = mb_strtolower($string);
6478 $expected = 'ŗ';
6479 $this->assertEqual($result, $expected);
6480
6481 $string = 'Ř';
6482 $result = mb_strtolower($string);
6483 $expected = 'ř';
6484 $this->assertEqual($result, $expected);
6485
6486 $string = 'Ś';
6487 $result = mb_strtolower($string);
6488 $expected = 'ś';
6489 $this->assertEqual($result, $expected);
6490
6491 $string = 'Ŝ';
6492 $result = mb_strtolower($string);
6493 $expected = 'ŝ';
6494 $this->assertEqual($result, $expected);
6495
6496 $string = 'Ş';
6497 $result = mb_strtolower($string);
6498 $expected = 'ş';
6499 $this->assertEqual($result, $expected);
6500
6501 $string = 'Š';
6502 $result = mb_strtolower($string);
6503 $expected = 'š';
6504 $this->assertEqual($result, $expected);
6505
6506 $string = 'Ţ';
6507 $result = mb_strtolower($string);
6508 $expected = 'ţ';
6509 $this->assertEqual($result, $expected);
6510
6511 $string = 'Ť';
6512 $result = mb_strtolower($string);
6513 $expected = 'ť';
6514 $this->assertEqual($result, $expected);
6515
6516 $string = 'Ŧ';
6517 $result = mb_strtolower($string);
6518 $expected = 'ŧ';
6519 $this->assertEqual($result, $expected);
6520
6521 $string = 'Ũ';
6522 $result = mb_strtolower($string);
6523 $expected = 'ũ';
6524 $this->assertEqual($result, $expected);
6525
6526 $string = 'Ū';
6527 $result = mb_strtolower($string);
6528 $expected = 'ū';
6529 $this->assertEqual($result, $expected);
6530
6531 $string = 'Ŭ';
6532 $result = mb_strtolower($string);
6533 $expected = 'ŭ';
6534 $this->assertEqual($result, $expected);
6535
6536 $string = 'Ů';
6537 $result = mb_strtolower($string);
6538 $expected = 'ů';
6539 $this->assertEqual($result, $expected);
6540
6541 $string = 'Ű';
6542 $result = mb_strtolower($string);
6543 $expected = 'ű';
6544 $this->assertEqual($result, $expected);
6545
6546 $string = 'Ų';
6547 $result = mb_strtolower($string);
6548 $expected = 'ų';
6549 $this->assertEqual($result, $expected);
6550
6551 $string = 'Ŵ';
6552 $result = mb_strtolower($string);
6553 $expected = 'ŵ';
6554 $this->assertEqual($result, $expected);
6555
6556 $string = 'Ŷ';
6557 $result = mb_strtolower($string);
6558 $expected = 'ŷ';
6559 $this->assertEqual($result, $expected);
6560
6561 $string = 'Ź';
6562 $result = mb_strtolower($string);
6563 $expected = 'ź';
6564 $this->assertEqual($result, $expected);
6565
6566 $string = 'Ż';
6567 $result = mb_strtolower($string);
6568 $expected = 'ż';
6569 $this->assertEqual($result, $expected);
6570
6571 $string = 'Ž';
6572 $result = mb_strtolower($string);
6573 $expected = 'ž';
6574 $this->assertEqual($result, $expected);
6575
6576 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
6577 $result = mb_strtolower($string);
6578 $expected = 'āăąćĉċčďđēĕėęěĝğġģĥħĩīĭįijĵķĺļľŀłńņňŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž';
6579 $this->assertEqual($result, $expected);
6580
6581 $string = 'ĤĒĹĻŎ, ŴŐŘĻĎ!';
6582 $result = mb_strtolower($string);
6583 $expected = 'ĥēĺļŏ, ŵőřļď!';
6584 $this->assertEqual($result, $expected);
6585
6586 $string = 'ĥēĺļŏ, ŵőřļď!';
6587 $result = mb_strtolower($string);
6588 $expected = 'ĥēĺļŏ, ŵőřļď!';
6589 $this->assertEqual($result, $expected);
6590
6591 $string = 'ἈΙ';
6592 $result = mb_strtolower($string);
6593 $expected = 'ἀι';
6594 $this->assertEqual($result, $expected);
6595
6596 $string = 'ԀԂԄԆԈԊԌԎԐԒ';
6597 $result = mb_strtolower($string);
6598 $expected = 'ԁԃԅԇԉԋԍԏԐԒ';
6599 $this->assertEqual($result, $expected);
6600
6601 $string = 'ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖև';
6602 $result = mb_strtolower($string);
6603 $expected = 'աբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆև';
6604 $this->assertEqual($result, $expected);
6605
6606 $string = 'ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ';
6607 $result = mb_strtolower($string);
6608 $expected = 'ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ';
6609 $this->assertEqual($result, $expected);
6610
6611 $string = 'ḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẖẗẘẙẚẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸ';
6612 $result = mb_strtolower($string);
6613 $expected = 'ḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕẖẗẘẙẚạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹ';
6614 $this->assertEqual($result, $expected);
6615
6616 $string = 'ΩKÅ';
6617 $result = mb_strtolower($string);
6618 $expected = 'ωkå';
6619 $this->assertEqual($result, $expected);
6620
6621 $string = 'ΩKÅ';
6622 $result = mb_strtolower($string);
6623 $expected = 'ωkå';
6624 $this->assertEqual($result, $expected);
6625
6626 /*
6627 mb_strtolower does not work for these strings.
6628
6629 $string = 'ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯↃ';
6630 $result = mb_strtolower($string);
6631 $expected = 'ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿↄ';
6632 $this->assertEqual($result, $expected);
6633
6634 $string = 'ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ';
6635 $result = mb_strtolower($string);
6636 $expected = 'ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ';
6637 $this->assertEqual($result, $expected);
6638
6639 $string = 'ⰀⰁⰂⰃⰄⰅⰆⰇⰈⰉⰊⰋⰌⰍⰎⰏⰐⰑⰒⰓⰔⰕⰖⰗⰘⰙⰚⰛⰜⰝⰞⰟⰠⰡⰢⰣⰤⰥⰦⰧⰨⰩⰪⰫⰬⰭⰮ';
6640 $result = mb_strtolower($string);
6641 $expected = 'ⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊⱋⱌⱍⱎⱏⱐⱑⱒⱓⱔⱕⱖⱗⱘⱙⱚⱛⱜⱝⱞ';
6642 $this->assertEqual($result, $expected);
6643
6644 $string = 'ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢ';
6645 $result = mb_strtolower($string);
6646 $expected = 'ⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣ';
6647 $this->assertEqual($result, $expected);
6648 */
6649 $string = 'fffiflffifflſtstﬓﬔﬕﬖﬗ';
6650 $result = mb_strtolower($string);
6651 $expected = 'fffiflffifflſtstﬓﬔﬕﬖﬗ';
6652 $this->assertEqual($result, $expected);
6653 }
6654
6655 /**
6656 * testMultibyteStrtolower method
6657 *
6658 * @access public
6659 * @return void
6660 */
6661 function testMultibyteStrtolower() {
6662 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~';
6663 $result = Multibyte::strtolower($string);
6664 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
6665 $this->assertEqual($result, $expected);
6666
6667 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@';
6668 $result = Multibyte::strtolower($string);
6669 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@';
6670 $this->assertEqual($result, $expected);
6671
6672 $string = 'À';
6673 $result = Multibyte::strtolower($string);
6674 $expected = 'à';
6675 $this->assertEqual($result, $expected);
6676
6677 $string = 'Á';
6678 $result = Multibyte::strtolower($string);
6679 $expected = 'á';
6680 $this->assertEqual($result, $expected);
6681
6682 $string = 'Â';
6683 $result = Multibyte::strtolower($string);
6684 $expected = 'â';
6685 $this->assertEqual($result, $expected);
6686
6687 $string = 'Ã';
6688 $result = Multibyte::strtolower($string);
6689 $expected = 'ã';
6690 $this->assertEqual($result, $expected);
6691
6692 $string = 'Ä';
6693 $result = Multibyte::strtolower($string);
6694 $expected = 'ä';
6695 $this->assertEqual($result, $expected);
6696
6697 $string = 'Å';
6698 $result = Multibyte::strtolower($string);
6699 $expected = 'å';
6700 $this->assertEqual($result, $expected);
6701
6702 $string = 'Æ';
6703 $result = Multibyte::strtolower($string);
6704 $expected = 'æ';
6705 $this->assertEqual($result, $expected);
6706
6707 $string = 'Ç';
6708 $result = Multibyte::strtolower($string);
6709 $expected = 'ç';
6710 $this->assertEqual($result, $expected);
6711
6712 $string = 'È';
6713 $result = Multibyte::strtolower($string);
6714 $expected = 'è';
6715 $this->assertEqual($result, $expected);
6716
6717 $string = 'É';
6718 $result = Multibyte::strtolower($string);
6719 $expected = 'é';
6720 $this->assertEqual($result, $expected);
6721
6722 $string = 'Ê';
6723 $result = Multibyte::strtolower($string);
6724 $expected = 'ê';
6725 $this->assertEqual($result, $expected);
6726
6727 $string = 'Ë';
6728 $result = Multibyte::strtolower($string);
6729 $expected = 'ë';
6730 $this->assertEqual($result, $expected);
6731
6732 $string = 'Ì';
6733 $result = Multibyte::strtolower($string);
6734 $expected = 'ì';
6735 $this->assertEqual($result, $expected);
6736
6737 $string = 'Í';
6738 $result = Multibyte::strtolower($string);
6739 $expected = 'í';
6740 $this->assertEqual($result, $expected);
6741
6742 $string = 'Î';
6743 $result = Multibyte::strtolower($string);
6744 $expected = 'î';
6745 $this->assertEqual($result, $expected);
6746
6747 $string = 'Ï';
6748 $result = Multibyte::strtolower($string);
6749 $expected = 'ï';
6750 $this->assertEqual($result, $expected);
6751
6752 $string = 'Ð';
6753 $result = Multibyte::strtolower($string);
6754 $expected = 'ð';
6755 $this->assertEqual($result, $expected);
6756
6757 $string = 'Ñ';
6758 $result = Multibyte::strtolower($string);
6759 $expected = 'ñ';
6760 $this->assertEqual($result, $expected);
6761
6762 $string = 'Ò';
6763 $result = Multibyte::strtolower($string);
6764 $expected = 'ò';
6765 $this->assertEqual($result, $expected);
6766
6767 $string = 'Ó';
6768 $result = Multibyte::strtolower($string);
6769 $expected = 'ó';
6770 $this->assertEqual($result, $expected);
6771
6772 $string = 'Ô';
6773 $result = Multibyte::strtolower($string);
6774 $expected = 'ô';
6775 $this->assertEqual($result, $expected);
6776
6777 $string = 'Õ';
6778 $result = Multibyte::strtolower($string);
6779 $expected = 'õ';
6780 $this->assertEqual($result, $expected);
6781
6782 $string = 'Ö';
6783 $result = Multibyte::strtolower($string);
6784 $expected = 'ö';
6785 $this->assertEqual($result, $expected);
6786
6787 $string = 'Ø';
6788 $result = Multibyte::strtolower($string);
6789 $expected = 'ø';
6790 $this->assertEqual($result, $expected);
6791
6792 $string = 'Ù';
6793 $result = Multibyte::strtolower($string);
6794 $expected = 'ù';
6795 $this->assertEqual($result, $expected);
6796
6797 $string = 'Ú';
6798 $result = Multibyte::strtolower($string);
6799 $expected = 'ú';
6800 $this->assertEqual($result, $expected);
6801
6802 $string = 'Û';
6803 $result = Multibyte::strtolower($string);
6804 $expected = 'û';
6805 $this->assertEqual($result, $expected);
6806
6807 $string = 'Ü';
6808 $result = Multibyte::strtolower($string);
6809 $expected = 'ü';
6810 $this->assertEqual($result, $expected);
6811
6812 $string = 'Ý';
6813 $result = Multibyte::strtolower($string);
6814 $expected = 'ý';
6815 $this->assertEqual($result, $expected);
6816
6817 $string = 'Þ';
6818 $result = Multibyte::strtolower($string);
6819 $expected = 'þ';
6820 $this->assertEqual($result, $expected);
6821
6822 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
6823 $result = Multibyte::strtolower($string);
6824 $expected = 'àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ';
6825 $this->assertEqual($result, $expected);
6826
6827 $string = 'Ā';
6828 $result = Multibyte::strtolower($string);
6829 $expected = 'ā';
6830 $this->assertEqual($result, $expected);
6831
6832 $string = 'Ă';
6833 $result = Multibyte::strtolower($string);
6834 $expected = 'ă';
6835 $this->assertEqual($result, $expected);
6836
6837 $string = 'Ą';
6838 $result = Multibyte::strtolower($string);
6839 $expected = 'ą';
6840 $this->assertEqual($result, $expected);
6841
6842 $string = 'Ć';
6843 $result = Multibyte::strtolower($string);
6844 $expected = 'ć';
6845 $this->assertEqual($result, $expected);
6846
6847 $string = 'Ĉ';
6848 $result = Multibyte::strtolower($string);
6849 $expected = 'ĉ';
6850 $this->assertEqual($result, $expected);
6851
6852 $string = 'Ċ';
6853 $result = Multibyte::strtolower($string);
6854 $expected = 'ċ';
6855 $this->assertEqual($result, $expected);
6856
6857 $string = 'Č';
6858 $result = Multibyte::strtolower($string);
6859 $expected = 'č';
6860 $this->assertEqual($result, $expected);
6861
6862 $string = 'Ď';
6863 $result = Multibyte::strtolower($string);
6864 $expected = 'ď';
6865 $this->assertEqual($result, $expected);
6866
6867 $string = 'Đ';
6868 $result = Multibyte::strtolower($string);
6869 $expected = 'đ';
6870 $this->assertEqual($result, $expected);
6871
6872 $string = 'Ē';
6873 $result = Multibyte::strtolower($string);
6874 $expected = 'ē';
6875 $this->assertEqual($result, $expected);
6876
6877 $string = 'Ĕ';
6878 $result = Multibyte::strtolower($string);
6879 $expected = 'ĕ';
6880 $this->assertEqual($result, $expected);
6881
6882 $string = 'Ė';
6883 $result = Multibyte::strtolower($string);
6884 $expected = 'ė';
6885 $this->assertEqual($result, $expected);
6886
6887 $string = 'Ę';
6888 $result = Multibyte::strtolower($string);
6889 $expected = 'ę';
6890 $this->assertEqual($result, $expected);
6891
6892 $string = 'Ě';
6893 $result = Multibyte::strtolower($string);
6894 $expected = 'ě';
6895 $this->assertEqual($result, $expected);
6896
6897 $string = 'Ĝ';
6898 $result = Multibyte::strtolower($string);
6899 $expected = 'ĝ';
6900 $this->assertEqual($result, $expected);
6901
6902 $string = 'Ğ';
6903 $result = Multibyte::strtolower($string);
6904 $expected = 'ğ';
6905 $this->assertEqual($result, $expected);
6906
6907 $string = 'Ġ';
6908 $result = Multibyte::strtolower($string);
6909 $expected = 'ġ';
6910 $this->assertEqual($result, $expected);
6911
6912 $string = 'Ģ';
6913 $result = Multibyte::strtolower($string);
6914 $expected = 'ģ';
6915 $this->assertEqual($result, $expected);
6916
6917 $string = 'Ĥ';
6918 $result = Multibyte::strtolower($string);
6919 $expected = 'ĥ';
6920 $this->assertEqual($result, $expected);
6921
6922 $string = 'Ħ';
6923 $result = Multibyte::strtolower($string);
6924 $expected = 'ħ';
6925 $this->assertEqual($result, $expected);
6926
6927 $string = 'Ĩ';
6928 $result = Multibyte::strtolower($string);
6929 $expected = 'ĩ';
6930 $this->assertEqual($result, $expected);
6931
6932 $string = 'Ī';
6933 $result = Multibyte::strtolower($string);
6934 $expected = 'ī';
6935 $this->assertEqual($result, $expected);
6936
6937 $string = 'Ĭ';
6938 $result = Multibyte::strtolower($string);
6939 $expected = 'ĭ';
6940 $this->assertEqual($result, $expected);
6941
6942 $string = 'Į';
6943 $result = Multibyte::strtolower($string);
6944 $expected = 'į';
6945 $this->assertEqual($result, $expected);
6946
6947 $string = 'IJ';
6948 $result = Multibyte::strtolower($string);
6949 $expected = 'ij';
6950 $this->assertEqual($result, $expected);
6951
6952 $string = 'Ĵ';
6953 $result = Multibyte::strtolower($string);
6954 $expected = 'ĵ';
6955 $this->assertEqual($result, $expected);
6956
6957 $string = 'Ķ';
6958 $result = Multibyte::strtolower($string);
6959 $expected = 'ķ';
6960 $this->assertEqual($result, $expected);
6961
6962 $string = 'Ĺ';
6963 $result = Multibyte::strtolower($string);
6964 $expected = 'ĺ';
6965 $this->assertEqual($result, $expected);
6966
6967 $string = 'Ļ';
6968 $result = Multibyte::strtolower($string);
6969 $expected = 'ļ';
6970 $this->assertEqual($result, $expected);
6971
6972 $string = 'Ľ';
6973 $result = Multibyte::strtolower($string);
6974 $expected = 'ľ';
6975 $this->assertEqual($result, $expected);
6976
6977 $string = 'Ŀ';
6978 $result = Multibyte::strtolower($string);
6979 $expected = 'ŀ';
6980 $this->assertEqual($result, $expected);
6981
6982 $string = 'Ł';
6983 $result = Multibyte::strtolower($string);
6984 $expected = 'ł';
6985 $this->assertEqual($result, $expected);
6986
6987 $string = 'Ń';
6988 $result = Multibyte::strtolower($string);
6989 $expected = 'ń';
6990 $this->assertEqual($result, $expected);
6991
6992 $string = 'Ņ';
6993 $result = Multibyte::strtolower($string);
6994 $expected = 'ņ';
6995 $this->assertEqual($result, $expected);
6996
6997 $string = 'Ň';
6998 $result = Multibyte::strtolower($string);
6999 $expected = 'ň';
7000 $this->assertEqual($result, $expected);
7001
7002 $string = 'Ŋ';
7003 $result = Multibyte::strtolower($string);
7004 $expected = 'ŋ';
7005 $this->assertEqual($result, $expected);
7006
7007 $string = 'Ō';
7008 $result = Multibyte::strtolower($string);
7009 $expected = 'ō';
7010 $this->assertEqual($result, $expected);
7011
7012 $string = 'Ŏ';
7013 $result = Multibyte::strtolower($string);
7014 $expected = 'ŏ';
7015 $this->assertEqual($result, $expected);
7016
7017 $string = 'Ő';
7018 $result = Multibyte::strtolower($string);
7019 $expected = 'ő';
7020 $this->assertEqual($result, $expected);
7021
7022 $string = 'Œ';
7023 $result = Multibyte::strtolower($string);
7024 $expected = 'œ';
7025 $this->assertEqual($result, $expected);
7026
7027 $string = 'Ŕ';
7028 $result = Multibyte::strtolower($string);
7029 $expected = 'ŕ';
7030 $this->assertEqual($result, $expected);
7031
7032 $string = 'Ŗ';
7033 $result = Multibyte::strtolower($string);
7034 $expected = 'ŗ';
7035 $this->assertEqual($result, $expected);
7036
7037 $string = 'Ř';
7038 $result = Multibyte::strtolower($string);
7039 $expected = 'ř';
7040 $this->assertEqual($result, $expected);
7041
7042 $string = 'Ś';
7043 $result = Multibyte::strtolower($string);
7044 $expected = 'ś';
7045 $this->assertEqual($result, $expected);
7046
7047 $string = 'Ŝ';
7048 $result = Multibyte::strtolower($string);
7049 $expected = 'ŝ';
7050 $this->assertEqual($result, $expected);
7051
7052 $string = 'Ş';
7053 $result = Multibyte::strtolower($string);
7054 $expected = 'ş';
7055 $this->assertEqual($result, $expected);
7056
7057 $string = 'Š';
7058 $result = Multibyte::strtolower($string);
7059 $expected = 'š';
7060 $this->assertEqual($result, $expected);
7061
7062 $string = 'Ţ';
7063 $result = Multibyte::strtolower($string);
7064 $expected = 'ţ';
7065 $this->assertEqual($result, $expected);
7066
7067 $string = 'Ť';
7068 $result = Multibyte::strtolower($string);
7069 $expected = 'ť';
7070 $this->assertEqual($result, $expected);
7071
7072 $string = 'Ŧ';
7073 $result = Multibyte::strtolower($string);
7074 $expected = 'ŧ';
7075 $this->assertEqual($result, $expected);
7076
7077 $string = 'Ũ';
7078 $result = Multibyte::strtolower($string);
7079 $expected = 'ũ';
7080 $this->assertEqual($result, $expected);
7081
7082 $string = 'Ū';
7083 $result = Multibyte::strtolower($string);
7084 $expected = 'ū';
7085 $this->assertEqual($result, $expected);
7086
7087 $string = 'Ŭ';
7088 $result = Multibyte::strtolower($string);
7089 $expected = 'ŭ';
7090 $this->assertEqual($result, $expected);
7091
7092 $string = 'Ů';
7093 $result = Multibyte::strtolower($string);
7094 $expected = 'ů';
7095 $this->assertEqual($result, $expected);
7096
7097 $string = 'Ű';
7098 $result = Multibyte::strtolower($string);
7099 $expected = 'ű';
7100 $this->assertEqual($result, $expected);
7101
7102 $string = 'Ų';
7103 $result = Multibyte::strtolower($string);
7104 $expected = 'ų';
7105 $this->assertEqual($result, $expected);
7106
7107 $string = 'Ŵ';
7108 $result = Multibyte::strtolower($string);
7109 $expected = 'ŵ';
7110 $this->assertEqual($result, $expected);
7111
7112 $string = 'Ŷ';
7113 $result = Multibyte::strtolower($string);
7114 $expected = 'ŷ';
7115 $this->assertEqual($result, $expected);
7116
7117 $string = 'Ź';
7118 $result = Multibyte::strtolower($string);
7119 $expected = 'ź';
7120 $this->assertEqual($result, $expected);
7121
7122 $string = 'Ż';
7123 $result = Multibyte::strtolower($string);
7124 $expected = 'ż';
7125 $this->assertEqual($result, $expected);
7126
7127 $string = 'Ž';
7128 $result = Multibyte::strtolower($string);
7129 $expected = 'ž';
7130 $this->assertEqual($result, $expected);
7131
7132 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
7133 $result = Multibyte::strtolower($string);
7134 $expected = 'āăąćĉċčďđēĕėęěĝğġģĥħĩīĭįijĵķĺļľŀłńņňŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž';
7135 $this->assertEqual($result, $expected);
7136
7137 $string = 'ĤĒĹĻŎ, ŴŐŘĻĎ!';
7138 $result = Multibyte::strtolower($string);
7139 $expected = 'ĥēĺļŏ, ŵőřļď!';
7140 $this->assertEqual($result, $expected);
7141
7142 $string = 'ĥēĺļŏ, ŵőřļď!';
7143 $result = Multibyte::strtolower($string);
7144 $expected = 'ĥēĺļŏ, ŵőřļď!';
7145 $this->assertEqual($result, $expected);
7146
7147 $string = 'ἈΙ';
7148 $result = Multibyte::strtolower($string);
7149 $expected = 'ἀι';
7150 $this->assertEqual($result, $expected);
7151
7152 $string = 'ԀԂԄԆԈԊԌԎԐԒ';
7153 $result = Multibyte::strtolower($string);
7154 $expected = 'ԁԃԅԇԉԋԍԏԐԒ';
7155 $this->assertEqual($result, $expected);
7156
7157 $string = 'ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖև';
7158 $result = Multibyte::strtolower($string);
7159 $expected = 'աբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆև';
7160 $this->assertEqual($result, $expected);
7161
7162 $string = 'ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ';
7163 $result = Multibyte::strtolower($string);
7164 $expected = 'ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ';
7165 $this->assertEqual($result, $expected);
7166
7167 $string = 'ḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẖẗẘẙẚẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸ';
7168 $result = Multibyte::strtolower($string);
7169 $expected = 'ḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕẖẗẘẙẚạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹ';
7170 $this->assertEqual($result, $expected);
7171
7172 $string = 'ΩKÅℲ';
7173 $result = Multibyte::strtolower($string);
7174 $expected = 'ωkåⅎ';
7175 $this->assertEqual($result, $expected);
7176
7177 $string = 'ΩKÅ';
7178 $result = Multibyte::strtolower($string);
7179 $expected = 'ωkå';
7180 $this->assertEqual($result, $expected);
7181
7182 $string = 'ΩKÅ';
7183 $result = Multibyte::strtolower($string);
7184 $expected = 'ωkå';
7185 $this->assertEqual($result, $expected);
7186
7187 $string = 'ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯↃ';
7188 $result = Multibyte::strtolower($string);
7189 $expected = 'ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿↄ';
7190 $this->assertEqual($result, $expected);
7191
7192 $string = 'ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ';
7193 $result = Multibyte::strtolower($string);
7194 $expected = 'ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ';
7195 $this->assertEqual($result, $expected);
7196
7197 $string = 'ⰀⰁⰂⰃⰄⰅⰆⰇⰈⰉⰊⰋⰌⰍⰎⰏⰐⰑⰒⰓⰔⰕⰖⰗⰘⰙⰚⰛⰜⰝⰞⰟⰠⰡⰢⰣⰤⰥⰦⰧⰨⰩⰪⰫⰬⰭⰮ';
7198 $result = Multibyte::strtolower($string);
7199 $expected = 'ⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊⱋⱌⱍⱎⱏⱐⱑⱒⱓⱔⱕⱖⱗⱘⱙⱚⱛⱜⱝⱞ';
7200 $this->assertEqual($result, $expected);
7201
7202 $string = 'ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢ';
7203 $result = Multibyte::strtolower($string);
7204 $expected = 'ⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣ';
7205 $this->assertEqual($result, $expected);
7206
7207 $string = 'fffiflffifflſtstﬓﬔﬕﬖﬗ';
7208 $result = Multibyte::strtolower($string);
7209 $expected = 'fffiflffifflſtstﬓﬔﬕﬖﬗ';
7210 $this->assertEqual($result, $expected);
7211 }
7212
7213 /**
7214 * testUsingMbStrtoupper method
7215 *
7216 * @access public
7217 * @return void
7218 */
7219 function testUsingMbStrtoupper() {
7220 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
7221 $result = mb_strtoupper($string);
7222 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~';
7223 $this->assertEqual($result, $expected);
7224
7225 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@';
7226 $result = mb_strtoupper($string);
7227 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@';
7228 $this->assertEqual($result, $expected);
7229
7230 $string = 'à';
7231 $result = mb_strtoupper($string);
7232 $expected = 'À';
7233 $this->assertEqual($result, $expected);
7234
7235 $string = 'á';
7236 $result = mb_strtoupper($string);
7237 $expected = 'Á';
7238 $this->assertEqual($result, $expected);
7239
7240 $string = 'â';
7241 $result = mb_strtoupper($string);
7242 $expected = 'Â';
7243 $this->assertEqual($result, $expected);
7244
7245 $string = 'ã';
7246 $result = mb_strtoupper($string);
7247 $expected = 'Ã';
7248 $this->assertEqual($result, $expected);
7249
7250 $string = 'ä';
7251 $result = mb_strtoupper($string);
7252 $expected = 'Ä';
7253 $this->assertEqual($result, $expected);
7254
7255 $string = 'å';
7256 $result = mb_strtoupper($string);
7257 $expected = 'Å';
7258 $this->assertEqual($result, $expected);
7259
7260 $string = 'æ';
7261 $result = mb_strtoupper($string);
7262 $expected = 'Æ';
7263 $this->assertEqual($result, $expected);
7264
7265 $string = 'ç';
7266 $result = mb_strtoupper($string);
7267 $expected = 'Ç';
7268 $this->assertEqual($result, $expected);
7269
7270 $string = 'è';
7271 $result = mb_strtoupper($string);
7272 $expected = 'È';
7273 $this->assertEqual($result, $expected);
7274
7275 $string = 'é';
7276 $result = mb_strtoupper($string);
7277 $expected = 'É';
7278 $this->assertEqual($result, $expected);
7279
7280 $string = 'ê';
7281 $result = mb_strtoupper($string);
7282 $expected = 'Ê';
7283 $this->assertEqual($result, $expected);
7284
7285 $string = 'ë';
7286 $result = mb_strtoupper($string);
7287 $expected = 'Ë';
7288 $this->assertEqual($result, $expected);
7289
7290 $string = 'ì';
7291 $result = mb_strtoupper($string);
7292 $expected = 'Ì';
7293 $this->assertEqual($result, $expected);
7294
7295 $string = 'í';
7296 $result = mb_strtoupper($string);
7297 $expected = 'Í';
7298 $this->assertEqual($result, $expected);
7299
7300 $string = 'î';
7301 $result = mb_strtoupper($string);
7302 $expected = 'Î';
7303 $this->assertEqual($result, $expected);
7304
7305 $string = 'ï';
7306 $result = mb_strtoupper($string);
7307 $expected = 'Ï';
7308 $this->assertEqual($result, $expected);
7309
7310 $string = 'ð';
7311 $result = mb_strtoupper($string);
7312 $expected = 'Ð';
7313 $this->assertEqual($result, $expected);
7314
7315 $string = 'ñ';
7316 $result = mb_strtoupper($string);
7317 $expected = 'Ñ';
7318 $this->assertEqual($result, $expected);
7319
7320 $string = 'ò';
7321 $result = mb_strtoupper($string);
7322 $expected = 'Ò';
7323 $this->assertEqual($result, $expected);
7324
7325 $string = 'ó';
7326 $result = mb_strtoupper($string);
7327 $expected = 'Ó';
7328 $this->assertEqual($result, $expected);
7329
7330 $string = 'ô';
7331 $result = mb_strtoupper($string);
7332 $expected = 'Ô';
7333 $this->assertEqual($result, $expected);
7334
7335 $string = 'õ';
7336 $result = mb_strtoupper($string);
7337 $expected = 'Õ';
7338 $this->assertEqual($result, $expected);
7339
7340 $string = 'ö';
7341 $result = mb_strtoupper($string);
7342 $expected = 'Ö';
7343 $this->assertEqual($result, $expected);
7344
7345 $string = 'ø';
7346 $result = mb_strtoupper($string);
7347 $expected = 'Ø';
7348 $this->assertEqual($result, $expected);
7349
7350 $string = 'ù';
7351 $result = mb_strtoupper($string);
7352 $expected = 'Ù';
7353 $this->assertEqual($result, $expected);
7354
7355 $string = 'ú';
7356 $result = mb_strtoupper($string);
7357 $expected = 'Ú';
7358 $this->assertEqual($result, $expected);
7359
7360 $string = 'û';
7361 $result = mb_strtoupper($string);
7362 $expected = 'Û';
7363 $this->assertEqual($result, $expected);
7364
7365 $string = 'ü';
7366 $result = mb_strtoupper($string);
7367 $expected = 'Ü';
7368 $this->assertEqual($result, $expected);
7369
7370 $string = 'ý';
7371 $result = mb_strtoupper($string);
7372 $expected = 'Ý';
7373 $this->assertEqual($result, $expected);
7374
7375 $string = 'þ';
7376 $result = mb_strtoupper($string);
7377 $expected = 'Þ';
7378 $this->assertEqual($result, $expected);
7379
7380 $string = 'àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ';
7381 $result = mb_strtoupper($string);
7382 $expected = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
7383 $this->assertEqual($result, $expected);
7384
7385 $string = 'ā';
7386 $result = mb_strtoupper($string);
7387 $expected = 'Ā';
7388 $this->assertEqual($result, $expected);
7389
7390 $string = 'ă';
7391 $result = mb_strtoupper($string);
7392 $expected = 'Ă';
7393 $this->assertEqual($result, $expected);
7394
7395 $string = 'ą';
7396 $result = mb_strtoupper($string);
7397 $expected = 'Ą';
7398 $this->assertEqual($result, $expected);
7399
7400 $string = 'ć';
7401 $result = mb_strtoupper($string);
7402 $expected = 'Ć';
7403 $this->assertEqual($result, $expected);
7404
7405 $string = 'ĉ';
7406 $result = mb_strtoupper($string);
7407 $expected = 'Ĉ';
7408 $this->assertEqual($result, $expected);
7409
7410 $string = 'ċ';
7411 $result = mb_strtoupper($string);
7412 $expected = 'Ċ';
7413 $this->assertEqual($result, $expected);
7414
7415 $string = 'č';
7416 $result = mb_strtoupper($string);
7417 $expected = 'Č';
7418 $this->assertEqual($result, $expected);
7419
7420 $string = 'ď';
7421 $result = mb_strtoupper($string);
7422 $expected = 'Ď';
7423 $this->assertEqual($result, $expected);
7424
7425 $string = 'đ';
7426 $result = mb_strtoupper($string);
7427 $expected = 'Đ';
7428 $this->assertEqual($result, $expected);
7429
7430 $string = 'ē';
7431 $result = mb_strtoupper($string);
7432 $expected = 'Ē';
7433 $this->assertEqual($result, $expected);
7434
7435 $string = 'ĕ';
7436 $result = mb_strtoupper($string);
7437 $expected = 'Ĕ';
7438 $this->assertEqual($result, $expected);
7439
7440 $string = 'ė';
7441 $result = mb_strtoupper($string);
7442 $expected = 'Ė';
7443 $this->assertEqual($result, $expected);
7444
7445 $string = 'ę';
7446 $result = mb_strtoupper($string);
7447 $expected = 'Ę';
7448 $this->assertEqual($result, $expected);
7449
7450 $string = 'ě';
7451 $result = mb_strtoupper($string);
7452 $expected = 'Ě';
7453 $this->assertEqual($result, $expected);
7454
7455 $string = 'ĝ';
7456 $result = mb_strtoupper($string);
7457 $expected = 'Ĝ';
7458 $this->assertEqual($result, $expected);
7459
7460 $string = 'ğ';
7461 $result = mb_strtoupper($string);
7462 $expected = 'Ğ';
7463 $this->assertEqual($result, $expected);
7464
7465 $string = 'ġ';
7466 $result = mb_strtoupper($string);
7467 $expected = 'Ġ';
7468 $this->assertEqual($result, $expected);
7469
7470 $string = 'ģ';
7471 $result = mb_strtoupper($string);
7472 $expected = 'Ģ';
7473 $this->assertEqual($result, $expected);
7474
7475 $string = 'ĥ';
7476 $result = mb_strtoupper($string);
7477 $expected = 'Ĥ';
7478 $this->assertEqual($result, $expected);
7479
7480 $string = 'ħ';
7481 $result = mb_strtoupper($string);
7482 $expected = 'Ħ';
7483 $this->assertEqual($result, $expected);
7484
7485 $string = 'ĩ';
7486 $result = mb_strtoupper($string);
7487 $expected = 'Ĩ';
7488 $this->assertEqual($result, $expected);
7489
7490 $string = 'ī';
7491 $result = mb_strtoupper($string);
7492 $expected = 'Ī';
7493 $this->assertEqual($result, $expected);
7494
7495 $string = 'ĭ';
7496 $result = mb_strtoupper($string);
7497 $expected = 'Ĭ';
7498 $this->assertEqual($result, $expected);
7499
7500 $string = 'į';
7501 $result = mb_strtoupper($string);
7502 $expected = 'Į';
7503 $this->assertEqual($result, $expected);
7504
7505 $string = 'ij';
7506 $result = mb_strtoupper($string);
7507 $expected = 'IJ';
7508 $this->assertEqual($result, $expected);
7509
7510 $string = 'ĵ';
7511 $result = mb_strtoupper($string);
7512 $expected = 'Ĵ';
7513 $this->assertEqual($result, $expected);
7514
7515 $string = 'ķ';
7516 $result = mb_strtoupper($string);
7517 $expected = 'Ķ';
7518 $this->assertEqual($result, $expected);
7519
7520 $string = 'ĺ';
7521 $result = mb_strtoupper($string);
7522 $expected = 'Ĺ';
7523 $this->assertEqual($result, $expected);
7524
7525 $string = 'ļ';
7526 $result = mb_strtoupper($string);
7527 $expected = 'Ļ';
7528 $this->assertEqual($result, $expected);
7529
7530 $string = 'ľ';
7531 $result = mb_strtoupper($string);
7532 $expected = 'Ľ';
7533 $this->assertEqual($result, $expected);
7534
7535 $string = 'ŀ';
7536 $result = mb_strtoupper($string);
7537 $expected = 'Ŀ';
7538 $this->assertEqual($result, $expected);
7539
7540 $string = 'ł';
7541 $result = mb_strtoupper($string);
7542 $expected = 'Ł';
7543 $this->assertEqual($result, $expected);
7544
7545 $string = 'ń';
7546 $result = mb_strtoupper($string);
7547 $expected = 'Ń';
7548 $this->assertEqual($result, $expected);
7549
7550 $string = 'ņ';
7551 $result = mb_strtoupper($string);
7552 $expected = 'Ņ';
7553 $this->assertEqual($result, $expected);
7554
7555 $string = 'ň';
7556 $result = mb_strtoupper($string);
7557 $expected = 'Ň';
7558 $this->assertEqual($result, $expected);
7559
7560 $string = 'ŋ';
7561 $result = mb_strtoupper($string);
7562 $expected = 'Ŋ';
7563 $this->assertEqual($result, $expected);
7564
7565 $string = 'ō';
7566 $result = mb_strtoupper($string);
7567 $expected = 'Ō';
7568 $this->assertEqual($result, $expected);
7569
7570 $string = 'ŏ';
7571 $result = mb_strtoupper($string);
7572 $expected = 'Ŏ';
7573 $this->assertEqual($result, $expected);
7574
7575 $string = 'ő';
7576 $result = mb_strtoupper($string);
7577 $expected = 'Ő';
7578 $this->assertEqual($result, $expected);
7579
7580 $string = 'œ';
7581 $result = mb_strtoupper($string);
7582 $expected = 'Œ';
7583 $this->assertEqual($result, $expected);
7584
7585 $string = 'ŕ';
7586 $result = mb_strtoupper($string);
7587 $expected = 'Ŕ';
7588 $this->assertEqual($result, $expected);
7589
7590 $string = 'ŗ';
7591 $result = mb_strtoupper($string);
7592 $expected = 'Ŗ';
7593 $this->assertEqual($result, $expected);
7594
7595 $string = 'ř';
7596 $result = mb_strtoupper($string);
7597 $expected = 'Ř';
7598 $this->assertEqual($result, $expected);
7599
7600 $string = 'ś';
7601 $result = mb_strtoupper($string);
7602 $expected = 'Ś';
7603 $this->assertEqual($result, $expected);
7604
7605 $string = 'ŝ';
7606 $result = mb_strtoupper($string);
7607 $expected = 'Ŝ';
7608 $this->assertEqual($result, $expected);
7609
7610 $string = 'ş';
7611 $result = mb_strtoupper($string);
7612 $expected = 'Ş';
7613 $this->assertEqual($result, $expected);
7614
7615 $string = 'š';
7616 $result = mb_strtoupper($string);
7617 $expected = 'Š';
7618 $this->assertEqual($result, $expected);
7619
7620 $string = 'ţ';
7621 $result = mb_strtoupper($string);
7622 $expected = 'Ţ';
7623 $this->assertEqual($result, $expected);
7624
7625 $string = 'ť';
7626 $result = mb_strtoupper($string);
7627 $expected = 'Ť';
7628 $this->assertEqual($result, $expected);
7629
7630 $string = 'ŧ';
7631 $result = mb_strtoupper($string);
7632 $expected = 'Ŧ';
7633 $this->assertEqual($result, $expected);
7634
7635 $string = 'ũ';
7636 $result = mb_strtoupper($string);
7637 $expected = 'Ũ';
7638 $this->assertEqual($result, $expected);
7639
7640 $string = 'ū';
7641 $result = mb_strtoupper($string);
7642 $expected = 'Ū';
7643 $this->assertEqual($result, $expected);
7644
7645 $string = 'ŭ';
7646 $result = mb_strtoupper($string);
7647 $expected = 'Ŭ';
7648 $this->assertEqual($result, $expected);
7649
7650 $string = 'ů';
7651 $result = mb_strtoupper($string);
7652 $expected = 'Ů';
7653 $this->assertEqual($result, $expected);
7654
7655 $string = 'ű';
7656 $result = mb_strtoupper($string);
7657 $expected = 'Ű';
7658 $this->assertEqual($result, $expected);
7659
7660 $string = 'ų';
7661 $result = mb_strtoupper($string);
7662 $expected = 'Ų';
7663 $this->assertEqual($result, $expected);
7664
7665 $string = 'ŵ';
7666 $result = mb_strtoupper($string);
7667 $expected = 'Ŵ';
7668 $this->assertEqual($result, $expected);
7669
7670 $string = 'ŷ';
7671 $result = mb_strtoupper($string);
7672 $expected = 'Ŷ';
7673 $this->assertEqual($result, $expected);
7674
7675 $string = 'ź';
7676 $result = mb_strtoupper($string);
7677 $expected = 'Ź';
7678 $this->assertEqual($result, $expected);
7679
7680 $string = 'ż';
7681 $result = mb_strtoupper($string);
7682 $expected = 'Ż';
7683 $this->assertEqual($result, $expected);
7684
7685 $string = 'ž';
7686 $result = mb_strtoupper($string);
7687 $expected = 'Ž';
7688 $this->assertEqual($result, $expected);
7689
7690 $string = 'āăąćĉċčďđēĕėęěĝğġģĥħĩīĭįijĵķĺļľŀłńņňŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž';
7691 $result = mb_strtoupper($string);
7692 $expected = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
7693 $this->assertEqual($result, $expected);
7694
7695 $string = 'Ĥēĺļŏ, Ŵőřļď!';
7696 $result = mb_strtoupper($string);
7697 $expected = 'ĤĒĹĻŎ, ŴŐŘĻĎ!';
7698 $this->assertEqual($result, $expected);
7699
7700 $string = 'ἀι';
7701 $result = mb_strtoupper($string);
7702 $expected = 'ἈΙ';
7703 $this->assertEqual($result, $expected);
7704
7705 $string = 'ԁԃԅԇԉԋԍԏԐԒ';
7706 $result = mb_strtoupper($string);
7707 $expected = 'ԀԂԄԆԈԊԌԎԐԒ';
7708 $this->assertEqual($result, $expected);
7709
7710 $string = 'աբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆև';
7711 $result = mb_strtoupper($string);
7712 $expected = 'ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖև';
7713 $this->assertEqual($result, $expected);
7714
7715 $string = 'ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ';
7716 $result = mb_strtoupper($string);
7717 $expected = 'ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ';
7718 $this->assertEqual($result, $expected);
7719
7720 $string = 'ḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕẖẗẘẙẚạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹ';
7721 $result = mb_strtoupper($string);
7722 $expected = 'ḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẖẗẘẙẚẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸ';
7723 $this->assertEqual($result, $expected);
7724
7725 $string = 'ωkå';
7726 $result = mb_strtoupper($string);
7727 $expected = 'ΩKÅ';
7728 $this->assertEqual($result, $expected);
7729
7730 /*
7731 mb_strtoupper does not work for these strings.
7732
7733 $string = 'ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿↄ';
7734 $result = mb_strtoupper($string);
7735 $expected = 'ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯↃ';
7736 $this->assertEqual($result, $expected);
7737
7738 $string = 'ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ';
7739 $result = mb_strtoupper($string);
7740 $expected = 'ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ';
7741 $this->assertEqual($result, $expected);
7742
7743 $string = 'ⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊⱋⱌⱍⱎⱏⱐⱑⱒⱓⱔⱕⱖⱗⱘⱙⱚⱛⱜⱝⱞ';
7744 $result = mb_strtoupper($string);
7745 $expected = 'ⰀⰁⰂⰃⰄⰅⰆⰇⰈⰉⰊⰋⰌⰍⰎⰏⰐⰑⰒⰓⰔⰕⰖⰗⰘⰙⰚⰛⰜⰝⰞⰟⰠⰡⰢⰣⰤⰥⰦⰧⰨⰩⰪⰫⰬⰭⰮ';
7746 $this->assertEqual($result, $expected);
7747
7748 $string = 'ⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣ';
7749 $result = mb_strtoupper($string);
7750 $expected = 'ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢ';
7751 $this->assertEqual($result, $expected);
7752 */
7753 $string = 'fffiflffifflſtstﬓﬔﬕﬖﬗ';
7754 $result = mb_strtoupper($string);
7755 $expected = 'fffiflffifflſtstﬓﬔﬕﬖﬗ';
7756 $this->assertEqual($result, $expected);
7757 }
7758
7759 /**
7760 * testMultibyteStrtoupper method
7761 *
7762 * @access public
7763 * @return void
7764 */
7765 function testMultibyteStrtoupper() {
7766 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
7767 $result = Multibyte::strtoupper($string);
7768 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~';
7769 $this->assertEqual($result, $expected);
7770
7771 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@';
7772 $result = Multibyte::strtoupper($string);
7773 $expected = '!"#$%&\'()*+,-./0123456789:;<=>?@';
7774 $this->assertEqual($result, $expected);
7775
7776 $string = 'à';
7777 $result = Multibyte::strtoupper($string);
7778 $expected = 'À';
7779 $this->assertEqual($result, $expected);
7780
7781 $string = 'á';
7782 $result = Multibyte::strtoupper($string);
7783 $expected = 'Á';
7784 $this->assertEqual($result, $expected);
7785
7786 $string = 'â';
7787 $result = Multibyte::strtoupper($string);
7788 $expected = 'Â';
7789 $this->assertEqual($result, $expected);
7790
7791 $string = 'ã';
7792 $result = Multibyte::strtoupper($string);
7793 $expected = 'Ã';
7794 $this->assertEqual($result, $expected);
7795
7796 $string = 'ä';
7797 $result = Multibyte::strtoupper($string);
7798 $expected = 'Ä';
7799 $this->assertEqual($result, $expected);
7800
7801 $string = 'å';
7802 $result = Multibyte::strtoupper($string);
7803 $expected = 'Å';
7804 $this->assertEqual($result, $expected);
7805
7806 $string = 'æ';
7807 $result = Multibyte::strtoupper($string);
7808 $expected = 'Æ';
7809 $this->assertEqual($result, $expected);
7810
7811 $string = 'ç';
7812 $result = Multibyte::strtoupper($string);
7813 $expected = 'Ç';
7814 $this->assertEqual($result, $expected);
7815
7816 $string = 'è';
7817 $result = Multibyte::strtoupper($string);
7818 $expected = 'È';
7819 $this->assertEqual($result, $expected);
7820
7821 $string = 'é';
7822 $result = Multibyte::strtoupper($string);
7823 $expected = 'É';
7824 $this->assertEqual($result, $expected);
7825
7826 $string = 'ê';
7827 $result = Multibyte::strtoupper($string);
7828 $expected = 'Ê';
7829 $this->assertEqual($result, $expected);
7830
7831 $string = 'ë';
7832 $result = Multibyte::strtoupper($string);
7833 $expected = 'Ë';
7834 $this->assertEqual($result, $expected);
7835
7836 $string = 'ì';
7837 $result = Multibyte::strtoupper($string);
7838 $expected = 'Ì';
7839 $this->assertEqual($result, $expected);
7840
7841 $string = 'í';
7842 $result = Multibyte::strtoupper($string);
7843 $expected = 'Í';
7844 $this->assertEqual($result, $expected);
7845
7846 $string = 'î';
7847 $result = Multibyte::strtoupper($string);
7848 $expected = 'Î';
7849 $this->assertEqual($result, $expected);
7850
7851 $string = 'ï';
7852 $result = Multibyte::strtoupper($string);
7853 $expected = 'Ï';
7854 $this->assertEqual($result, $expected);
7855
7856 $string = 'ð';
7857 $result = Multibyte::strtoupper($string);
7858 $expected = 'Ð';
7859 $this->assertEqual($result, $expected);
7860
7861 $string = 'ñ';
7862 $result = Multibyte::strtoupper($string);
7863 $expected = 'Ñ';
7864 $this->assertEqual($result, $expected);
7865
7866 $string = 'ò';
7867 $result = Multibyte::strtoupper($string);
7868 $expected = 'Ò';
7869 $this->assertEqual($result, $expected);
7870
7871 $string = 'ó';
7872 $result = Multibyte::strtoupper($string);
7873 $expected = 'Ó';
7874 $this->assertEqual($result, $expected);
7875
7876 $string = 'ô';
7877 $result = Multibyte::strtoupper($string);
7878 $expected = 'Ô';
7879 $this->assertEqual($result, $expected);
7880
7881 $string = 'õ';
7882 $result = Multibyte::strtoupper($string);
7883 $expected = 'Õ';
7884 $this->assertEqual($result, $expected);
7885
7886 $string = 'ö';
7887 $result = Multibyte::strtoupper($string);
7888 $expected = 'Ö';
7889 $this->assertEqual($result, $expected);
7890
7891 $string = 'ø';
7892 $result = Multibyte::strtoupper($string);
7893 $expected = 'Ø';
7894 $this->assertEqual($result, $expected);
7895
7896 $string = 'ù';
7897 $result = Multibyte::strtoupper($string);
7898 $expected = 'Ù';
7899 $this->assertEqual($result, $expected);
7900
7901 $string = 'ú';
7902 $result = Multibyte::strtoupper($string);
7903 $expected = 'Ú';
7904 $this->assertEqual($result, $expected);
7905
7906 $string = 'û';
7907 $result = Multibyte::strtoupper($string);
7908 $expected = 'Û';
7909 $this->assertEqual($result, $expected);
7910
7911 $string = 'ü';
7912 $result = Multibyte::strtoupper($string);
7913 $expected = 'Ü';
7914 $this->assertEqual($result, $expected);
7915
7916 $string = 'ý';
7917 $result = Multibyte::strtoupper($string);
7918 $expected = 'Ý';
7919 $this->assertEqual($result, $expected);
7920
7921 $string = 'þ';
7922 $result = Multibyte::strtoupper($string);
7923 $expected = 'Þ';
7924 $this->assertEqual($result, $expected);
7925
7926 $string = 'àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ';
7927 $result = Multibyte::strtoupper($string);
7928 $expected = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
7929 $this->assertEqual($result, $expected);
7930
7931 $string = 'ā';
7932 $result = Multibyte::strtoupper($string);
7933 $expected = 'Ā';
7934 $this->assertEqual($result, $expected);
7935
7936 $string = 'ă';
7937 $result = Multibyte::strtoupper($string);
7938 $expected = 'Ă';
7939 $this->assertEqual($result, $expected);
7940
7941 $string = 'ą';
7942 $result = Multibyte::strtoupper($string);
7943 $expected = 'Ą';
7944 $this->assertEqual($result, $expected);
7945
7946 $string = 'ć';
7947 $result = Multibyte::strtoupper($string);
7948 $expected = 'Ć';
7949 $this->assertEqual($result, $expected);
7950
7951 $string = 'ĉ';
7952 $result = Multibyte::strtoupper($string);
7953 $expected = 'Ĉ';
7954 $this->assertEqual($result, $expected);
7955
7956 $string = 'ċ';
7957 $result = Multibyte::strtoupper($string);
7958 $expected = 'Ċ';
7959 $this->assertEqual($result, $expected);
7960
7961 $string = 'č';
7962 $result = Multibyte::strtoupper($string);
7963 $expected = 'Č';
7964 $this->assertEqual($result, $expected);
7965
7966 $string = 'ď';
7967 $result = Multibyte::strtoupper($string);
7968 $expected = 'Ď';
7969 $this->assertEqual($result, $expected);
7970
7971 $string = 'đ';
7972 $result = Multibyte::strtoupper($string);
7973 $expected = 'Đ';
7974 $this->assertEqual($result, $expected);
7975
7976 $string = 'ē';
7977 $result = Multibyte::strtoupper($string);
7978 $expected = 'Ē';
7979 $this->assertEqual($result, $expected);
7980
7981 $string = 'ĕ';
7982 $result = Multibyte::strtoupper($string);
7983 $expected = 'Ĕ';
7984 $this->assertEqual($result, $expected);
7985
7986 $string = 'ė';
7987 $result = Multibyte::strtoupper($string);
7988 $expected = 'Ė';
7989 $this->assertEqual($result, $expected);
7990
7991 $string = 'ę';
7992 $result = Multibyte::strtoupper($string);
7993 $expected = 'Ę';
7994 $this->assertEqual($result, $expected);
7995
7996 $string = 'ě';
7997 $result = Multibyte::strtoupper($string);
7998 $expected = 'Ě';
7999 $this->assertEqual($result, $expected);
8000
8001 $string = 'ĝ';
8002 $result = Multibyte::strtoupper($string);
8003 $expected = 'Ĝ';
8004 $this->assertEqual($result, $expected);
8005
8006 $string = 'ğ';
8007 $result = Multibyte::strtoupper($string);
8008 $expected = 'Ğ';
8009 $this->assertEqual($result, $expected);
8010
8011 $string = 'ġ';
8012 $result = Multibyte::strtoupper($string);
8013 $expected = 'Ġ';
8014 $this->assertEqual($result, $expected);
8015
8016 $string = 'ģ';
8017 $result = Multibyte::strtoupper($string);
8018 $expected = 'Ģ';
8019 $this->assertEqual($result, $expected);
8020
8021 $string = 'ĥ';
8022 $result = Multibyte::strtoupper($string);
8023 $expected = 'Ĥ';
8024 $this->assertEqual($result, $expected);
8025
8026 $string = 'ħ';
8027 $result = Multibyte::strtoupper($string);
8028 $expected = 'Ħ';
8029 $this->assertEqual($result, $expected);
8030
8031 $string = 'ĩ';
8032 $result = Multibyte::strtoupper($string);
8033 $expected = 'Ĩ';
8034 $this->assertEqual($result, $expected);
8035
8036 $string = 'ī';
8037 $result = Multibyte::strtoupper($string);
8038 $expected = 'Ī';
8039 $this->assertEqual($result, $expected);
8040
8041 $string = 'ĭ';
8042 $result = Multibyte::strtoupper($string);
8043 $expected = 'Ĭ';
8044 $this->assertEqual($result, $expected);
8045
8046 $string = 'į';
8047 $result = Multibyte::strtoupper($string);
8048 $expected = 'Į';
8049 $this->assertEqual($result, $expected);
8050
8051 $string = 'ij';
8052 $result = Multibyte::strtoupper($string);
8053 $expected = 'IJ';
8054 $this->assertEqual($result, $expected);
8055
8056 $string = 'ĵ';
8057 $result = Multibyte::strtoupper($string);
8058 $expected = 'Ĵ';
8059 $this->assertEqual($result, $expected);
8060
8061 $string = 'ķ';
8062 $result = Multibyte::strtoupper($string);
8063 $expected = 'Ķ';
8064 $this->assertEqual($result, $expected);
8065
8066 $string = 'ĺ';
8067 $result = Multibyte::strtoupper($string);
8068 $expected = 'Ĺ';
8069 $this->assertEqual($result, $expected);
8070
8071 $string = 'ļ';
8072 $result = Multibyte::strtoupper($string);
8073 $expected = 'Ļ';
8074 $this->assertEqual($result, $expected);
8075
8076 $string = 'ľ';
8077 $result = Multibyte::strtoupper($string);
8078 $expected = 'Ľ';
8079 $this->assertEqual($result, $expected);
8080
8081 $string = 'ŀ';
8082 $result = Multibyte::strtoupper($string);
8083 $expected = 'Ŀ';
8084 $this->assertEqual($result, $expected);
8085
8086 $string = 'ł';
8087 $result = Multibyte::strtoupper($string);
8088 $expected = 'Ł';
8089 $this->assertEqual($result, $expected);
8090
8091 $string = 'ń';
8092 $result = Multibyte::strtoupper($string);
8093 $expected = 'Ń';
8094 $this->assertEqual($result, $expected);
8095
8096 $string = 'ņ';
8097 $result = Multibyte::strtoupper($string);
8098 $expected = 'Ņ';
8099 $this->assertEqual($result, $expected);
8100
8101 $string = 'ň';
8102 $result = Multibyte::strtoupper($string);
8103 $expected = 'Ň';
8104 $this->assertEqual($result, $expected);
8105
8106 $string = 'ŋ';
8107 $result = Multibyte::strtoupper($string);
8108 $expected = 'Ŋ';
8109 $this->assertEqual($result, $expected);
8110
8111 $string = 'ō';
8112 $result = Multibyte::strtoupper($string);
8113 $expected = 'Ō';
8114 $this->assertEqual($result, $expected);
8115
8116 $string = 'ŏ';
8117 $result = Multibyte::strtoupper($string);
8118 $expected = 'Ŏ';
8119 $this->assertEqual($result, $expected);
8120
8121 $string = 'ő';
8122 $result = Multibyte::strtoupper($string);
8123 $expected = 'Ő';
8124 $this->assertEqual($result, $expected);
8125
8126 $string = 'œ';
8127 $result = Multibyte::strtoupper($string);
8128 $expected = 'Œ';
8129 $this->assertEqual($result, $expected);
8130
8131 $string = 'ŕ';
8132 $result = Multibyte::strtoupper($string);
8133 $expected = 'Ŕ';
8134 $this->assertEqual($result, $expected);
8135
8136 $string = 'ŗ';
8137 $result = Multibyte::strtoupper($string);
8138 $expected = 'Ŗ';
8139 $this->assertEqual($result, $expected);
8140
8141 $string = 'ř';
8142 $result = Multibyte::strtoupper($string);
8143 $expected = 'Ř';
8144 $this->assertEqual($result, $expected);
8145
8146 $string = 'ś';
8147 $result = Multibyte::strtoupper($string);
8148 $expected = 'Ś';
8149 $this->assertEqual($result, $expected);
8150
8151 $string = 'ŝ';
8152 $result = Multibyte::strtoupper($string);
8153 $expected = 'Ŝ';
8154 $this->assertEqual($result, $expected);
8155
8156 $string = 'ş';
8157 $result = Multibyte::strtoupper($string);
8158 $expected = 'Ş';
8159 $this->assertEqual($result, $expected);
8160
8161 $string = 'š';
8162 $result = Multibyte::strtoupper($string);
8163 $expected = 'Š';
8164 $this->assertEqual($result, $expected);
8165
8166 $string = 'ţ';
8167 $result = Multibyte::strtoupper($string);
8168 $expected = 'Ţ';
8169 $this->assertEqual($result, $expected);
8170
8171 $string = 'ť';
8172 $result = Multibyte::strtoupper($string);
8173 $expected = 'Ť';
8174 $this->assertEqual($result, $expected);
8175
8176 $string = 'ŧ';
8177 $result = Multibyte::strtoupper($string);
8178 $expected = 'Ŧ';
8179 $this->assertEqual($result, $expected);
8180
8181 $string = 'ũ';
8182 $result = Multibyte::strtoupper($string);
8183 $expected = 'Ũ';
8184 $this->assertEqual($result, $expected);
8185
8186 $string = 'ū';
8187 $result = Multibyte::strtoupper($string);
8188 $expected = 'Ū';
8189 $this->assertEqual($result, $expected);
8190
8191 $string = 'ŭ';
8192 $result = Multibyte::strtoupper($string);
8193 $expected = 'Ŭ';
8194 $this->assertEqual($result, $expected);
8195
8196 $string = 'ů';
8197 $result = Multibyte::strtoupper($string);
8198 $expected = 'Ů';
8199 $this->assertEqual($result, $expected);
8200
8201 $string = 'ű';
8202 $result = Multibyte::strtoupper($string);
8203 $expected = 'Ű';
8204 $this->assertEqual($result, $expected);
8205
8206 $string = 'ų';
8207 $result = Multibyte::strtoupper($string);
8208 $expected = 'Ų';
8209 $this->assertEqual($result, $expected);
8210
8211 $string = 'ŵ';
8212 $result = Multibyte::strtoupper($string);
8213 $expected = 'Ŵ';
8214 $this->assertEqual($result, $expected);
8215
8216 $string = 'ŷ';
8217 $result = Multibyte::strtoupper($string);
8218 $expected = 'Ŷ';
8219 $this->assertEqual($result, $expected);
8220
8221 $string = 'ź';
8222 $result = Multibyte::strtoupper($string);
8223 $expected = 'Ź';
8224 $this->assertEqual($result, $expected);
8225
8226 $string = 'ż';
8227 $result = Multibyte::strtoupper($string);
8228 $expected = 'Ż';
8229 $this->assertEqual($result, $expected);
8230
8231 $string = 'ž';
8232 $result = Multibyte::strtoupper($string);
8233 $expected = 'Ž';
8234 $this->assertEqual($result, $expected);
8235
8236 $string = 'āăąćĉċčďđēĕėęěĝğġģĥħĩīĭįijĵķĺļľŀłńņňŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž';
8237 $result = Multibyte::strtoupper($string);
8238 $expected = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
8239 $this->assertEqual($result, $expected);
8240
8241 $string = 'Ĥēĺļŏ, Ŵőřļď!';
8242 $result = Multibyte::strtoupper($string);
8243 $expected = 'ĤĒĹĻŎ, ŴŐŘĻĎ!';
8244 $this->assertEqual($result, $expected);
8245
8246 $string = 'ἀι';
8247 $result = mb_strtoupper($string);
8248 $expected = 'ἈΙ';
8249 $this->assertEqual($result, $expected);
8250
8251 $string = 'ἀι';
8252 $result = Multibyte::strtoupper($string);
8253 $expected = 'ἈΙ';
8254 $this->assertEqual($result, $expected);
8255
8256 $string = 'ԁԃԅԇԉԋԍԏԐԒ';
8257 $result = Multibyte::strtoupper($string);
8258 $expected = 'ԀԂԄԆԈԊԌԎԐԒ';
8259 $this->assertEqual($result, $expected);
8260
8261 $string = 'աբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆև';
8262 $result = Multibyte::strtoupper($string);
8263 $expected = 'ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖև';
8264 $this->assertEqual($result, $expected);
8265
8266 $string = 'ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ';
8267 $result = Multibyte::strtoupper($string);
8268 $expected = 'ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ';
8269 $this->assertEqual($result, $expected);
8270
8271 $string = 'ḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕẖẗẘẙẚạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹ';
8272 $result = Multibyte::strtoupper($string);
8273 $expected = 'ḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẖẗẘẙẚẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸ';
8274 $this->assertEqual($result, $expected);
8275
8276 $string = 'ωkåⅎ';
8277 $result = Multibyte::strtoupper($string);
8278 $expected = 'ΩKÅℲ';
8279 $this->assertEqual($result, $expected);
8280
8281 $string = 'ωkå';
8282 $result = Multibyte::strtoupper($string);
8283 $expected = 'ΩKÅ';
8284 $this->assertEqual($result, $expected);
8285
8286 $string = 'ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿↄ';
8287 $result = Multibyte::strtoupper($string);
8288 $expected = 'ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯↃ';
8289 $this->assertEqual($result, $expected);
8290
8291 $string = 'ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ';
8292 $result = Multibyte::strtoupper($string);
8293 $expected = 'ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ';
8294 $this->assertEqual($result, $expected);
8295
8296 $string = 'ⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊⱋⱌⱍⱎⱏⱐⱑⱒⱓⱔⱕⱖⱗⱘⱙⱚⱛⱜⱝⱞ';
8297 $result = Multibyte::strtoupper($string);
8298 $expected = 'ⰀⰁⰂⰃⰄⰅⰆⰇⰈⰉⰊⰋⰌⰍⰎⰏⰐⰑⰒⰓⰔⰕⰖⰗⰘⰙⰚⰛⰜⰝⰞⰟⰠⰡⰢⰣⰤⰥⰦⰧⰨⰩⰪⰫⰬⰭⰮ';
8299 $this->assertEqual($result, $expected);
8300
8301 $string = 'ⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣ';
8302 $result = Multibyte::strtoupper($string);
8303 $expected = 'ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢ';
8304 $this->assertEqual($result, $expected);
8305
8306 $string = 'fffiflffifflſtstﬓﬔﬕﬖﬗ';
8307 $result = Multibyte::strtoupper($string);
8308 $expected = 'fffiflffifflſtstﬓﬔﬕﬖﬗ';
8309 $this->assertEqual($result, $expected);
8310 }
8311
8312 /**
8313 * testUsingMbSubstrCount method
8314 *
8315 * @access public
8316 * @return void
8317 */
8318 function testUsingMbSubstrCount() {
8319 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
8320 $find = 'F';
8321 $result = mb_substr_count($string, $find);
8322 $expected = 1;
8323 $this->assertEqual($result, $expected);
8324
8325 $string = 'ABCDEFGHIJKLMNOPQFRSFTUVWXYZ0F12345F6789';
8326 $find = 'F';
8327 $result = mb_substr_count($string, $find);
8328 $expected = 5;
8329 $this->assertEqual($result, $expected);
8330
8331 $string = 'ÀÁÂÃÄÅÆÇÈÉÅÊËÌÍÎÏÐÑÒÓÔÅÕÖØÅÙÚÛÅÜÝÞ';
8332 $find = 'Å';
8333 $result = mb_substr_count($string, $find);
8334 $expected = 5;
8335 $this->assertEqual($result, $expected);
8336
8337 $string = 'ÀÁÙÚÂÃÄÅÆÇÈÙÚÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞÙÚ';
8338 $find = 'ÙÚ';
8339 $result = mb_substr_count($string, $find);
8340 $expected = 4;
8341 $this->assertEqual($result, $expected);
8342
8343 $string = 'ÀÁÂÃÄÅÆÇÈÉÊÅËÌÍÎÏÐÑÒÓÔÕÅÖØÅÙÚÅÛÜÅÝÞÅ';
8344 $find = 'Å';
8345 $result = mb_substr_count($string, $find);
8346 $expected = 7;
8347 $this->assertEqual($result, $expected);
8348
8349 $string = 'ĊĀĂĄĆĈĊČĎĐĒĔĖĊĘĚĜĞĠĢĤĦĨĪĬĮĊIJĴĶĹĻĽĿŁŃŅŇŊŌĊŎŐŒŔŖŘŚŜŞŠŢĊŤŦŨŪŬŮŰĊŲŴŶŹŻŽ';
8350 $find = 'Ċ';
8351 $result = mb_substr_count($string, $find);
8352 $expected = 7;
8353 $this->assertEqual($result, $expected);
8354
8355 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĊĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁĊŃŅĊŇŊŌŎŐŒŔŖĊŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
8356 $find = 'Ċ';
8357 $result = mb_substr_count($string, $find);
8358 $expected = 5;
8359 $this->assertEqual($result, $expected);
8360
8361 $string = '!"#$%&\'()*+,-./012F34567F89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghiFjklmnopqFrstuvwFxyz{|}~';
8362 $find = 'F';
8363 $result = mb_substr_count($string, $find);
8364 $expected = 6;
8365 $this->assertEqual($result, $expected);
8366
8367 $string = '¡¢£¤¥µ¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁµÂõÄÅÆǵÈ';
8368 $find = 'µ';
8369 $result = mb_substr_count($string, $find);
8370 $expected = 5;
8371 $this->assertEqual($result, $expected);
8372
8373 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôÕÖõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉÕÖĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝÕÖĞğĠġĢģĤĥĦÕÖħĨĩĪīĬ';
8374 $find = 'ÕÖ';
8375 $result = mb_substr_count($string, $find);
8376 $expected = 5;
8377 $this->assertEqual($result, $expected);
8378
8379 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōĵĶķĸĹŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšĵĶķĸĹŢţŤťŦŧŨũŪūŬŭŮůŰűŲųĵĶķĸĹŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
8380 $find = 'ĵĶķĸĹ';
8381 $result = mb_substr_count($string, $find);
8382 $expected = 4;
8383 $this->assertEqual($result, $expected);
8384
8385 $string = 'ƑƒƓƔƕƖƸƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJƸNjnjǍǎǏǐǑǒǓƸǔǕǖǗǘǙǚƸǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
8386 $find = 'Ƹ';
8387 $result = mb_substr_count($string, $find);
8388 $expected = 5;
8389 $this->assertEqual($result, $expected);
8390
8391 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƹƠơƢƣƤƥƦƧƨƩƹƪƫƬƭƮƯưƱƲƳƴƹƵƶƷƸƹƺƻƼƽƾƿǀǁǂƹǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
8392 $find = 'ƹ';
8393 $result = mb_substr_count($string, $find);
8394 $expected = 5;
8395 $this->assertEqual($result, $expected);
8396
8397 $string = 'əɚɛɜɝɞʀɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʀʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʀʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʀʻʼ';
8398 $find = 'ʀ';
8399 $result = mb_substr_count($string, $find);
8400 $expected = 5;
8401 $this->assertEqual($result, $expected);
8402
8403 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЇЎЏАБВГДЕЖЗИЙКЛ';
8404 $find = 'Ї';
8405 $result = mb_substr_count($string, $find);
8406 $expected = 2;
8407 $this->assertEqual($result, $expected);
8408
8409 $string = 'МНОПРСРТУФХЦЧШЩЪЫЬРЭЮЯабРвгдежзийклРмнопрстуфхцчшщъыь';
8410 $find = 'Р';
8411 $result = mb_substr_count($string, $find);
8412 $expected = 5;
8413 $this->assertEqual($result, $expected);
8414
8415 $string = 'МНОПРСрТУФХЦЧШЩЪЫрЬЭЮЯабвгдежзийклмнопррстуфхцчшщъыь';
8416 $find = 'р';
8417 $result = mb_substr_count($string, $find);
8418 $expected = 4;
8419 $this->assertEqual($result, $expected);
8420
8421 $string = 'فنقكلنمنهونىينًٌٍَُ';
8422 $find = 'ن';
8423 $result = mb_substr_count($string, $find);
8424 $expected = 5;
8425 $this->assertEqual($result, $expected);
8426
8427 $string = '✰✱✲✳✿✴✵✶✷✸✿✹✺✻✼✽✾✿❀❁❂❃❄❅❆✿❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
8428 $find = '✿';
8429 $result = mb_substr_count($string, $find);
8430 $expected = 4;
8431 $this->assertEqual($result, $expected);
8432
8433 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺐⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺐⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⺐⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
8434 $find = '⺐';
8435 $result = mb_substr_count($string, $find);
8436 $expected = 4;
8437 $this->assertEqual($result, $expected);
8438
8439 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽤⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽤⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
8440 $find = '⽤';
8441 $result = mb_substr_count($string, $find);
8442 $expected = 3;
8443 $this->assertEqual($result, $expected);
8444
8445 $string = '눡눢눣눤눥눦눺눻눼눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕눺눻눼뉖뉗뉘뉙뉚뉛뉜뉝눺눻눼뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
8446 $find = '눺눻눼';
8447 $result = mb_substr_count($string, $find);
8448 $expected = 4;
8449 $this->assertEqual($result, $expected);
8450
8451 $string = 'ﺞﺟﺠﺡﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺞﺟﺠﺡﺆﺇﺞﺟﺠﺡﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
8452 $find = 'ﺞﺟﺠﺡ';
8453 $result = mb_substr_count($string, $find);
8454 $expected = 4;
8455 $this->assertEqual($result, $expected);
8456
8457 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﻞﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻞﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻞﻸﻹﻺﻞﻻﻼ';
8458 $find = 'ﻞ';
8459 $result = mb_substr_count($string, $find);
8460 $expected = 5;
8461 $this->assertEqual($result, $expected);
8462
8463 $string = 'abcdkefghijklmnopqrstuvwxkyz';
8464 $find = 'k';
8465 $result = mb_substr_count($string, $find);
8466 $expected = 3;
8467 $this->assertEqual($result, $expected);
8468
8469 $string = 'abklmcdefghijklmnopqrstuvklmwxyz';
8470 $find = 'klm';
8471 $result = mb_substr_count($string, $find);
8472 $expected = 3;
8473 $this->assertEqual($result, $expected);
8474
8475 $string = 'abcdppefghijklmnoppqrstuvwxyz';
8476 $find = 'ppe';
8477 $result = mb_substr_count($string, $find);
8478 $expected = 1;
8479 $this->assertEqual($result, $expected);
8480
8481 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
8482 $find = 'ア';
8483 $result = mb_substr_count($string, $find);
8484 $expected = 1;
8485 $this->assertEqual($result, $expected);
8486
8487 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
8488 $find = 'ハ';
8489 $result = mb_substr_count($string, $find);
8490 $expected = 1;
8491 $this->assertEqual($result, $expected);
8492
8493 $string = 'Ĥēĺļŏ, Ŵőřļď!';
8494 $find = 'ő';
8495 $result = mb_substr_count($string, $find);
8496 $expected = 1;
8497 $this->assertEqual($result, $expected);
8498
8499 $string = 'Ĥēĺļŏ, Ŵőřļď!';
8500 $find = 'ĺļ';
8501 $result = mb_substr_count($string, $find);
8502 $expected = 1;
8503 $this->assertEqual($result, $expected);
8504
8505 $string = 'Hello, World!';
8506 $find = 'o';
8507 $result = mb_substr_count($string, $find);
8508 $expected = 2;
8509 $this->assertEqual($result, $expected);
8510
8511 $string = 'Hello, World!';
8512 $find = 'rl';
8513 $result = mb_substr_count($string, $find);
8514 $expected = 1;
8515 $this->assertEqual($result, $expected);
8516
8517 $string = 'čini';
8518 $find = 'n';
8519 $result = mb_substr_count($string, $find);
8520 $expected = 1;
8521 $this->assertEqual($result, $expected);
8522
8523 $string = 'ničiničiini';
8524 $find = 'n';
8525 $result = mb_substr_count($string, $find);
8526 $expected = 3;
8527 $this->assertEqual($result, $expected);
8528
8529 $string = 'moći';
8530 $find = 'ć';
8531 $result = mb_substr_count($string, $find);
8532 $expected = 1;
8533 $this->assertEqual($result, $expected);
8534
8535 $string = 'moćimoćimoćmćioći';
8536 $find = 'ći';
8537 $result = mb_substr_count($string, $find);
8538 $expected = 4;
8539 $this->assertEqual($result, $expected);
8540
8541 $string = 'državni';
8542 $find = 'ž';
8543 $result = mb_substr_count($string, $find);
8544 $expected = 1;
8545 $this->assertEqual($result, $expected);
8546
8547 $string = '把百度设为首页';
8548 $find = '设';
8549 $result = mb_substr_count($string, $find);
8550 $expected = 1;
8551 $this->assertEqual($result, $expected);
8552
8553 $string = '一二三周永龍';
8554 $find = '周';
8555 $result = mb_substr_count($string, $find);
8556 $expected = 1;
8557 $this->assertEqual($result, $expected);
8558
8559 $string = 'Ĥēĺļŏ, Ŵőřļď!';
8560 $find = 'H';
8561 $result = mb_substr_count($string, $find);
8562 $expected = false;
8563 $this->assertEqual($result, $expected);
8564 }
8565
8566 /**
8567 * testMultibyteSubstrCount method
8568 *
8569 * @access public
8570 * @return void
8571 */
8572 function testMultibyteSubstrCount() {
8573 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
8574 $find = 'F';
8575 $result = Multibyte::substrCount($string, $find);
8576 $expected = 1;
8577 $this->assertEqual($result, $expected);
8578
8579 $string = 'ABCDEFGHIJKLMNOPQFRSFTUVWXYZ0F12345F6789';
8580 $find = 'F';
8581 $result = Multibyte::substrCount($string, $find);
8582 $expected = 5;
8583 $this->assertEqual($result, $expected);
8584
8585 $string = 'ÀÁÂÃÄÅÆÇÈÉÅÊËÌÍÎÏÐÑÒÓÔÅÕÖØÅÙÚÛÅÜÝÞ';
8586 $find = 'Å';
8587 $result = Multibyte::substrCount($string, $find);
8588 $expected = 5;
8589 $this->assertEqual($result, $expected);
8590
8591 $string = 'ÀÁÙÚÂÃÄÅÆÇÈÙÚÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞÙÚ';
8592 $find = 'ÙÚ';
8593 $result = Multibyte::substrCount($string, $find);
8594 $expected = 4;
8595 $this->assertEqual($result, $expected);
8596
8597 $string = 'ÀÁÂÃÄÅÆÇÈÉÊÅËÌÍÎÏÐÑÒÓÔÕÅÖØÅÙÚÅÛÜÅÝÞÅ';
8598 $find = 'Å';
8599 $result = Multibyte::substrCount($string, $find);
8600 $expected = 7;
8601 $this->assertEqual($result, $expected);
8602
8603 $string = 'ĊĀĂĄĆĈĊČĎĐĒĔĖĊĘĚĜĞĠĢĤĦĨĪĬĮĊIJĴĶĹĻĽĿŁŃŅŇŊŌĊŎŐŒŔŖŘŚŜŞŠŢĊŤŦŨŪŬŮŰĊŲŴŶŹŻŽ';
8604 $find = 'Ċ';
8605 $result = Multibyte::substrCount($string, $find);
8606 $expected = 7;
8607 $this->assertEqual($result, $expected);
8608
8609 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĊĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁĊŃŅĊŇŊŌŎŐŒŔŖĊŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
8610 $find = 'Ċ';
8611 $result = Multibyte::substrCount($string, $find);
8612 $expected = 5;
8613 $this->assertEqual($result, $expected);
8614
8615 $string = '!"#$%&\'()*+,-./012F34567F89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghiFjklmnopqFrstuvwFxyz{|}~';
8616 $find = 'F';
8617 $result = Multibyte::substrCount($string, $find);
8618 $expected = 6;
8619 $this->assertEqual($result, $expected);
8620
8621 $string = '¡¢£¤¥µ¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁµÂõÄÅÆǵÈ';
8622 $find = 'µ';
8623 $result = Multibyte::substrCount($string, $find);
8624 $expected = 5;
8625 $this->assertEqual($result, $expected);
8626
8627 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôÕÖõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉÕÖĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝÕÖĞğĠġĢģĤĥĦÕÖħĨĩĪīĬ';
8628 $find = 'ÕÖ';
8629 $result = Multibyte::substrCount($string, $find);
8630 $expected = 5;
8631 $this->assertEqual($result, $expected);
8632
8633 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōĵĶķĸĹŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšĵĶķĸĹŢţŤťŦŧŨũŪūŬŭŮůŰűŲųĵĶķĸĹŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
8634 $find = 'ĵĶķĸĹ';
8635 $result = Multibyte::substrCount($string, $find);
8636 $expected = 4;
8637 $this->assertEqual($result, $expected);
8638
8639 $string = 'ƑƒƓƔƕƖƸƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJƸNjnjǍǎǏǐǑǒǓƸǔǕǖǗǘǙǚƸǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
8640 $find = 'Ƹ';
8641 $result = Multibyte::substrCount($string, $find);
8642 $expected = 5;
8643 $this->assertEqual($result, $expected);
8644
8645 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƹƠơƢƣƤƥƦƧƨƩƹƪƫƬƭƮƯưƱƲƳƴƹƵƶƷƸƹƺƻƼƽƾƿǀǁǂƹǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
8646 $find = 'ƹ';
8647 $result = Multibyte::substrCount($string, $find);
8648 $expected = 5;
8649 $this->assertEqual($result, $expected);
8650
8651 $string = 'əɚɛɜɝɞʀɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʀʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʀʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʀʻʼ';
8652 $find = 'ʀ';
8653 $result = Multibyte::substrCount($string, $find);
8654 $expected = 5;
8655 $this->assertEqual($result, $expected);
8656
8657 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЇЎЏАБВГДЕЖЗИЙКЛ';
8658 $find = 'Ї';
8659 $result = Multibyte::substrCount($string, $find);
8660 $expected = 2;
8661 $this->assertEqual($result, $expected);
8662
8663 $string = 'МНОПРСРТУФХЦЧШЩЪЫЬРЭЮЯабРвгдежзийклРмнопрстуфхцчшщъыь';
8664 $find = 'Р';
8665 $result = Multibyte::substrCount($string, $find);
8666 $expected = 5;
8667 $this->assertEqual($result, $expected);
8668
8669 $string = 'МНОПРСрТУФХЦЧШЩЪЫрЬЭЮЯабвгдежзийклмнопррстуфхцчшщъыь';
8670 $find = 'р';
8671 $result = Multibyte::substrCount($string, $find);
8672 $expected = 4;
8673 $this->assertEqual($result, $expected);
8674
8675 $string = 'فنقكلنمنهونىينًٌٍَُ';
8676 $find = 'ن';
8677 $result = Multibyte::substrCount($string, $find);
8678 $expected = 5;
8679 $this->assertEqual($result, $expected);
8680
8681 $string = '✰✱✲✳✿✴✵✶✷✸✿✹✺✻✼✽✾✿❀❁❂❃❄❅❆✿❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
8682 $find = '✿';
8683 $result = Multibyte::substrCount($string, $find);
8684 $expected = 4;
8685 $this->assertEqual($result, $expected);
8686
8687 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺐⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺐⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⺐⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
8688 $find = '⺐';
8689 $result = Multibyte::substrCount($string, $find);
8690 $expected = 4;
8691 $this->assertEqual($result, $expected);
8692
8693 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽤⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽤⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
8694 $find = '⽤';
8695 $result = Multibyte::substrCount($string, $find);
8696 $expected = 3;
8697 $this->assertEqual($result, $expected);
8698
8699 $string = '눡눢눣눤눥눦눺눻눼눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕눺눻눼뉖뉗뉘뉙뉚뉛뉜뉝눺눻눼뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
8700 $find = '눺눻눼';
8701 $result = Multibyte::substrCount($string, $find);
8702 $expected = 4;
8703 $this->assertEqual($result, $expected);
8704
8705 $string = 'ﺞﺟﺠﺡﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺞﺟﺠﺡﺆﺇﺞﺟﺠﺡﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
8706 $find = 'ﺞﺟﺠﺡ';
8707 $result = Multibyte::substrCount($string, $find);
8708 $expected = 4;
8709 $this->assertEqual($result, $expected);
8710
8711 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﻞﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻞﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻞﻸﻹﻺﻞﻻﻼ';
8712 $find = 'ﻞ';
8713 $result = Multibyte::substrCount($string, $find);
8714 $expected = 5;
8715 $this->assertEqual($result, $expected);
8716
8717 $string = 'abcdkefghijklmnopqrstuvwxkyz';
8718 $find = 'k';
8719 $result = Multibyte::substrCount($string, $find);
8720 $expected = 3;
8721 $this->assertEqual($result, $expected);
8722
8723 $string = 'abklmcdefghijklmnopqrstuvklmwxyz';
8724 $find = 'klm';
8725 $result = Multibyte::substrCount($string, $find);
8726 $expected = 3;
8727 $this->assertEqual($result, $expected);
8728
8729 $string = 'abcdppefghijklmnoppqrstuvwxyz';
8730 $find = 'ppe';
8731 $result = Multibyte::substrCount($string, $find);
8732 $expected = 1;
8733 $this->assertEqual($result, $expected);
8734
8735 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
8736 $find = 'ア';
8737 $result = Multibyte::substrCount($string, $find);
8738 $expected = 1;
8739 $this->assertEqual($result, $expected);
8740
8741 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
8742 $find = 'ハ';
8743 $result = Multibyte::substrCount($string, $find);
8744 $expected = 1;
8745 $this->assertEqual($result, $expected);
8746
8747 $string = 'Ĥēĺļŏ, Ŵőřļď!';
8748 $find = 'ő';
8749 $result = Multibyte::substrCount($string, $find);
8750 $expected = 1;
8751 $this->assertEqual($result, $expected);
8752
8753 $string = 'Ĥēĺļŏ, Ŵőřļď!';
8754 $find = 'ĺļ';
8755 $result = Multibyte::substrCount($string, $find);
8756 $expected = 1;
8757 $this->assertEqual($result, $expected);
8758
8759 $string = 'Hello, World!';
8760 $find = 'o';
8761 $result = Multibyte::substrCount($string, $find);
8762 $expected = 2;
8763 $this->assertEqual($result, $expected);
8764
8765 $string = 'Hello, World!';
8766 $find = 'rl';
8767 $result = Multibyte::substrCount($string, $find);
8768 $expected = 1;
8769 $this->assertEqual($result, $expected);
8770
8771 $string = 'čini';
8772 $find = 'n';
8773 $result = Multibyte::substrCount($string, $find);
8774 $expected = 1;
8775 $this->assertEqual($result, $expected);
8776
8777 $string = 'ničiničiini';
8778 $find = 'n';
8779 $result = Multibyte::substrCount($string, $find);
8780 $expected = 3;
8781 $this->assertEqual($result, $expected);
8782
8783 $string = 'moći';
8784 $find = 'ć';
8785 $result = Multibyte::substrCount($string, $find);
8786 $expected = 1;
8787 $this->assertEqual($result, $expected);
8788
8789 $string = 'moćimoćimoćmćioći';
8790 $find = 'ći';
8791 $result = Multibyte::substrCount($string, $find);
8792 $expected = 4;
8793 $this->assertEqual($result, $expected);
8794
8795 $string = 'državni';
8796 $find = 'ž';
8797 $result = Multibyte::substrCount($string, $find);
8798 $expected = 1;
8799 $this->assertEqual($result, $expected);
8800
8801 $string = '把百度设为首页';
8802 $find = '设';
8803 $result = Multibyte::substrCount($string, $find);
8804 $expected = 1;
8805 $this->assertEqual($result, $expected);
8806
8807 $string = '一二三周永龍';
8808 $find = '周';
8809 $result = Multibyte::substrCount($string, $find);
8810 $expected = 1;
8811 $this->assertEqual($result, $expected);
8812
8813 $string = 'Ĥēĺļŏ, Ŵőřļď!';
8814 $find = 'H';
8815 $result = Multibyte::substrCount($string, $find);
8816 $expected = false;
8817 $this->assertEqual($result, $expected);
8818 }
8819
8820 /**
8821 * testUsingMbSubstr method
8822 *
8823 * @access public
8824 * @return void
8825 */
8826 function testUsingMbSubstr() {
8827 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
8828 $result = mb_substr($string, 4, 7);
8829 $expected = 'EFGHIJK';
8830 $this->assertEqual($result, $expected);
8831
8832 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
8833 $result = mb_substr($string, 4, 7);
8834 $expected = 'ÄÅÆÇÈÉÊ';
8835 $this->assertEqual($result, $expected);
8836
8837 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
8838 $find = 'Ċ';
8839 $result = mb_substr($string, 4, 7);
8840 $expected = 'ĈĊČĎĐĒĔ';
8841 $this->assertEqual($result, $expected);
8842
8843 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
8844 $result = mb_substr($string, 4, 7);
8845 $expected = '%&\'()*+';
8846 $this->assertEqual($result, $expected);
8847
8848 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
8849 $result = mb_substr($string, 4);
8850 $expected = '¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
8851 $this->assertEqual($result, $expected);
8852
8853 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
8854 $result = mb_substr($string, 4, 7);
8855 $expected = 'ÍÎÏÐÑÒÓ';
8856 $this->assertEqual($result, $expected);
8857
8858 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
8859 $result = mb_substr($string, 4, 7);
8860 $expected = 'ıIJijĴĵĶķ';
8861 $this->assertEqual($result, $expected);
8862
8863 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
8864 $result = mb_substr($string, 25);
8865 $expected = 'ƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
8866 $this->assertEqual($result, $expected);
8867
8868 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
8869 $result = mb_substr($string, 3);
8870 $expected = 'ɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
8871 $this->assertEqual($result, $expected);
8872
8873 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
8874 $result = mb_substr($string, 3);
8875 $expected = 'ЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
8876 $this->assertEqual($result, $expected);
8877
8878 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
8879 $result = mb_substr($string, 3, 16);
8880 $expected = 'ПРСТУФХЦЧШЩЪЫЬЭЮ';
8881 $this->assertEqual($result, $expected);
8882
8883 $string = 'فقكلمنهوىيًٌٍَُ';
8884 $result = mb_substr($string, 3, 6);
8885 $expected = 'لمنهوى';
8886 $this->assertEqual($result, $expected);
8887
8888 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
8889 $result = mb_substr($string, 6, 14);
8890 $expected = '✶✷✸✹✺✻✼✽✾✿❀❁❂❃';
8891 $this->assertEqual($result, $expected);
8892
8893 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
8894 $result = mb_substr($string, 8, 13);
8895 $expected = '⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔';
8896 $this->assertEqual($result, $expected);
8897
8898 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
8899 $result = mb_substr($string, 12, 24);
8900 $expected = '⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨';
8901 $this->assertEqual($result, $expected);
8902
8903 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
8904 $result = mb_substr($string, 12, 24);
8905 $expected = '눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄';
8906 $this->assertEqual($result, $expected);
8907
8908 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
8909 $result = mb_substr($string, 12);
8910 $expected = 'ﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
8911 $this->assertEqual($result, $expected);
8912
8913 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
8914 $result = mb_substr($string, 24, 12);
8915 $expected = 'ﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔ';
8916 $this->assertEqual($result, $expected);
8917
8918 $string = 'abcdefghijklmnopqrstuvwxyz';
8919 $result = mb_substr($string, 11, 2);
8920 $expected = 'lm';
8921 $this->assertEqual($result, $expected);
8922
8923 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
8924 $result = mb_substr($string, 7, 11);
8925 $expected = 'ィゥェォャュョッーアイ';
8926 $this->assertEqual($result, $expected);
8927
8928 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
8929 $result = mb_substr($string, 13, 13);
8930 $expected = 'ニヌネノハヒフヘホマミムメ';
8931 $this->assertEqual($result, $expected);
8932
8933 $string = 'Ĥēĺļŏ, Ŵőřļď!';
8934 $result = mb_substr($string, 3, 4);
8935 $expected = 'ļŏ, ';
8936 $this->assertEqual($result, $expected);
8937
8938 $string = 'Hello, World!';
8939 $result = mb_substr($string, 3, 4);
8940 $expected = 'lo, ';
8941 $this->assertEqual($result, $expected);
8942
8943 $string = 'čini';
8944 $result = mb_substr($string, 3);
8945 $expected = 'i';
8946 $this->assertEqual($result, $expected);
8947
8948 $string = 'moći';
8949 $result = mb_substr($string, 1);
8950 $expected = 'oći';
8951 $this->assertEqual($result, $expected);
8952
8953 $string = 'državni';
8954 $result = mb_substr($string, 0, 2);
8955 $expected = 'dr';
8956 $this->assertEqual($result, $expected);
8957
8958 $string = '把百度设为首页';
8959 $result = mb_substr($string, 3, 3);
8960 $expected = '设为首';
8961 $this->assertEqual($result, $expected);
8962
8963 $string = '一二三周永龍';
8964 $result = mb_substr($string, 0, 1);
8965 $expected = '一';
8966 $this->assertEqual($result, $expected);
8967
8968 $string = '一二三周永龍';
8969 $result = mb_substr($string, 6);
8970 $expected = false;
8971 $this->assertEqual($result, $expected);
8972
8973 $string = '一二三周永龍';
8974 $result = mb_substr($string, 0);
8975 $expected = '一二三周永龍';
8976 $this->assertEqual($result, $expected);
8977 }
8978
8979 /**
8980 * testMultibyteSubstr method
8981 *
8982 * @access public
8983 * @return void
8984 */
8985 function testMultibyteSubstr() {
8986 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
8987 $result = Multibyte::substr($string, 4, 7);
8988 $expected = 'EFGHIJK';
8989 $this->assertEqual($result, $expected);
8990
8991 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
8992 $result = Multibyte::substr($string, 4, 7);
8993 $expected = 'ÄÅÆÇÈÉÊ';
8994 $this->assertEqual($result, $expected);
8995
8996 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
8997 $find = 'Ċ';
8998 $result = Multibyte::substr($string, 4, 7);
8999 $expected = 'ĈĊČĎĐĒĔ';
9000 $this->assertEqual($result, $expected);
9001
9002 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
9003 $result = Multibyte::substr($string, 4, 7);
9004 $expected = '%&\'()*+';
9005 $this->assertEqual($result, $expected);
9006
9007 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
9008 $result = Multibyte::substr($string, 4);
9009 $expected = '¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
9010 $this->assertEqual($result, $expected);
9011
9012 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
9013 $result = Multibyte::substr($string, 4, 7);
9014 $expected = 'ÍÎÏÐÑÒÓ';
9015 $this->assertEqual($result, $expected);
9016
9017 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
9018 $result = Multibyte::substr($string, 4, 7);
9019 $expected = 'ıIJijĴĵĶķ';
9020 $this->assertEqual($result, $expected);
9021
9022 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
9023 $result = Multibyte::substr($string, 25);
9024 $expected = 'ƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
9025 $this->assertEqual($result, $expected);
9026
9027 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
9028 $result = Multibyte::substr($string, 3);
9029 $expected = 'ɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
9030 $this->assertEqual($result, $expected);
9031
9032 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
9033 $result = Multibyte::substr($string, 3);
9034 $expected = 'ЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
9035 $this->assertEqual($result, $expected);
9036
9037 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
9038 $result = Multibyte::substr($string, 3, 16);
9039 $expected = 'ПРСТУФХЦЧШЩЪЫЬЭЮ';
9040 $this->assertEqual($result, $expected);
9041
9042 $string = 'فقكلمنهوىيًٌٍَُ';
9043 $result = Multibyte::substr($string, 3, 6);
9044 $expected = 'لمنهوى';
9045 $this->assertEqual($result, $expected);
9046
9047 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
9048 $result = Multibyte::substr($string, 6, 14);
9049 $expected = '✶✷✸✹✺✻✼✽✾✿❀❁❂❃';
9050 $this->assertEqual($result, $expected);
9051
9052 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
9053 $result = Multibyte::substr($string, 8, 13);
9054 $expected = '⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔';
9055 $this->assertEqual($result, $expected);
9056
9057 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
9058 $result = Multibyte::substr($string, 12, 24);
9059 $expected = '⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨';
9060 $this->assertEqual($result, $expected);
9061
9062 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
9063 $result = Multibyte::substr($string, 12, 24);
9064 $expected = '눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄';
9065 $this->assertEqual($result, $expected);
9066
9067 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
9068 $result = Multibyte::substr($string, 12);
9069 $expected = 'ﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
9070 $this->assertEqual($result, $expected);
9071
9072 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
9073 $result = Multibyte::substr($string, 24, 12);
9074 $expected = 'ﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔ';
9075 $this->assertEqual($result, $expected);
9076
9077 $string = 'abcdefghijklmnopqrstuvwxyz';
9078 $result = Multibyte::substr($string, 11, 2);
9079 $expected = 'lm';
9080 $this->assertEqual($result, $expected);
9081
9082 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
9083 $result = Multibyte::substr($string, 7, 11);
9084 $expected = 'ィゥェォャュョッーアイ';
9085 $this->assertEqual($result, $expected);
9086
9087 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
9088 $result = Multibyte::substr($string, 13, 13);
9089 $expected = 'ニヌネノハヒフヘホマミムメ';
9090 $this->assertEqual($result, $expected);
9091
9092 $string = 'Ĥēĺļŏ, Ŵőřļď!';
9093 $result = Multibyte::substr($string, 3, 4);
9094 $expected = 'ļŏ, ';
9095 $this->assertEqual($result, $expected);
9096
9097 $string = 'Hello, World!';
9098 $result = Multibyte::substr($string, 3, 4);
9099 $expected = 'lo, ';
9100 $this->assertEqual($result, $expected);
9101
9102 $string = 'čini';
9103 $result = Multibyte::substr($string, 3);
9104 $expected = 'i';
9105 $this->assertEqual($result, $expected);
9106
9107 $string = 'moći';
9108 $result = Multibyte::substr($string, 1);
9109 $expected = 'oći';
9110 $this->assertEqual($result, $expected);
9111
9112 $string = 'državni';
9113 $result = Multibyte::substr($string, 0, 2);
9114 $expected = 'dr';
9115 $this->assertEqual($result, $expected);
9116
9117 $string = '把百度设为首页';
9118 $result = Multibyte::substr($string, 3, 3);
9119 $expected = '设为首';
9120 $this->assertEqual($result, $expected);
9121
9122 $string = '一二三周永龍';
9123 $result = Multibyte::substr($string, 0, 1);
9124 $expected = '一';
9125 $this->assertEqual($result, $expected);
9126
9127 $string = '一二三周永龍';
9128 $result = Multibyte::substr($string, 6);
9129 $expected = false;
9130 $this->assertEqual($result, $expected);
9131
9132 $string = '一二三周永龍';
9133 $result = Multibyte::substr($string, 0);
9134 $expected = '一二三周永龍';
9135 $this->assertEqual($result, $expected);
9136 }
9137
9138 /**
9139 * testMultibyteSubstr method
9140 *
9141 * @access public
9142 * @return void
9143 */
9144 function testMultibyteMimeEncode() {
9145 $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
9146 $result = Multibyte::mimeEncode($string);
9147 $this->assertEqual($result, $string);
9148
9149 $string = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ';
9150 $result = Multibyte::mimeEncode($string);
9151 $expected = '=?UTF-8?B?w4DDgcOCw4PDhMOFw4bDh8OIw4nDisOLw4zDjcOOw4/DkMORw5LDk8OUw5U=?=' . "\r\n" .
9152 ' =?UTF-8?B?w5bDmMOZw5rDm8Ocw53Dng==?=';
9153 $this->assertEqual($result, $expected);
9154 $result = Multibyte::mimeEncode($string, null, "\n");
9155 $expected = '=?UTF-8?B?w4DDgcOCw4PDhMOFw4bDh8OIw4nDisOLw4zDjcOOw4/DkMORw5LDk8OUw5U=?=' . "\n" .
9156 ' =?UTF-8?B?w5bDmMOZw5rDm8Ocw53Dng==?=';
9157 $this->assertEqual($result, $expected);
9158
9159 $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ';
9160 $result = Multibyte::mimeEncode($string);
9161 $expected = '=?UTF-8?B?xIDEgsSExIbEiMSKxIzEjsSQxJLElMSWxJjEmsScxJ7EoMSixKTEpsSoxKo=?=' . "\r\n" .
9162 ' =?UTF-8?B?xKzErsSyxLTEtsS5xLvEvcS/xYHFg8WFxYfFisWMxY7FkMWSxZTFlsWYxZo=?=' . "\r\n" .
9163 ' =?UTF-8?B?xZzFnsWgxaLFpMWmxajFqsWsxa7FsMWyxbTFtsW5xbvFvQ==?=';
9164 $this->assertEqual($result, $expected);
9165
9166 $string = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
9167 $result = Multibyte::mimeEncode($string);
9168 $expected = '=?UTF-8?B?ISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xN?=' . "\r\n" .
9169 ' =?UTF-8?B?Tk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6?=' . "\r\n" .
9170 ' =?UTF-8?B?e3x9fg==?=';
9171 $this->assertEqual($result, $expected);
9172
9173 $string = '¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ';
9174 $result = Multibyte::mimeEncode($string);
9175 $expected = '=?UTF-8?B?wqHCosKjwqTCpcKmwqfCqMKpwqrCq8Kswq3CrsKvwrDCscKywrPCtMK1wrY=?=' . "\r\n" .
9176 ' =?UTF-8?B?wrfCuMK5wrrCu8K8wr3CvsK/w4DDgcOCw4PDhMOFw4bDh8OI?=';
9177 $this->assertEqual($result, $expected);
9178
9179 $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬ';
9180 $result = Multibyte::mimeEncode($string);
9181 $expected = '=?UTF-8?B?w4nDisOLw4zDjcOOw4/DkMORw5LDk8OUw5XDlsOXw5jDmcOaw5vDnMOdw54=?=' . "\r\n" .
9182 ' =?UTF-8?B?w5/DoMOhw6LDo8Okw6XDpsOnw6jDqcOqw6vDrMOtw67Dr8Oww7HDssOzw7Q=?=' . "\r\n" .
9183 ' =?UTF-8?B?w7XDtsO3w7jDucO6w7vDvMO9w77Dv8SAxIHEgsSDxITEhcSGxIfEiMSJxIo=?=' . "\r\n" .
9184 ' =?UTF-8?B?xIvEjMSNxI7Ej8SQxJHEksSTxJTElcSWxJfEmMSZxJrEm8ScxJ3EnsSfxKA=?=' . "\r\n" .
9185 ' =?UTF-8?B?xKHEosSjxKTEpcSmxKfEqMSpxKrEq8Ss?=';
9186 $this->assertEqual($result, $expected);
9187
9188 $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ';
9189 $result = Multibyte::mimeEncode($string);
9190 $expected = '=?UTF-8?B?xK3ErsSvxLDEscSyxLPEtMS1xLbEt8S4xLnEusS7xLzEvcS+xL/FgMWBxYI=?=' . "\r\n" .
9191 ' =?UTF-8?B?xYPFhMWFxYbFh8WIxYnFisWLxYzFjcWOxY/FkMWRxZLFk8WUxZXFlsWXxZg=?=' . "\r\n" .
9192 ' =?UTF-8?B?xZnFmsWbxZzFncWexZ/FoMWhxaLFo8WkxaXFpsWnxajFqcWqxavFrMWtxa4=?=' . "\r\n" .
9193 ' =?UTF-8?B?xa/FsMWxxbLFs8W0xbXFtsW3xbjFucW6xbvFvMW9xb7Fv8aAxoHGgsaDxoQ=?=' . "\r\n" .
9194 ' =?UTF-8?B?xoXGhsaHxojGicaKxovGjMaNxo7Gj8aQ?=';
9195 $this->assertEqual($result, $expected);
9196
9197 $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ';
9198 $result = Multibyte::mimeEncode($string);
9199 $expected = '=?UTF-8?B?xpHGksaTxpTGlcaWxpfGmMaZxprGm8acxp3GnsafxqDGocaixqPGpMalxqY=?=' . "\r\n" .
9200 ' =?UTF-8?B?xqfGqMapxqrGq8asxq3GrsavxrDGscayxrPGtMa1xrbGt8a4xrnGusa7xrw=?=' . "\r\n" .
9201 ' =?UTF-8?B?xr3Gvsa/x4DHgceCx4PHhMeFx4bHh8eIx4nHiseLx4zHjceOx4/HkMeRx5I=?=' . "\r\n" .
9202 ' =?UTF-8?B?x5PHlMeVx5bHl8eYx5nHmsebx5zHnceex5/HoMehx6LHo8ekx6XHpsenx6g=?=' . "\r\n" .
9203 ' =?UTF-8?B?x6nHqserx6zHrceux6/HsMexx7LHs8e0?=';
9204 $this->assertEqual($result, $expected);
9205
9206 $string = 'əɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼ';
9207 $result = Multibyte::mimeEncode($string);
9208 $expected = '=?UTF-8?B?yZnJmsmbyZzJncmeyZ/JoMmhyaLJo8mkyaXJpsmnyajJqcmqyavJrMmtya4=?=' . "\r\n" .
9209 ' =?UTF-8?B?ya/JsMmxybLJs8m0ybXJtsm3ybjJucm6ybvJvMm9yb7Jv8qAyoHKgsqDyoQ=?=' . "\r\n" .
9210 ' =?UTF-8?B?yoXKhsqHyojKicqKyovKjMqNyo7Kj8qQypHKksqTypTKlcqWypfKmMqZypo=?=' . "\r\n" .
9211 ' =?UTF-8?B?ypvKnMqdyp7Kn8qgyqHKosqjyqTKpcqmyqfKqMqpyqrKq8qsyq3KrsqvyrA=?=' . "\r\n" .
9212 ' =?UTF-8?B?yrHKssqzyrTKtcq2yrfKuMq5yrrKu8q8?=';
9213 $this->assertEqual($result, $expected);
9214
9215 $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛ';
9216 $result = Multibyte::mimeEncode($string);
9217 $expected = '=?UTF-8?B?0IDQgdCC0IPQhNCF0IbQh9CI0InQitCL0IzQjdCO0I/QkNCR0JLQk9CU0JU=?=' . "\r\n" .
9218 ' =?UTF-8?B?0JbQl9CY0JnQmtCb?=';
9219 $this->assertEqual($result, $expected);
9220
9221 $string = 'МНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
9222 $result = Multibyte::mimeEncode($string);
9223 $expected = '=?UTF-8?B?0JzQndCe0J/QoNCh0KLQo9Ck0KXQptCn0KjQqdCq0KvQrNCt0K7Qr9Cw0LE=?=' . "\r\n" .
9224 ' =?UTF-8?B?0LLQs9C00LXQttC30LjQudC60LvQvNC90L7Qv9GA0YHRgtGD0YTRhdGG0Yc=?=' . "\r\n" .
9225 ' =?UTF-8?B?0YjRidGK0YvRjA==?=';
9226 $this->assertEqual($result, $expected);
9227
9228 $string = 'فقكلمنهوىيًٌٍَُ';
9229 $result = Multibyte::mimeEncode($string);
9230 $expected = '=?UTF-8?B?2YHZgtmD2YTZhdmG2YfZiNmJ2YrZi9mM2Y3ZjtmP?=';
9231 $this->assertEqual($result, $expected);
9232
9233 $string = '✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞';
9234 $result = Multibyte::mimeEncode($string);
9235 $expected = '=?UTF-8?B?4pyw4pyx4pyy4pyz4py04py14py24py34py44py54py64py74py84py94py+?=' . "\r\n" .
9236 ' =?UTF-8?B?4py/4p2A4p2B4p2C4p2D4p2E4p2F4p2G4p2H4p2I4p2J4p2K4p2L4p2M4p2N?=' . "\r\n" .
9237 ' =?UTF-8?B?4p2O4p2P4p2Q4p2R4p2S4p2T4p2U4p2V4p2W4p2X4p2Y4p2Z4p2a4p2b4p2c?=' . "\r\n" .
9238 ' =?UTF-8?B?4p2d4p2e?=';
9239 $this->assertEqual($result, $expected);
9240
9241 $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠';
9242 $result = Multibyte::mimeEncode($string);
9243 $expected = '=?UTF-8?B?4rqA4rqB4rqC4rqD4rqE4rqF4rqG4rqH4rqI4rqJ4rqK4rqL4rqM4rqN4rqO?=' . "\r\n" .
9244 ' =?UTF-8?B?4rqP4rqQ4rqR4rqS4rqT4rqU4rqV4rqW4rqX4rqY4rqZ4rqb4rqc4rqd4rqe?=' . "\r\n" .
9245 ' =?UTF-8?B?4rqf4rqg4rqh4rqi4rqj4rqk4rql4rqm4rqn4rqo4rqp4rqq4rqr4rqs4rqt?=' . "\r\n" .
9246 ' =?UTF-8?B?4rqu4rqv4rqw4rqx4rqy4rqz4rq04rq14rq24rq34rq44rq54rq64rq74rq8?=' . "\r\n" .
9247 ' =?UTF-8?B?4rq94rq+4rq/4ruA4ruB4ruC4ruD4ruE4ruF4ruG4ruH4ruI4ruJ4ruK4ruL?=' . "\r\n" .
9248 ' =?UTF-8?B?4ruM4ruN4ruO4ruP4ruQ4ruR4ruS4ruT4ruU4ruV4ruW4ruX4ruY4ruZ4rua?=' . "\r\n" .
9249 ' =?UTF-8?B?4rub4ruc4rud4rue4ruf4rug?=';
9250 $this->assertEqual($result, $expected);
9251
9252 $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿';
9253 $result = Multibyte::mimeEncode($string);
9254 $expected = '=?UTF-8?B?4r2F4r2G4r2H4r2I4r2J4r2K4r2L4r2M4r2N4r2O4r2P4r2Q4r2R4r2S4r2T?=' . "\r\n" .
9255 ' =?UTF-8?B?4r2U4r2V4r2W4r2X4r2Y4r2Z4r2a4r2b4r2c4r2d4r2e4r2f4r2g4r2h4r2i?=' . "\r\n" .
9256 ' =?UTF-8?B?4r2j4r2k4r2l4r2m4r2n4r2o4r2p4r2q4r2r4r2s4r2t4r2u4r2v4r2w4r2x?=' . "\r\n" .
9257 ' =?UTF-8?B?4r2y4r2z4r204r214r224r234r244r254r264r274r284r294r2+4r2/?=';
9258 $this->assertEqual($result, $expected);
9259
9260 $string = '눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄';
9261 $result = Multibyte::mimeEncode($string);
9262 $expected = '=?UTF-8?B?64ih64ii64ij64ik64il64im64in64io64ip64iq64ir64is64it64iu64iv?=' . "\r\n" .
9263 ' =?UTF-8?B?64iw64ix64iy64iz64i064i164i264i364i464i564i664i764i864i964i+?=' . "\r\n" .
9264 ' =?UTF-8?B?64i/64mA64mB64mC64mD64mE64mF64mG64mH64mI64mJ64mK64mL64mM64mN?=' . "\r\n" .
9265 ' =?UTF-8?B?64mO64mP64mQ64mR64mS64mT64mU64mV64mW64mX64mY64mZ64ma64mb64mc?=' . "\r\n" .
9266 ' =?UTF-8?B?64md64me64mf64mg64mh64mi64mj64mk64ml64mm64mn64mo64mp64mq64mr?=' . "\r\n" .
9267 ' =?UTF-8?B?64ms64mt64mu64mv64mw64mx64my64mz64m064m164m264m364m464m564m6?=' . "\r\n" .
9268 ' =?UTF-8?B?64m764m864m964m+64m/64qA64qB64qC64qD64qE?=';
9269 $this->assertEqual($result, $expected);
9270
9271 $string = 'ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ';
9272 $result = Multibyte::mimeEncode($string);
9273 $expected = '=?UTF-8?B?77mw77mx77my77mz77m077m177m277m377m477m577m677m777m877m977m+?=' . "\r\n" .
9274 ' =?UTF-8?B?77m/77qA77qB77qC77qD77qE77qF77qG77qH77qI77qJ77qK77qL77qM77qN?=' . "\r\n" .
9275 ' =?UTF-8?B?77qO77qP77qQ77qR77qS77qT77qU77qV77qW77qX77qY77qZ77qa77qb77qc?=' . "\r\n" .
9276 ' =?UTF-8?B?77qd77qe77qf77qg77qh77qi77qj77qk77ql77qm77qn77qo77qp77qq77qr?=' . "\r\n" .
9277 ' =?UTF-8?B?77qs77qt77qu77qv77qw?=';
9278 $this->assertEqual($result, $expected);
9279
9280 $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ';
9281 $result = Multibyte::mimeEncode($string);
9282 $expected = '=?UTF-8?B?77qx77qy77qz77q077q177q277q377q477q577q677q777q877q977q+77q/?=' . "\r\n" .
9283 ' =?UTF-8?B?77uA77uB77uC77uD77uE77uF77uG77uH77uI77uJ77uK77uL77uM77uN77uO?=' . "\r\n" .
9284 ' =?UTF-8?B?77uP77uQ77uR77uS77uT77uU77uV77uW77uX77uY77uZ77ua77ub77uc77ud?=' . "\r\n" .
9285 ' =?UTF-8?B?77ue77uf77ug77uh77ui77uj77uk77ul77um77un77uo77up77uq77ur77us?=' . "\r\n" .
9286 ' =?UTF-8?B?77ut77uu77uv77uw77ux77uy77uz77u077u177u277u377u477u577u677u7?=' . "\r\n" .
9287 ' =?UTF-8?B?77u8?=';
9288 $this->assertEqual($result, $expected);
9289
9290 $string = 'abcdefghijklmnopqrstuvwxyz';
9291 $result = Multibyte::mimeEncode($string);
9292 $expected = '=?UTF-8?B?772B772C772D772E772F772G772H772I772J772K772L772M772N772O772P?=' . "\r\n" .
9293 ' =?UTF-8?B?772Q772R772S772T772U772V772W772X772Y772Z772a?=';
9294 $this->assertEqual($result, $expected);
9295
9296 $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク';
9297 $result = Multibyte::mimeEncode($string);
9298 $expected = '=?UTF-8?B?772h772i772j772k772l772m772n772o772p772q772r772s772t772u772v?=' . "\r\n" .
9299 ' =?UTF-8?B?772w772x772y772z77207721772277237724?=';
9300 $this->assertEqual($result, $expected);
9301
9302 $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙';
9303 $result = Multibyte::mimeEncode($string);
9304 $expected = '=?UTF-8?B?77257726772777287729772+772/776A776B776C776D776E776F776G776H?=' . "\r\n" .
9305 ' =?UTF-8?B?776I776J776K776L776M776N776O776P776Q776R776S776T776U776V776W?=' . "\r\n" .
9306 ' =?UTF-8?B?776X776Y776Z776a776b776c776d776e?=';
9307 $this->assertEqual($result, $expected);
9308
9309 $string = 'Ĥēĺļŏ, Ŵőřļď!';
9310 $result = Multibyte::mimeEncode($string);
9311 $expected = '=?UTF-8?B?xKTEk8S6xLzFjywgxbTFkcWZxLzEjyE=?=';
9312 $this->assertEqual($result, $expected);
9313
9314 $string = 'Hello, World!';
9315 $result = Multibyte::mimeEncode($string);
9316 $this->assertEqual($result, $string);
9317
9318 $string = 'čini';
9319 $result = Multibyte::mimeEncode($string);
9320 $expected = '=?UTF-8?B?xI1pbmk=?=';
9321 $this->assertEqual($result, $expected);
9322
9323 $string = 'moći';
9324 $result = Multibyte::mimeEncode($string);
9325 $expected = '=?UTF-8?B?bW/Eh2k=?=';
9326 $this->assertEqual($result, $expected);
9327
9328 $string = 'državni';
9329 $result = Multibyte::mimeEncode($string);
9330 $expected = '=?UTF-8?B?ZHLFvmF2bmk=?=';
9331 $this->assertEqual($result, $expected);
9332
9333 $string = '把百度设为首页';
9334 $result = Multibyte::mimeEncode($string);
9335 $expected = '=?UTF-8?B?5oqK55m+5bqm6K6+5Li66aaW6aG1?=';
9336 $this->assertEqual($result, $expected);
9337
9338 $string = '一二三周永龍';
9339 $result = Multibyte::mimeEncode($string);
9340 $expected = '=?UTF-8?B?5LiA5LqM5LiJ5ZGo5rC46b6N?=';
9341 $this->assertEqual($result, $expected);
9342 }
9343 }