Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(128)

Side by Side Diff: source/test/intltest/tmsgfmt.cpp

Issue 1621843002: ICU 56 update step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@561
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « source/test/intltest/thcoll.cpp ('k') | source/test/intltest/tsmthred.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /******************************************************************** 1 /********************************************************************
2 * COPYRIGHT: 2 * COPYRIGHT:
3 * Copyright (c) 1997-2014, International Business Machines Corporation and 3 * Copyright (c) 1997-2015, International Business Machines Corporation and
4 * others. All Rights Reserved. 4 * others. All Rights Reserved.
5 ******************************************************************** 5 ********************************************************************
6 * File TMSGFMT.CPP 6 * File TMSGFMT.CPP
7 * 7 *
8 * Modification History: 8 * Modification History:
9 * 9 *
10 * Date Name Description 10 * Date Name Description
11 * 03/24/97 helena Converted from Java. 11 * 03/24/97 helena Converted from Java.
12 * 07/11/97 helena Updated to work on AIX. 12 * 07/11/97 helena Updated to work on AIX.
13 * 08/04/97 jfitz Updated to intltest 13 * 08/04/97 jfitz Updated to intltest
(...skipping 1504 matching lines...) Expand 10 before | Expand all | Expand 10 after
1518 // decimal values do not format completely for ordinal or duration, and 1518 // decimal values do not format completely for ordinal or duration, and
1519 // do not always parse, so do not include them 1519 // do not always parse, so do not include them
1520 "0", "1", "12", "100", "123", "1001", "123,456", "-17", 1520 "0", "1", "12", "100", "123", "1001", "123,456", "-17",
1521 }; 1521 };
1522 int32_t values_count = sizeof(values)/sizeof(values[0]); 1522 int32_t values_count = sizeof(values)/sizeof(values[0]);
1523 1523
1524 UnicodeString formats[] = { 1524 UnicodeString formats[] = {
1525 "There are {0,spellout} files to search.", 1525 "There are {0,spellout} files to search.",
1526 "There are {0,spellout,%simplified} files to search.", 1526 "There are {0,spellout,%simplified} files to search.",
1527 "The bogus spellout {0,spellout,%BOGUS} files behaves like the default." , 1527 "The bogus spellout {0,spellout,%BOGUS} files behaves like the default." ,
1528 "This is the {0,ordinal} file to search.", // TODO fix bug, ordinal does not parse 1528 "This is the {0,ordinal} file to search.",
1529 "Searching this file will take {0,duration} to complete.", 1529 "Searching this file will take {0,duration} to complete.",
1530 "Searching this file will take {0,duration,%with-words} to complete.", 1530 "Searching this file will take {0,duration,%with-words} to complete.",
1531 }; 1531 };
1532 int32_t formats_count = sizeof(formats)/sizeof(formats[0]); 1532 int32_t formats_count = sizeof(formats)/sizeof(formats[0]);
1533 1533
1534 Formattable args[1]; 1534 Formattable args[1];
1535 1535
1536 NumberFormat* numFmt = NumberFormat::createInstance(locale, ec); 1536 NumberFormat* numFmt = NumberFormat::createInstance(locale, ec);
1537 if (U_FAILURE(ec)) { 1537 if (U_FAILURE(ec)) {
1538 dataerrln("Error calling NumberFormat::createInstance()"); 1538 dataerrln("Error calling NumberFormat::createInstance()");
1539 return; 1539 return;
1540 } 1540 }
1541 1541
1542 for (int i = 0; i < formats_count; ++i) { 1542 for (int i = 0; i < formats_count; ++i) {
1543 MessageFormat* fmt = new MessageFormat(formats[i], locale, ec); 1543 MessageFormat* fmt = new MessageFormat(formats[i], locale, ec);
1544 logln((UnicodeString)"Testing format pattern: '" + formats[i] + "'"); 1544 logln((UnicodeString)"Testing format pattern: '" + formats[i] + "'");
1545 1545
1546 for (int j = 0; j < values_count; ++j) { 1546 for (int j = 0; j < values_count; ++j) {
1547 ec = U_ZERO_ERROR; 1547 ec = U_ZERO_ERROR;
1548 numFmt->parse(values[j], args[0], ec); 1548 numFmt->parse(values[j], args[0], ec);
1549 if (U_FAILURE(ec)) { 1549 if (U_FAILURE(ec)) {
1550 errln((UnicodeString)"Failed to parse test argument " + values[j ]); 1550 errln((UnicodeString)"Failed to parse test argument " + values[j ]);
1551 } else { 1551 } else {
1552 FieldPosition fp(0); 1552 FieldPosition fp(0);
1553 UnicodeString result; 1553 UnicodeString result;
1554 fmt->format(args, 1, result, fp, ec); 1554 fmt->format(args, 1, result, fp, ec);
1555 logln((UnicodeString)"value: " + toString(args[0]) + " --> " + r esult + UnicodeString(" ec: ") + u_errorName(ec)); 1555 logln((UnicodeString)"value: " + toString(args[0]) + " --> " + r esult + UnicodeString(" ec: ") + u_errorName(ec));
1556 1556
1557 if (i != 3) { // TODO: fix this, for now skip ordinal parsing (f ormat string at index 3) 1557 int32_t count = 0;
1558 int32_t count = 0; 1558 Formattable* parseResult = fmt->parse(result, count, ec);
1559 Formattable* parseResult = fmt->parse(result, count, ec); 1559 if (count != 1) {
1560 if (count != 1) { 1560 errln((UnicodeString)"parse returned " + count + " args");
1561 errln((UnicodeString)"parse returned " + count + " args" ); 1561 } else if (parseResult[0] != args[0]) {
1562 } else if (parseResult[0] != args[0]) { 1562 errln((UnicodeString)"parsed argument " + toString(parseResu lt[0]) + " != " + toString(args[0]));
1563 errln((UnicodeString)"parsed argument " + toString(parse Result[0]) + " != " + toString(args[0]));
1564 }
1565 delete []parseResult;
1566 } 1563 }
1564 delete []parseResult;
1567 } 1565 }
1568 } 1566 }
1569 delete fmt; 1567 delete fmt;
1570 } 1568 }
1571 delete numFmt; 1569 delete numFmt;
1572 } 1570 }
1573 1571
1574 UnicodeString TestMessageFormat::GetPatternAndSkipSyntax(const MessagePattern& p attern) { 1572 UnicodeString TestMessageFormat::GetPatternAndSkipSyntax(const MessagePattern& p attern) {
1575 UnicodeString us(pattern.getPatternString()); 1573 UnicodeString us(pattern.getPatternString());
1576 int count = pattern.countParts(); 1574 int count = pattern.countParts();
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
1957 m2.format(args, 1, result, ignore, errorCode), TRUE); 1955 m2.format(args, 1, result, ignore, errorCode), TRUE);
1958 1956
1959 args[0] = (double)2.5; 1957 args[0] = (double)2.5;
1960 result.remove(); 1958 result.remove();
1961 assertEquals("offset-decimals format(1)", "2.5 meters", 1959 assertEquals("offset-decimals format(1)", "2.5 meters",
1962 m2.format(args, 1, result, ignore, errorCode), TRUE); 1960 m2.format(args, 1, result, ignore, errorCode), TRUE);
1963 errorCode.reset(); 1961 errorCode.reset();
1964 } 1962 }
1965 1963
1966 #endif /* #if !UCONFIG_NO_FORMATTING */ 1964 #endif /* #if !UCONFIG_NO_FORMATTING */
OLDNEW
« no previous file with comments | « source/test/intltest/thcoll.cpp ('k') | source/test/intltest/tsmthred.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698