1/* 2********************************************************************** 3* Copyright (c) 2002-2005, International Business Machines 4* Corporation and others. All Rights Reserved. 5********************************************************************** 6********************************************************************** 7*/ 8/** 9 * This Program tests the performance of ICU's Normalization engine against Windows 10 * to run it use the command like 11 * 12 * c:\normperf.exe -s C:\work\ICUCupertinoRep\icu4c\collation-perf-data -i 10 -p 15 -f TestNames_Asian.txt -u -e UTF-8 -l 13 */ 14#include "convperf.h" 15#include "data.h" 16#include <stdio.h> 17 18int main(int argc, const char* argv[]){ 19 UErrorCode status = U_ZERO_ERROR; 20 ConverterPerformanceTest test(argc, argv, status); 21 if(U_FAILURE(status)){ 22 return status; 23 } 24 if(test.run()==FALSE){ 25 fprintf(stderr,"FAILED: Tests could not be run please check the arguments.\n"); 26 return -1; 27 } 28 return 0; 29} 30 31 32ConverterPerformanceTest::ConverterPerformanceTest(int32_t argc, const char* argv[], UErrorCode& status) 33: UPerfTest(argc,argv,status){ 34 35} 36 37ConverterPerformanceTest::~ConverterPerformanceTest(){ 38 39} 40 41UPerfFunction* ConverterPerformanceTest::runIndexedTest(int32_t index, UBool exec,const char* &name, char* par) { 42 switch (index) { 43 TESTCASE(0,TestICU_CleanOpenAllConverters);// This calls u_cleanup() 44 TESTCASE(1,TestICU_OpenAllConverters);// This doesn't call u_cleanup() 45 46 TESTCASE(2,TestICU_UTF8_ToUnicode); 47 TESTCASE(3,TestICU_UTF8_FromUnicode); 48 TESTCASE(4,TestWinANSI_UTF8_ToUnicode); 49 TESTCASE(5,TestWinANSI_UTF8_FromUnicode); 50 TESTCASE(6,TestWinIML2_UTF8_ToUnicode); 51 TESTCASE(7,TestWinIML2_UTF8_FromUnicode); 52 53 TESTCASE(8,TestICU_Latin1_ToUnicode); 54 TESTCASE(9,TestICU_Latin1_FromUnicode); 55 TESTCASE(10,TestWinIML2_Latin1_ToUnicode); 56 TESTCASE(11,TestWinIML2_Latin1_FromUnicode); 57 58 TESTCASE(12,TestICU_Latin8_ToUnicode); 59 TESTCASE(13,TestICU_Latin8_FromUnicode); 60 TESTCASE(14,TestWinIML2_Latin8_ToUnicode); 61 TESTCASE(15,TestWinIML2_Latin8_FromUnicode); 62 63 TESTCASE(16,TestICU_EBCDIC_Arabic_ToUnicode); 64 TESTCASE(17,TestICU_EBCDIC_Arabic_FromUnicode); 65 TESTCASE(18,TestWinIML2_EBCDIC_Arabic_ToUnicode); 66 TESTCASE(19,TestWinIML2_EBCDIC_Arabic_FromUnicode); 67 68 TESTCASE(20,TestICU_SJIS_ToUnicode); 69 TESTCASE(21,TestICU_SJIS_FromUnicode); 70 TESTCASE(22,TestWinIML2_SJIS_ToUnicode); 71 TESTCASE(23,TestWinIML2_SJIS_FromUnicode); 72 73 TESTCASE(24,TestICU_EUCJP_ToUnicode); 74 TESTCASE(25,TestICU_EUCJP_FromUnicode); 75 TESTCASE(26,TestWinIML2_EUCJP_ToUnicode); 76 TESTCASE(27,TestWinIML2_EUCJP_FromUnicode); 77 78 TESTCASE(28,TestICU_GB2312_FromUnicode); 79 TESTCASE(29,TestICU_GB2312_ToUnicode); 80 TESTCASE(30,TestWinIML2_GB2312_ToUnicode); 81 TESTCASE(31,TestWinIML2_GB2312_FromUnicode); 82 83 TESTCASE(32,TestICU_ISO2022KR_ToUnicode); 84 TESTCASE(33,TestICU_ISO2022KR_FromUnicode); 85 TESTCASE(34,TestWinIML2_ISO2022KR_ToUnicode); 86 TESTCASE(35,TestWinIML2_ISO2022KR_FromUnicode); 87 88 TESTCASE(36,TestICU_ISO2022JP_ToUnicode); 89 TESTCASE(37,TestICU_ISO2022JP_FromUnicode); 90 TESTCASE(38,TestWinIML2_ISO2022JP_ToUnicode); 91 TESTCASE(39,TestWinIML2_ISO2022JP_FromUnicode); 92 93 TESTCASE(40,TestWinANSI_Latin1_ToUnicode); 94 TESTCASE(41,TestWinANSI_Latin1_FromUnicode); 95 96 TESTCASE(42,TestWinANSI_Latin8_ToUnicode); 97 TESTCASE(43,TestWinANSI_Latin8_FromUnicode); 98 99 TESTCASE(44,TestWinANSI_SJIS_ToUnicode); 100 TESTCASE(45,TestWinANSI_SJIS_FromUnicode); 101 102 TESTCASE(46,TestWinANSI_EUCJP_ToUnicode); 103 TESTCASE(47,TestWinANSI_EUCJP_FromUnicode); 104 105 TESTCASE(48,TestWinANSI_GB2312_ToUnicode); 106 TESTCASE(49,TestWinANSI_GB2312_FromUnicode); 107 108 TESTCASE(50,TestWinANSI_ISO2022KR_ToUnicode); 109 TESTCASE(51,TestWinANSI_ISO2022KR_FromUnicode); 110 111 TESTCASE(52,TestWinANSI_ISO2022JP_ToUnicode); 112 TESTCASE(53,TestWinANSI_ISO2022JP_FromUnicode); 113 114 default: 115 name = ""; 116 return NULL; 117 } 118 return NULL; 119 120} 121 122UPerfFunction* ConverterPerformanceTest::TestICU_CleanOpenAllConverters() { 123 UErrorCode status = U_ZERO_ERROR; 124 UPerfFunction* pf = new ICUOpenAllConvertersFunction(TRUE, status); 125 if(U_FAILURE(status)){ 126 return NULL; 127 } 128 return pf; 129} 130 131UPerfFunction* ConverterPerformanceTest::TestICU_OpenAllConverters() { 132 UErrorCode status = U_ZERO_ERROR; 133 UPerfFunction* pf = new ICUOpenAllConvertersFunction(FALSE, status); 134 if(U_FAILURE(status)){ 135 return NULL; 136 } 137 return pf; 138} 139 140UPerfFunction* ConverterPerformanceTest::TestICU_UTF8_FromUnicode(){ 141 UErrorCode status = U_ZERO_ERROR; 142 ICUFromUnicodePerfFunction* pf = new ICUFromUnicodePerfFunction("utf-8",utf8_uniSource, LENGTHOF(utf8_uniSource), status); 143 if(U_FAILURE(status)){ 144 return NULL; 145 } 146 return pf; 147} 148 149UPerfFunction* ConverterPerformanceTest::TestICU_UTF8_ToUnicode(){ 150 UErrorCode status = U_ZERO_ERROR; 151 UPerfFunction* pf = new ICUToUnicodePerfFunction("utf-8",(char*)utf8_encSource, LENGTHOF(utf8_encSource), status); 152 if(U_FAILURE(status)){ 153 return NULL; 154 } 155 return pf; 156} 157 158 159UPerfFunction* ConverterPerformanceTest::TestWinIML2_UTF8_FromUnicode(){ 160 UErrorCode status = U_ZERO_ERROR; 161 UPerfFunction* pf = new WinIMultiLanguage2FromUnicodePerfFunction("utf-8",utf8_uniSource, LENGTHOF(utf8_uniSource), status); 162 if(U_FAILURE(status)){ 163 return NULL; 164 } 165 return pf; 166} 167 168UPerfFunction* ConverterPerformanceTest::TestWinIML2_UTF8_ToUnicode(){ 169 UErrorCode status = U_ZERO_ERROR; 170 UPerfFunction* pf = new WinIMultiLanguage2ToUnicodePerfFunction("utf-8",(char*)utf8_encSource, LENGTHOF(utf8_encSource), status); 171 if(U_FAILURE(status)){ 172 return NULL; 173 } 174 return pf; 175} 176 177UPerfFunction* ConverterPerformanceTest::TestWinANSI_UTF8_FromUnicode(){ 178 UErrorCode status = U_ZERO_ERROR; 179 UPerfFunction* pf = new WinANSIFromUnicodePerfFunction("utf-8",utf8_uniSource, LENGTHOF(utf8_uniSource), status); 180 if(U_FAILURE(status)){ 181 return NULL; 182 } 183 return pf; 184} 185 186UPerfFunction* ConverterPerformanceTest::TestWinANSI_UTF8_ToUnicode(){ 187 UErrorCode status = U_ZERO_ERROR; 188 UPerfFunction* pf = new WinANSIToUnicodePerfFunction("utf-8",(char*)utf8_encSource, LENGTHOF(utf8_encSource), status); 189 if(U_FAILURE(status)){ 190 return NULL; 191 } 192 return pf; 193} 194 195//################ 196 197UPerfFunction* ConverterPerformanceTest::TestICU_Latin1_FromUnicode(){ 198 UErrorCode status = U_ZERO_ERROR; 199 ICUFromUnicodePerfFunction* pf = new ICUFromUnicodePerfFunction("iso-8859-1",latin1_uniSource, LENGTHOF(latin1_uniSource), status); 200 if(U_FAILURE(status)){ 201 return NULL; 202 } 203 return pf; 204} 205 206UPerfFunction* ConverterPerformanceTest::TestICU_Latin1_ToUnicode(){ 207 UErrorCode status = U_ZERO_ERROR; 208 UPerfFunction* pf = new ICUToUnicodePerfFunction("iso-8859-1",(char*)latin1_encSource, LENGTHOF(latin1_encSource), status); 209 if(U_FAILURE(status)){ 210 return NULL; 211 } 212 return pf; 213} 214 215 216UPerfFunction* ConverterPerformanceTest::TestWinIML2_Latin1_FromUnicode(){ 217 UErrorCode status = U_ZERO_ERROR; 218 UPerfFunction* pf = new WinIMultiLanguage2FromUnicodePerfFunction("iso-8859-1",latin1_uniSource, LENGTHOF(latin1_uniSource), status); 219 if(U_FAILURE(status)){ 220 return NULL; 221 } 222 return pf; 223} 224 225UPerfFunction* ConverterPerformanceTest::TestWinIML2_Latin1_ToUnicode(){ 226 UErrorCode status = U_ZERO_ERROR; 227 UPerfFunction* pf = new WinIMultiLanguage2ToUnicodePerfFunction("iso-8859-1",(char*)latin1_encSource, LENGTHOF(latin1_encSource), status); 228 if(U_FAILURE(status)){ 229 return NULL; 230 } 231 return pf; 232} 233 234UPerfFunction* ConverterPerformanceTest::TestWinANSI_Latin1_FromUnicode(){ 235 UErrorCode status = U_ZERO_ERROR; 236 UPerfFunction* pf = new WinANSIFromUnicodePerfFunction("iso-8859-1",latin1_uniSource, LENGTHOF(latin1_uniSource), status); 237 if(U_FAILURE(status)){ 238 return NULL; 239 } 240 return pf; 241} 242 243UPerfFunction* ConverterPerformanceTest::TestWinANSI_Latin1_ToUnicode(){ 244 UErrorCode status = U_ZERO_ERROR; 245 UPerfFunction* pf = new WinANSIToUnicodePerfFunction("iso-8859-1",(char*)latin1_encSource, LENGTHOF(latin1_encSource), status); 246 if(U_FAILURE(status)){ 247 return NULL; 248 } 249 return pf; 250} 251 252//################## 253 254UPerfFunction* ConverterPerformanceTest::TestICU_Latin8_FromUnicode(){ 255 UErrorCode status = U_ZERO_ERROR; 256 ICUFromUnicodePerfFunction* pf = new ICUFromUnicodePerfFunction("iso-8859-8",latin8_uniSource, LENGTHOF(latin8_uniSource), status); 257 if(U_FAILURE(status)){ 258 return NULL; 259 } 260 return pf; 261} 262 263UPerfFunction* ConverterPerformanceTest::TestICU_Latin8_ToUnicode(){ 264 UErrorCode status = U_ZERO_ERROR; 265 UPerfFunction* pf = new ICUToUnicodePerfFunction("iso-8859-8",(char*)latin8_encSource, LENGTHOF(latin8_encSource), status); 266 if(U_FAILURE(status)){ 267 return NULL; 268 } 269 return pf; 270} 271 272 273UPerfFunction* ConverterPerformanceTest::TestWinIML2_Latin8_FromUnicode(){ 274 UErrorCode status = U_ZERO_ERROR; 275 UPerfFunction* pf = new WinIMultiLanguage2FromUnicodePerfFunction("iso-8859-8",latin8_uniSource, LENGTHOF(latin8_uniSource), status); 276 if(U_FAILURE(status)){ 277 return NULL; 278 } 279 return pf; 280} 281 282UPerfFunction* ConverterPerformanceTest::TestWinIML2_Latin8_ToUnicode(){ 283 UErrorCode status = U_ZERO_ERROR; 284 UPerfFunction* pf = new WinIMultiLanguage2ToUnicodePerfFunction("iso-8859-8",(char*)latin8_encSource, LENGTHOF(latin8_encSource), status); 285 if(U_FAILURE(status)){ 286 return NULL; 287 } 288 return pf; 289} 290UPerfFunction* ConverterPerformanceTest::TestWinANSI_Latin8_FromUnicode(){ 291 UErrorCode status = U_ZERO_ERROR; 292 UPerfFunction* pf = new WinANSIFromUnicodePerfFunction("iso-8859-8",latin8_uniSource, LENGTHOF(latin8_uniSource), status); 293 if(U_FAILURE(status)){ 294 return NULL; 295 } 296 return pf; 297} 298 299UPerfFunction* ConverterPerformanceTest::TestWinANSI_Latin8_ToUnicode(){ 300 UErrorCode status = U_ZERO_ERROR; 301 UPerfFunction* pf = new WinANSIToUnicodePerfFunction("iso-8859-8",(char*)latin8_encSource, LENGTHOF(latin8_encSource), status); 302 if(U_FAILURE(status)){ 303 return NULL; 304 } 305 return pf; 306} 307 308//################# 309 310 311UPerfFunction* ConverterPerformanceTest::TestICU_EBCDIC_Arabic_FromUnicode(){ 312 UErrorCode status = U_ZERO_ERROR; 313 ICUFromUnicodePerfFunction* pf = new ICUFromUnicodePerfFunction("x-EBCDIC-Arabic",ebcdic_arabic_uniSource, LENGTHOF(ebcdic_arabic_uniSource), status); 314 if(U_FAILURE(status)){ 315 return NULL; 316 } 317 return pf; 318} 319 320UPerfFunction* ConverterPerformanceTest::TestICU_EBCDIC_Arabic_ToUnicode(){ 321 UErrorCode status = U_ZERO_ERROR; 322 UPerfFunction* pf = new ICUToUnicodePerfFunction("x-EBCDIC-Arabic",(char*)ebcdic_arabic_encSource, LENGTHOF(ebcdic_arabic_encSource), status); 323 if(U_FAILURE(status)){ 324 return NULL; 325 } 326 return pf; 327} 328 329 330UPerfFunction* ConverterPerformanceTest::TestWinIML2_EBCDIC_Arabic_FromUnicode(){ 331 UErrorCode status = U_ZERO_ERROR; 332 UPerfFunction* pf = new WinIMultiLanguage2FromUnicodePerfFunction("x-EBCDIC-Arabic",ebcdic_arabic_uniSource, LENGTHOF(ebcdic_arabic_uniSource), status); 333 if(U_FAILURE(status)){ 334 return NULL; 335 } 336 return pf; 337} 338 339UPerfFunction* ConverterPerformanceTest::TestWinIML2_EBCDIC_Arabic_ToUnicode(){ 340 UErrorCode status = U_ZERO_ERROR; 341 UPerfFunction* pf = new WinIMultiLanguage2ToUnicodePerfFunction("x-EBCDIC-Arabic",(char*)ebcdic_arabic_encSource, LENGTHOF(ebcdic_arabic_encSource), status); 342 if(U_FAILURE(status)){ 343 return NULL; 344 } 345 return pf; 346} 347 348UPerfFunction* ConverterPerformanceTest::TestWinANSI_EBCDIC_Arabic_FromUnicode(){ 349 UErrorCode status = U_ZERO_ERROR; 350 UPerfFunction* pf = new WinANSIFromUnicodePerfFunction("x-EBCDIC-Arabic",ebcdic_arabic_uniSource, LENGTHOF(ebcdic_arabic_uniSource), status); 351 if(U_FAILURE(status)){ 352 return NULL; 353 } 354 return pf; 355} 356 357UPerfFunction* ConverterPerformanceTest::TestWinANSI_EBCDIC_Arabic_ToUnicode(){ 358 UErrorCode status = U_ZERO_ERROR; 359 UPerfFunction* pf = new WinANSIToUnicodePerfFunction("x-EBCDIC-Arabic",(char*)ebcdic_arabic_encSource, LENGTHOF(ebcdic_arabic_encSource), status); 360 if(U_FAILURE(status)){ 361 return NULL; 362 } 363 return pf; 364} 365//################# 366 367 368UPerfFunction* ConverterPerformanceTest::TestICU_SJIS_FromUnicode(){ 369 UErrorCode status = U_ZERO_ERROR; 370 ICUFromUnicodePerfFunction* pf = new ICUFromUnicodePerfFunction("sjis",sjis_uniSource, LENGTHOF(sjis_uniSource), status); 371 if(U_FAILURE(status)){ 372 return NULL; 373 } 374 return pf; 375} 376 377UPerfFunction* ConverterPerformanceTest::TestICU_SJIS_ToUnicode(){ 378 UErrorCode status = U_ZERO_ERROR; 379 UPerfFunction* pf = new ICUToUnicodePerfFunction("sjis",(char*)sjis_encSource, LENGTHOF(sjis_encSource), status); 380 if(U_FAILURE(status)){ 381 return NULL; 382 } 383 return pf; 384} 385 386 387UPerfFunction* ConverterPerformanceTest::TestWinIML2_SJIS_FromUnicode(){ 388 UErrorCode status = U_ZERO_ERROR; 389 UPerfFunction* pf = new WinIMultiLanguage2FromUnicodePerfFunction("sjis",sjis_uniSource, LENGTHOF(sjis_uniSource), status); 390 if(U_FAILURE(status)){ 391 return NULL; 392 } 393 return pf; 394} 395 396UPerfFunction* ConverterPerformanceTest::TestWinIML2_SJIS_ToUnicode(){ 397 UErrorCode status = U_ZERO_ERROR; 398 UPerfFunction* pf = new WinIMultiLanguage2ToUnicodePerfFunction("sjis",(char*)sjis_encSource, LENGTHOF(sjis_encSource), status); 399 if(U_FAILURE(status)){ 400 return NULL; 401 } 402 return pf; 403} 404 405UPerfFunction* ConverterPerformanceTest::TestWinANSI_SJIS_FromUnicode(){ 406 UErrorCode status = U_ZERO_ERROR; 407 UPerfFunction* pf = new WinANSIFromUnicodePerfFunction("sjis",sjis_uniSource, LENGTHOF(sjis_uniSource), status); 408 if(U_FAILURE(status)){ 409 return NULL; 410 } 411 return pf; 412} 413 414UPerfFunction* ConverterPerformanceTest::TestWinANSI_SJIS_ToUnicode(){ 415 UErrorCode status = U_ZERO_ERROR; 416 UPerfFunction* pf = new WinANSIToUnicodePerfFunction("sjis",(char*)sjis_encSource, LENGTHOF(sjis_encSource), status); 417 if(U_FAILURE(status)){ 418 return NULL; 419 } 420 return pf; 421} 422 423 424//################# 425 426 427UPerfFunction* ConverterPerformanceTest::TestICU_EUCJP_FromUnicode(){ 428 UErrorCode status = U_ZERO_ERROR; 429 ICUFromUnicodePerfFunction* pf = new ICUFromUnicodePerfFunction("euc-jp",eucjp_uniSource, LENGTHOF(eucjp_uniSource), status); 430 if(U_FAILURE(status)){ 431 return NULL; 432 } 433 return pf; 434} 435 436UPerfFunction* ConverterPerformanceTest::TestICU_EUCJP_ToUnicode(){ 437 UErrorCode status = U_ZERO_ERROR; 438 UPerfFunction* pf = new ICUToUnicodePerfFunction("euc-jp",(char*)eucjp_encSource, LENGTHOF(eucjp_encSource), status); 439 if(U_FAILURE(status)){ 440 return NULL; 441 } 442 return pf; 443} 444 445 446UPerfFunction* ConverterPerformanceTest::TestWinIML2_EUCJP_FromUnicode(){ 447 UErrorCode status = U_ZERO_ERROR; 448 UPerfFunction* pf = new WinIMultiLanguage2FromUnicodePerfFunction("euc-jp",eucjp_uniSource, LENGTHOF(eucjp_uniSource), status); 449 if(U_FAILURE(status)){ 450 return NULL; 451 } 452 return pf; 453} 454 455UPerfFunction* ConverterPerformanceTest::TestWinIML2_EUCJP_ToUnicode(){ 456 UErrorCode status = U_ZERO_ERROR; 457 UPerfFunction* pf = new WinIMultiLanguage2ToUnicodePerfFunction("euc-jp",(char*)eucjp_encSource, LENGTHOF(eucjp_encSource), status); 458 if(U_FAILURE(status)){ 459 return NULL; 460 } 461 return pf; 462} 463 464UPerfFunction* ConverterPerformanceTest::TestWinANSI_EUCJP_FromUnicode(){ 465 UErrorCode status = U_ZERO_ERROR; 466 UPerfFunction* pf = new WinANSIFromUnicodePerfFunction("euc-jp",eucjp_uniSource, LENGTHOF(eucjp_uniSource), status); 467 if(U_FAILURE(status)){ 468 return NULL; 469 } 470 return pf; 471} 472 473UPerfFunction* ConverterPerformanceTest::TestWinANSI_EUCJP_ToUnicode(){ 474 UErrorCode status = U_ZERO_ERROR; 475 UPerfFunction* pf = new WinANSIToUnicodePerfFunction("euc-jp",(char*)eucjp_encSource, LENGTHOF(eucjp_encSource), status); 476 if(U_FAILURE(status)){ 477 return NULL; 478 } 479 return pf; 480} 481 482 483//################# 484 485 486UPerfFunction* ConverterPerformanceTest::TestICU_GB2312_FromUnicode(){ 487 UErrorCode status = U_ZERO_ERROR; 488 ICUFromUnicodePerfFunction* pf = new ICUFromUnicodePerfFunction("gb2312",gb2312_uniSource, LENGTHOF(gb2312_uniSource), status); 489 if(U_FAILURE(status)){ 490 return NULL; 491 } 492 return pf; 493} 494 495UPerfFunction* ConverterPerformanceTest::TestICU_GB2312_ToUnicode(){ 496 UErrorCode status = U_ZERO_ERROR; 497 UPerfFunction* pf = new ICUToUnicodePerfFunction("gb2312",(char*)gb2312_encSource, LENGTHOF(gb2312_encSource), status); 498 if(U_FAILURE(status)){ 499 return NULL; 500 } 501 return pf; 502} 503 504 505UPerfFunction* ConverterPerformanceTest::TestWinIML2_GB2312_FromUnicode(){ 506 UErrorCode status = U_ZERO_ERROR; 507 UPerfFunction* pf = new WinIMultiLanguage2FromUnicodePerfFunction("gb2312",gb2312_uniSource, LENGTHOF(gb2312_uniSource), status); 508 if(U_FAILURE(status)){ 509 return NULL; 510 } 511 return pf; 512} 513 514UPerfFunction* ConverterPerformanceTest::TestWinIML2_GB2312_ToUnicode(){ 515 UErrorCode status = U_ZERO_ERROR; 516 UPerfFunction* pf = new WinIMultiLanguage2ToUnicodePerfFunction("gb2312",(char*)gb2312_encSource, LENGTHOF(gb2312_encSource), status); 517 if(U_FAILURE(status)){ 518 return NULL; 519 } 520 return pf; 521} 522 523UPerfFunction* ConverterPerformanceTest::TestWinANSI_GB2312_FromUnicode(){ 524 UErrorCode status = U_ZERO_ERROR; 525 UPerfFunction* pf = new WinANSIFromUnicodePerfFunction("gb2312",gb2312_uniSource, LENGTHOF(gb2312_uniSource), status); 526 if(U_FAILURE(status)){ 527 return NULL; 528 } 529 return pf; 530} 531 532UPerfFunction* ConverterPerformanceTest::TestWinANSI_GB2312_ToUnicode(){ 533 UErrorCode status = U_ZERO_ERROR; 534 UPerfFunction* pf = new WinANSIToUnicodePerfFunction("gb2312",(char*)gb2312_encSource, LENGTHOF(gb2312_encSource), status); 535 if(U_FAILURE(status)){ 536 return NULL; 537 } 538 return pf; 539} 540 541//################# 542 543 544UPerfFunction* ConverterPerformanceTest::TestICU_ISO2022KR_FromUnicode(){ 545 UErrorCode status = U_ZERO_ERROR; 546 ICUFromUnicodePerfFunction* pf = new ICUFromUnicodePerfFunction("iso-2022-kr",iso2022kr_uniSource, LENGTHOF(iso2022kr_uniSource), status); 547 if(U_FAILURE(status)){ 548 return NULL; 549 } 550 return pf; 551} 552 553UPerfFunction* ConverterPerformanceTest::TestICU_ISO2022KR_ToUnicode(){ 554 UErrorCode status = U_ZERO_ERROR; 555 UPerfFunction* pf = new ICUToUnicodePerfFunction("iso-2022-kr",(char*)iso2022kr_encSource, LENGTHOF(iso2022kr_encSource), status); 556 if(U_FAILURE(status)){ 557 return NULL; 558 } 559 return pf; 560} 561 562 563UPerfFunction* ConverterPerformanceTest::TestWinIML2_ISO2022KR_FromUnicode(){ 564 UErrorCode status = U_ZERO_ERROR; 565 UPerfFunction* pf = new WinIMultiLanguage2FromUnicodePerfFunction("iso-2022-kr",iso2022kr_uniSource, LENGTHOF(iso2022kr_uniSource), status); 566 if(U_FAILURE(status)){ 567 return NULL; 568 } 569 return pf; 570} 571 572UPerfFunction* ConverterPerformanceTest::TestWinIML2_ISO2022KR_ToUnicode(){ 573 UErrorCode status = U_ZERO_ERROR; 574 UPerfFunction* pf = new WinIMultiLanguage2ToUnicodePerfFunction("iso-2022-kr",(char*)iso2022kr_encSource, LENGTHOF(iso2022kr_encSource), status); 575 if(U_FAILURE(status)){ 576 return NULL; 577 } 578 return pf; 579} 580 581UPerfFunction* ConverterPerformanceTest::TestWinANSI_ISO2022KR_FromUnicode(){ 582 UErrorCode status = U_ZERO_ERROR; 583 UPerfFunction* pf = new WinANSIFromUnicodePerfFunction("iso-2022-kr",iso2022kr_uniSource, LENGTHOF(iso2022kr_uniSource), status); 584 if(U_FAILURE(status)){ 585 return NULL; 586 } 587 return pf; 588} 589 590UPerfFunction* ConverterPerformanceTest::TestWinANSI_ISO2022KR_ToUnicode(){ 591 UErrorCode status = U_ZERO_ERROR; 592 UPerfFunction* pf = new WinANSIToUnicodePerfFunction("iso-2022-kr",(char*)iso2022kr_encSource, LENGTHOF(iso2022kr_encSource), status); 593 if(U_FAILURE(status)){ 594 return NULL; 595 } 596 return pf; 597} 598//################# 599 600 601UPerfFunction* ConverterPerformanceTest::TestICU_ISO2022JP_FromUnicode(){ 602 UErrorCode status = U_ZERO_ERROR; 603 ICUFromUnicodePerfFunction* pf = new ICUFromUnicodePerfFunction("iso-2022-jp",iso2022jp_uniSource, LENGTHOF(iso2022jp_uniSource), status); 604 if(U_FAILURE(status)){ 605 return NULL; 606 } 607 return pf; 608} 609 610UPerfFunction* ConverterPerformanceTest::TestICU_ISO2022JP_ToUnicode(){ 611 UErrorCode status = U_ZERO_ERROR; 612 UPerfFunction* pf = new ICUToUnicodePerfFunction("iso-2022-jp",(char*)iso2022jp_encSource, LENGTHOF(iso2022jp_encSource), status); 613 if(U_FAILURE(status)){ 614 return NULL; 615 } 616 return pf; 617} 618 619 620UPerfFunction* ConverterPerformanceTest::TestWinIML2_ISO2022JP_FromUnicode(){ 621 UErrorCode status = U_ZERO_ERROR; 622 UPerfFunction* pf = new WinIMultiLanguage2FromUnicodePerfFunction("iso-2022-jp",iso2022jp_uniSource, LENGTHOF(iso2022jp_uniSource), status); 623 if(U_FAILURE(status)){ 624 return NULL; 625 } 626 return pf; 627} 628 629UPerfFunction* ConverterPerformanceTest::TestWinIML2_ISO2022JP_ToUnicode(){ 630 UErrorCode status = U_ZERO_ERROR; 631 UPerfFunction* pf = new WinIMultiLanguage2ToUnicodePerfFunction("iso-2022-jp",(char*)iso2022jp_encSource, LENGTHOF(iso2022jp_encSource), status); 632 if(U_FAILURE(status)){ 633 return NULL; 634 } 635 return pf; 636} 637 638UPerfFunction* ConverterPerformanceTest::TestWinANSI_ISO2022JP_FromUnicode(){ 639 UErrorCode status = U_ZERO_ERROR; 640 UPerfFunction* pf = new WinANSIFromUnicodePerfFunction("iso-2022-jp",iso2022jp_uniSource, LENGTHOF(iso2022jp_uniSource), status); 641 if(U_FAILURE(status)){ 642 return NULL; 643 } 644 return pf; 645} 646 647UPerfFunction* ConverterPerformanceTest::TestWinANSI_ISO2022JP_ToUnicode(){ 648 UErrorCode status = U_ZERO_ERROR; 649 UPerfFunction* pf = new WinANSIToUnicodePerfFunction("iso-2022-jp",(char*)iso2022jp_encSource, LENGTHOF(iso2022jp_encSource), status); 650 if(U_FAILURE(status)){ 651 return NULL; 652 } 653 return pf; 654}