~tsep-dev/tsep/0.9-beta

« back to all changes in this revision

Viewing changes to branches/symfony/cake/tests/cases/libs/multibyte.test.php

  • Committer: geoffreyfishing
  • Date: 2011-01-11 23:46:12 UTC
  • Revision ID: svn-v4:ae0de26e-ed09-4cbe-9a20-e40b4c60ac6c::125
Created a symfony branch for future migration to symfony

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
}