1c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 2c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru/******************************************************************** 3c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru * COPYRIGHT: 41b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * Copyright (c) 1997-2015, International Business Machines Corporation and 5c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru * others. All Rights Reserved. 6c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru ********************************************************************/ 7c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#include "unicode/utypes.h" 9c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 10c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#if !UCONFIG_NO_FORMATTING 11c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 12c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 13b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru//TODO: define it in compiler flag 14c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru//#define DTIFMTTS_DEBUG 1 15c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 16c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 17c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 18b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru#include <iostream> 19c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 20c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 21c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 22c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#include "cstring.h" 23c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#include "dtifmtts.h" 24c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#include "unicode/gregocal.h" 25c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#include "unicode/dtintrv.h" 26c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#include "unicode/dtitvinf.h" 27c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#include "unicode/dtitvfmt.h" 288393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#include "unicode/localpointer.h" 29b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho#include "unicode/timezone.h" 30c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 31c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 32c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 33c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 34c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru//#define PRINTMESG(msg) { std::cout << "(" << __FILE__ << ":" << __LINE__ << ") " << msg << "\n"; } 35c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#define PRINTMESG(msg) { std::cout << msg; } 36c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 37c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 38c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#define ARRAY_SIZE(array) (sizeof array / sizeof array[0]) 39c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 40c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#include <stdio.h> 41c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 42c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 43c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ ) { 44c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (exec) logln("TestSuite DateIntervalFormat"); 45c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru switch (index) { 46c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru TESTCASE(0, testAPI); 47c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru TESTCASE(1, testFormat); 48c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru TESTCASE(2, testFormatUserDII); 498393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius TESTCASE(3, testSetIntervalPatternNoSideEffect); 5059d709d503bab6e2b61931737e662dd293b40578ccornelius TESTCASE(4, testYearFormats); 5159d709d503bab6e2b61931737e662dd293b40578ccornelius TESTCASE(5, testStress); 521b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert TESTCASE(6, testTicket11583_2); 53c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru default: name = ""; break; 54c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 55c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 56c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 57c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru/** 58c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru * Test various generic API methods of DateIntervalFormat for API coverage. 59c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 60c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::testAPI() { 61c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 62c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* ====== Test create interval instance with default locale and skeleton 63c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 64c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 65c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat create instance with default locale and skeleton"); 66c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 67c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* dtitvfmt = DateIntervalFormat::createInstance(UDAT_YEAR_MONTH_DAY, status); 68c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if(U_FAILURE(status)) { 69c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: Could not create DateIntervalFormat (skeleton + default locale) - exitting"); 70c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 71c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } else { 72c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 73c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 74c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 75c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 76c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* ====== Test create interval instance with given locale and skeleton 77c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 78c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 79c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat create instance with given locale and skeleton"); 80c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 81c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt = DateIntervalFormat::createInstance(UDAT_YEAR_MONTH_DAY, Locale::getJapanese(), status); 82c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if(U_FAILURE(status)) { 83c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: Could not create DateIntervalFormat (skeleton + locale) - exitting"); 84c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 85c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } else { 86c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 87c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 88c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 89c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 90c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* ====== Test create interval instance with dateIntervalInfo and skeleton 91c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 92c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 93c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat create instance with dateIntervalInfo and skeleton"); 94c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 95c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalInfo* dtitvinf = new DateIntervalInfo(Locale::getSimplifiedChinese(), status); 96c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 97c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt = DateIntervalFormat::createInstance("EEEdMMMyhms", *dtitvinf, status); 98c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvinf; 99c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 100c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if(U_FAILURE(status)) { 101c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: Could not create DateIntervalFormat (skeleton + DateIntervalInfo + default locale) - exitting"); 102c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 103c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } else { 104c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 105c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 106c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 107c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 108c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* ====== Test create interval instance with dateIntervalInfo and skeleton 109c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 110c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 111c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat create instance with dateIntervalInfo and skeleton"); 112c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 113c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvinf = new DateIntervalInfo(Locale::getSimplifiedChinese(), status); 114c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 115c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt = DateIntervalFormat::createInstance("EEEdMMMyhms", Locale::getSimplifiedChinese(), *dtitvinf, status); 116c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvinf; 117c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if(U_FAILURE(status)) { 118c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: Could not create DateIntervalFormat (skeleton + DateIntervalInfo + locale) - exitting"); 119c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 120c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 121c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // not deleted, test clone 122c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 123c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 124c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // ====== Test clone() 125c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 126c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat clone"); 127c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 128c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* another = (DateIntervalFormat*)dtitvfmt->clone(); 129c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( (*another) != (*dtitvfmt) ) { 130c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: clone failed"); 131c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 132c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 13327f654740f2a26ad62a5c155af9199af9e69b889claireho 134c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // ====== Test getDateIntervalInfo, setDateIntervalInfo, adoptDateIntervalInfo 135c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 136c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat getDateIntervalInfo"); 137c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const DateIntervalInfo* inf = another->getDateIntervalInfo(); 138c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->setDateIntervalInfo(*inf, status); 139c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const DateIntervalInfo* anotherInf = dtitvfmt->getDateIntervalInfo(); 140c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( (*inf) != (*anotherInf) || U_FAILURE(status) ) { 141c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: getDateIntervalInfo/setDateIntervalInfo failed"); 142c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 143c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1448393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius { 1458393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius // We make sure that setDateIntervalInfo does not corrupt the cache. See ticket 9919. 1468393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius status = U_ZERO_ERROR; 1478393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius logln("Testing DateIntervalFormat setDateIntervalInfo"); 1488393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius const Locale &enLocale = Locale::getEnglish(); 1498393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius LocalPointer<DateIntervalFormat> dif(DateIntervalFormat::createInstance("yMd", enLocale, status)); 1508393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(status)) { 1518393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(status)); 1528393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1538393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1548393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius UnicodeString expected; 1558393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius LocalPointer<Calendar> fromTime(Calendar::createInstance(enLocale, status)); 1568393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius LocalPointer<Calendar> toTime(Calendar::createInstance(enLocale, status)); 1578393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(status)) { 1588393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(status)); 1598393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1608393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1618393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius FieldPosition pos = 0; 1628393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius fromTime->set(2013, 3, 26); 1638393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius toTime->set(2013, 3, 28); 1648393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dif->format(*fromTime, *toTime, expected, pos, status); 1658393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(status)) { 1668393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(status)); 1678393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1688393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1691b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert LocalPointer<DateIntervalInfo> dii(new DateIntervalInfo(Locale::getEnglish(), status), status); 1708393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(status)) { 1718393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(status)); 1728393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1738393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1748393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dii->setIntervalPattern(ctou("yMd"), UCAL_DATE, ctou("M/d/y \\u2013 d"), status); 1758393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dif->setDateIntervalInfo(*dii, status); 1768393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(status)) { 1778393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(status)); 1788393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1798393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1808393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dif.adoptInstead(DateIntervalFormat::createInstance("yMd", enLocale, status)); 1818393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(status)) { 1828393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(status)); 1838393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1848393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1858393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius UnicodeString actual; 1868393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius pos = 0; 1878393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dif->format(*fromTime, *toTime, actual, pos, status); 1888393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(status)) { 1898393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(status)); 1908393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1918393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1928393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (expected != actual) { 1938393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("DateIntervalFormat.setIntervalInfo should have no side effects."); 1948393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1958393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1968393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 197c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* 198c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 199c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalInfo* nonConstInf = inf->clone(); 200c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->adoptDateIntervalInfo(nonConstInf, status); 201c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru anotherInf = dtitvfmt->getDateIntervalInfo(); 202c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( (*inf) != (*anotherInf) || U_FAILURE(status) ) { 203c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: adoptDateIntervalInfo failed"); 204c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 205c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 206c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 207c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // ====== Test getDateFormat, setDateFormat, adoptDateFormat 208c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 209c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 210c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat getDateFormat"); 211c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* 212b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru const DateFormat* fmt = another->getDateFormat(); 213c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->setDateFormat(*fmt, status); 214c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const DateFormat* anotherFmt = dtitvfmt->getDateFormat(); 215c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( (*fmt) != (*anotherFmt) || U_FAILURE(status) ) { 216c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: getDateFormat/setDateFormat failed"); 217c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 218c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 219c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 220c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateFormat* nonConstFmt = (DateFormat*)fmt->clone(); 221c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->adoptDateFormat(nonConstFmt, status); 222c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru anotherFmt = dtitvfmt->getDateFormat(); 223c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( (*fmt) != (*anotherFmt) || U_FAILURE(status) ) { 224c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: adoptDateFormat failed"); 225c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 226b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru delete fmt; 227c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 228c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 229c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 230c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // ======= Test getStaticClassID() 231c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 232c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing getStaticClassID()"); 233c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 234c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 235c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if(dtitvfmt->getDynamicClassID() != DateIntervalFormat::getStaticClassID()) { 236c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru errln("ERROR: getDynamicClassID() didn't return the expected value"); 237c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 238c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 239c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete another; 240c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 241c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // ====== test constructor/copy constructor and assignment 242c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* they are protected, no test 243c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat constructor and assigment operator"); 244c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 245c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 246c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateFormat* constFmt = (constFmt*)dtitvfmt->getDateFormat()->clone(); 247c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru inf = dtitvfmt->getDateIntervalInfo()->clone(); 248c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 249c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 250c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* dtifmt = new DateIntervalFormat(fmt, inf, status); 251c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if(U_FAILURE(status)) { 252c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: Could not create DateIntervalFormat (default) - exitting"); 253c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 254c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 255c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 256c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* dtifmt2 = new(dtifmt); 257c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( (*dtifmt) != (*dtifmt2) ) { 258c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: Could not create DateIntervalFormat (default) - exitting"); 259c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 260c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 261c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 262c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat dtifmt3 = (*dtifmt); 263c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( (*dtifmt) != dtifmt3 ) { 264c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: Could not create DateIntervalFormat (default) - exitting"); 265c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 266c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 267c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 268c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtifmt2; 269c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtifmt3; 270c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtifmt; 271c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 272c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 273c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 274c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru //===== test format and parse ================== 275c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru Formattable formattable; 276c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru formattable.setInt64(10); 277c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UnicodeString res; 278c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru FieldPosition pos = 0; 279c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 280c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->format(formattable, res, pos, status); 281c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( status != U_ILLEGAL_ARGUMENT_ERROR ) { 282c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: format non-date-interval object should set U_ILLEGAL_ARGUMENT_ERROR - exitting"); 283c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 284c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 285c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 286c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateInterval* dtitv = new DateInterval(3600*24*365, 3600*24*366); 287c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru formattable.adoptObject(dtitv); 288c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru res.remove(); 289c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru pos = 0; 290c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 291c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->format(formattable, res, pos, status); 292c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( U_FAILURE(status) ) { 293c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: format date interval failed - exitting"); 294c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 295c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 296c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 297c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const DateFormat* dfmt = dtitvfmt->getDateFormat(); 298c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru Calendar* fromCal = dfmt->getCalendar()->clone(); 299c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru Calendar* toCal = dfmt->getCalendar()->clone(); 300c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru res.remove(); 301c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru pos = 0; 302c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 303c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->format(*fromCal, *toCal, res, pos, status); 304c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( U_FAILURE(status) ) { 305c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: format date interval failed - exitting"); 306c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 307c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 308c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete fromCal; 309c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete toCal; 310c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 311c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 312c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru Formattable fmttable; 313c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 314b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru // TODO: why do I need cast? 315c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru ((Format*)dtitvfmt)->parseObject(res, fmttable, status); 316c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( status != U_INVALID_FORMAT_ERROR ) { 317c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: parse should set U_INVALID_FORMAT_ERROR - exitting"); 318c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 319c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 320c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 321c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 322c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 323b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho //====== test setting time zone 324b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho logln("Testing DateIntervalFormat set & format with different time zones, get time zone"); 325b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho status = U_ZERO_ERROR; 326b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho dtitvfmt = DateIntervalFormat::createInstance("MMMdHHmm", Locale::getEnglish(), status); 327b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho if ( U_SUCCESS(status) ) { 328b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho UDate date1 = 1299090600000.0; // 2011-Mar-02 1030 in US/Pacific, 2011-Mar-03 0330 in Asia/Tokyo 329b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho UDate date2 = 1299115800000.0; // 2011-Mar-02 1730 in US/Pacific, 2011-Mar-03 1030 in Asia/Tokyo 330b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho 331b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho DateInterval * dtitv12 = new DateInterval(date1, date2); 332b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho TimeZone * tzCalif = TimeZone::createTimeZone("US/Pacific"); 333b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho TimeZone * tzTokyo = TimeZone::createTimeZone("Asia/Tokyo"); 33459d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString fmtCalif = UnicodeString(ctou("Mar 2, 10:30 \\u2013 17:30")); 33559d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString fmtTokyo = UnicodeString(ctou("Mar 3, 03:30 \\u2013 10:30")); 336b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho 337b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho dtitvfmt->adoptTimeZone(tzCalif); 338b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho res.remove(); 339b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho pos = 0; 340b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho status = U_ZERO_ERROR; 341b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho dtitvfmt->format(dtitv12, res, pos, status); 342b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho if ( U_SUCCESS(status) ) { 343b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho if ( res.compare(fmtCalif) != 0 ) { 344b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho errln("ERROR: DateIntervalFormat::format for tzCalif, expect " + fmtCalif + ", get " + res); 345b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } 346b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } else { 347b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho errln("ERROR: DateIntervalFormat::format for tzCalif, status %s", u_errorName(status)); 348b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } 349b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho 350b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho dtitvfmt->setTimeZone(*tzTokyo); 351b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho res.remove(); 352b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho pos = 0; 353b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho status = U_ZERO_ERROR; 354b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho dtitvfmt->format(dtitv12, res, pos, status); 355b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho if ( U_SUCCESS(status) ) { 356b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho if ( res.compare(fmtTokyo) != 0 ) { 357b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho errln("ERROR: DateIntervalFormat::format for fmtTokyo, expect " + fmtTokyo + ", get " + res); 358b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } 359b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } else { 360b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho errln("ERROR: DateIntervalFormat::format for tzTokyo, status %s", u_errorName(status)); 361b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } 362b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho 363b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho if ( dtitvfmt->getTimeZone() != *tzTokyo ) { 364b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho errln("ERROR: DateIntervalFormat::getTimeZone returns mismatch."); 365b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } 366b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho 367b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho delete tzTokyo; // tzCalif was owned by dtitvfmt which should have deleted it 368b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho delete dtitv12; 369b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho delete dtitvfmt; 370b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } else { 371b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho errln("ERROR: DateIntervalFormat::createInstance(\"MdHH\", Locale::getEnglish(), ...), status %s", u_errorName(status)); 372b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } 373c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru //====== test format in testFormat() 374c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 37550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho //====== test DateInterval class (better coverage) 37650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho DateInterval dtitv1(3600*24*365, 3600*24*366); 37750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho DateInterval dtitv2(dtitv1); 37850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 37950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (!(dtitv1 == dtitv2)) { 38050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho errln("ERROR: Copy constructor failed for DateInterval."); 38150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho } 38250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 38350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho DateInterval dtitv3(3600*365, 3600*366); 38450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho dtitv3 = dtitv1; 38550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (!(dtitv3 == dtitv1)) { 38650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho errln("ERROR: Equal operator failed for DateInterval."); 38750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho } 38850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 38950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho DateInterval *dtitv4 = dtitv1.clone(); 39050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (*dtitv4 != dtitv1) { 39150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho errln("ERROR: Equal operator failed for DateInterval."); 39250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho } 39350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho delete dtitv4; 394c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 395c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 396c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 397c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru/** 398c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru * Test format 399c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 400c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::testFormat() { 401c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // first item is date pattern 402c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // followed by a group of locale/from_data/to_data/skeleton/interval_data 403c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* DATA[] = { 404c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "yyyy MM dd HH:mm:ss", 405b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru // test root 4068393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "root", "2007 11 10 10:10:10", "2007 12 10 10:10:10", "yM", "2007-11 \\u2013 2007-12", 407b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru 408b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru // test 'H' and 'h', using availableFormat in fallback 409b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 10 15:10:10", "Hms", "10:10:10 \\u2013 15:10:10", 410b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 10 15:10:10", "hms", "10:10:10 AM \\u2013 3:10:10 PM", 411b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru 412c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "MMMM", "October 2007 \\u2013 October 2008", 413c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "MMM", "Oct 2007 \\u2013 Oct 2008", 414c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // test skeleton with both date and time 41554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMMyhm", "Nov 10, 2007, 10:10 AM \\u2013 Nov 20, 2007, 10:10 AM", 416c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 41759d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 11 10 10:10:10", "2007 11 10 11:10:10", "dMMMyhm", "Nov 10, 2007, 10:10 \\u2013 11:10 AM", 418c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 419c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 10 11:10:10", "hms", "10:10:10 AM \\u2013 11:10:10 AM", 42050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 11 10 10:10:10", "2007 11 10 11:10:10", "Hms", "10:10:10 \\u2013 11:10:10", 42150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 11 10 20:10:10", "2007 11 10 21:10:10", "Hms", "20:10:10 \\u2013 21:10:10", 422c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 423c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EEEEdMMMMy", "Wednesday, October 10, 2007 \\u2013 Friday, October 10, 2008", 424c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 425c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMMMMy", "October 10, 2007 \\u2013 October 10, 2008", 426c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 427c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMMMM", "October 10, 2007 \\u2013 October 10, 2008", 428c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 429c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "MMMMy", "October 2007 \\u2013 October 2008", 430c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 431c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EEEEdMMMM", "Wednesday, October 10, 2007 \\u2013 Friday, October 10, 2008", 432c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 433c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EdMMMy", "Wed, Oct 10, 2007 \\u2013 Fri, Oct 10, 2008", 434c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 435c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMMMy", "Oct 10, 2007 \\u2013 Oct 10, 2008", 436c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 437c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMMM", "Oct 10, 2007 \\u2013 Oct 10, 2008", 438c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 439c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "MMMy", "Oct 2007 \\u2013 Oct 2008", 440c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 441c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EdMMM", "Wed, Oct 10, 2007 \\u2013 Fri, Oct 10, 2008", 442c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4438393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EdMy", "Wed, 10/10/2007 \\u2013 Fri, 10/10/2008", 444c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4458393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMy", "10/10/2007 \\u2013 10/10/2008", 446c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4478393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dM", "10/10/2007 \\u2013 10/10/2008", 448c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4498393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "My", "10/2007 \\u2013 10/2008", 450c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4518393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EdM", "Wed, 10/10/2007 \\u2013 Fri, 10/10/2008", 452c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4538393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "d", "10/10/2007 \\u2013 10/10/2008", 454c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 455c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "Ed", "10 Wed \\u2013 10 Fri", 456c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 45759d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "y", "2007 \\u2013 2008", 458c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4598393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "M", "10/2007 \\u2013 10/2008", 460c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 461c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 462c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 46354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "hm", "10/10/2007, 10:10 AM \\u2013 10/10/2008, 10:10 AM", 46454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "Hm", "10/10/2007, 10:10 \\u2013 10/10/2008, 10:10", 46554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 20:10:10", "2008 10 10 20:10:10", "Hm", "10/10/2007, 20:10 \\u2013 10/10/2008, 20:10", 466c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 46754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "hmv", "10/10/2007, 10:10 AM PT \\u2013 10/10/2008, 10:10 AM PT", 468c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 46954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "hmz", "10/10/2007, 10:10 AM PDT \\u2013 10/10/2008, 10:10 AM PDT", 470c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 47154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "h", "10/10/2007, 10 AM \\u2013 10/10/2008, 10 AM", 472c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 47354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "hv", "10/10/2007, 10 AM PT \\u2013 10/10/2008, 10 AM PT", 474c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 47554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "hz", "10/10/2007, 10 AM PDT \\u2013 10/10/2008, 10 AM PDT", 476c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4778393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EEddMMyyyy", "Wed, 10/10/2007 \\u2013 Fri, 10/10/2008", 478c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4798393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EddMMy", "Wed, 10/10/2007 \\u2013 Fri, 10/10/2008", 480c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 48154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "hhmm", "10/10/2007, 10:10 AM \\u2013 10/10/2008, 10:10 AM", 482c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 48354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "hhmmzz", "10/10/2007, 10:10 AM PDT \\u2013 10/10/2008, 10:10 AM PDT", 484c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 48554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "hms", "10/10/2007, 10:10:10 AM \\u2013 10/10/2008, 10:10:10 AM", 486c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 487c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMMMMMy", "O 10, 2007 \\u2013 O 10, 2008", 488c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4898393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EEEEEdM", "W, 10/10/2007 \\u2013 F, 10/10/2008", 490c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 491c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EEEEdMMMMy", "Wednesday, October 10 \\u2013 Saturday, November 10, 2007", 492c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 493c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMMMMy", "October 10 \\u2013 November 10, 2007", 494c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 495c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMMMM", "October 10 \\u2013 November 10", 496c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 49759d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "MMMMy", "October \\u2013 November 2007", 498c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 499c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EEEEdMMMM", "Wednesday, October 10 \\u2013 Saturday, November 10", 500c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 501c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EdMMMy", "Wed, Oct 10 \\u2013 Sat, Nov 10, 2007", 502c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 503c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMMMy", "Oct 10 \\u2013 Nov 10, 2007", 504c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 505c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMMM", "Oct 10 \\u2013 Nov 10", 506c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 50759d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "MMMy", "Oct \\u2013 Nov 2007", 508c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 509c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EdMMM", "Wed, Oct 10 \\u2013 Sat, Nov 10", 510c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 5118393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EdMy", "Wed, 10/10/2007 \\u2013 Sat, 11/10/2007", 512c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 5138393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMy", "10/10/2007 \\u2013 11/10/2007", 514c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 515c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 5168393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "My", "10/2007 \\u2013 11/2007", 517c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 518c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EdM", "Wed, 10/10 \\u2013 Sat, 11/10", 519c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 520c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "d", "10/10 \\u2013 11/10", 521c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 522c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "Ed", "10 Wed \\u2013 10 Sat", 523c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 524c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "y", "2007", 525c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 52659d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "M", "10 \\u2013 11", 527c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 52859d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "MMM", "Oct \\u2013 Nov", 529c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 53059d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "MMMM", "October \\u2013 November", 531c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 53254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "hm", "10/10/2007, 10:10 AM \\u2013 11/10/2007, 10:10 AM", 53354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "Hm", "10/10/2007, 10:10 \\u2013 11/10/2007, 10:10", 53454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 20:10:10", "2007 11 10 20:10:10", "Hm", "10/10/2007, 20:10 \\u2013 11/10/2007, 20:10", 535c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 53654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "hmv", "10/10/2007, 10:10 AM PT \\u2013 11/10/2007, 10:10 AM PT", 537c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 53854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "hmz", "10/10/2007, 10:10 AM PDT \\u2013 11/10/2007, 10:10 AM PST", 539c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 54054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "h", "10/10/2007, 10 AM \\u2013 11/10/2007, 10 AM", 541c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 54254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "hv", "10/10/2007, 10 AM PT \\u2013 11/10/2007, 10 AM PT", 543c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 54454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "hz", "10/10/2007, 10 AM PDT \\u2013 11/10/2007, 10 AM PST", 545c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 5468393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EEddMMyyyy", "Wed, 10/10/2007 \\u2013 Sat, 11/10/2007", 547c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 5488393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EddMMy", "Wed, 10/10/2007 \\u2013 Sat, 11/10/2007", 549c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 550c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 55154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "hhmmzz", "10/10/2007, 10:10 AM PDT \\u2013 11/10/2007, 10:10 AM PST", 552c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 55354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "hms", "10/10/2007, 10:10:10 AM \\u2013 11/10/2007, 10:10:10 AM", 554c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 555c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMMMMMy", "O 10 \\u2013 N 10, 2007", 556c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 557c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EEEEEdM", "W, 10/10 \\u2013 S, 11/10", 558c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 559c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EEEEdMMMMy", "Saturday, November 10 \\u2013 Tuesday, November 20, 2007", 560c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 56159d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMMMy", "November 10 \\u2013 20, 2007", 562c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 56359d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMMM", "November 10 \\u2013 20", 564c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 565c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 566c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EEEEdMMMM", "Saturday, November 10 \\u2013 Tuesday, November 20", 567c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 568c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EdMMMy", "Sat, Nov 10 \\u2013 Tue, Nov 20, 2007", 569c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 57059d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMMy", "Nov 10 \\u2013 20, 2007", 571c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 57259d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMM", "Nov 10 \\u2013 20", 573c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 574c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "MMMy", "Nov 2007", 575c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 576c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EdMMM", "Sat, Nov 10 \\u2013 Tue, Nov 20", 577c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 5788393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EdMy", "Sat, 11/10/2007 \\u2013 Tue, 11/20/2007", 579c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 5808393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMy", "11/10/2007 \\u2013 11/20/2007", 581c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 582c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dM", "11/10 \\u2013 11/20", 583c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 584c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "My", "11/2007", 585c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 586c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EdM", "Sat, 11/10 \\u2013 Tue, 11/20", 587c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 58859d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "d", "10 \\u2013 20", 589c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 590c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "Ed", "10 Sat \\u2013 20 Tue", 591c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 592c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "y", "2007", 593c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 594c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "M", "11", 595c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 596c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "MMM", "Nov", 597c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 598c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "MMMM", "November", 599c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 60054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "hm", "11/10/2007, 10:10 AM \\u2013 11/20/2007, 10:10 AM", 60154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "Hm", "11/10/2007, 10:10 \\u2013 11/20/2007, 10:10", 60254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 11 10 20:10:10", "2007 11 20 20:10:10", "Hm", "11/10/2007, 20:10 \\u2013 11/20/2007, 20:10", 603c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 60454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "hmv", "11/10/2007, 10:10 AM PT \\u2013 11/20/2007, 10:10 AM PT", 605c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 60654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "hmz", "11/10/2007, 10:10 AM PST \\u2013 11/20/2007, 10:10 AM PST", 607c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 60854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "h", "11/10/2007, 10 AM \\u2013 11/20/2007, 10 AM", 609c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 61054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "hv", "11/10/2007, 10 AM PT \\u2013 11/20/2007, 10 AM PT", 611c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 61254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "hz", "11/10/2007, 10 AM PST \\u2013 11/20/2007, 10 AM PST", 613c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 6148393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EEddMMyyyy", "Sat, 11/10/2007 \\u2013 Tue, 11/20/2007", 615c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 6168393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EddMMy", "Sat, 11/10/2007 \\u2013 Tue, 11/20/2007", 617c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 61854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "hhmm", "11/10/2007, 10:10 AM \\u2013 11/20/2007, 10:10 AM", 619c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 62054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "hhmmzz", "11/10/2007, 10:10 AM PST \\u2013 11/20/2007, 10:10 AM PST", 621c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 62254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "hms", "11/10/2007, 10:10:10 AM \\u2013 11/20/2007, 10:10:10 AM", 62354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "Hms", "11/10/2007, 10:10:10 \\u2013 11/20/2007, 10:10:10", 62454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "en", "2007 11 10 20:10:10", "2007 11 20 20:10:10", "Hms", "11/10/2007, 20:10:10 \\u2013 11/20/2007, 20:10:10", 625c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 62659d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMMMMy", "N 10 \\u2013 20, 2007", 627c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 628c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EEEEEdM", "S, 11/10 \\u2013 T, 11/20", 629c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 630c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EEEEdMMMMy", "Wednesday, January 10, 2007", 631c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 632c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dMMMMy", "January 10, 2007", 633c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 634c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dMMMM", "January 10", 635c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 636c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "MMMMy", "January 2007", 637c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 638c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EEEEdMMMM", "Wednesday, January 10", 639c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 640c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EdMMMy", "Wed, Jan 10, 2007", 641c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 642c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dMMMy", "Jan 10, 2007", 643c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 644c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dMMM", "Jan 10", 645c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 646c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "MMMy", "Jan 2007", 647c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 648c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EdMMM", "Wed, Jan 10", 649c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 650c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 651c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dMy", "1/10/2007", 652c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 653c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dM", "1/10", 654c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 655c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "My", "1/2007", 656c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 657c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EdM", "Wed, 1/10", 658c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 659c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "d", "10", 660c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 661c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "Ed", "10 Wed", 662c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 663c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "y", "2007", 664c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 665c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "M", "1", 666c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 667c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "MMM", "Jan", 668c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 669c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "MMMM", "January", 670c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 671c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hm", "10:00 AM \\u2013 2:10 PM", 67259d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "Hm", "10:00 \\u2013 14:10", 673c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 674c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hmv", "10:00 AM \\u2013 2:10 PM PT", 675c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 676c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hmz", "10:00 AM \\u2013 2:10 PM PST", 677c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 678c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "h", "10 AM \\u2013 2 PM", 67959d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "H", "10 \\u2013 14", 680c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 681c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 682c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hz", "10 AM \\u2013 2 PM PST", 683c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 684c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EEddMMyyyy", "Wed, 01/10/2007", 685c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 686c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EddMMy", "Wed, 01/10/2007", 687c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 688c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hhmm", "10:00 AM \\u2013 2:10 PM", 68959d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "HHmm", "10:00 \\u2013 14:10", 690c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 691c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hhmmzz", "10:00 AM \\u2013 2:10 PM PST", 692c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 693b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hms", "10:00:10 AM \\u2013 2:10:10 PM", 69450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "Hms", "10:00:10 \\u2013 14:10:10", 695c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 696b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dMMMMMy", "J 10, 2007", 697c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 698c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EEEEEdM", "W, 1/10", 699c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "dMMMMy", "January 10, 2007", 700c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 701c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "dMMMM", "January 10", 702c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 703c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "MMMMy", "January 2007", 704c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 705c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "EEEEdMMMM", "Wednesday, January 10", 706c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 707c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "EdMMMy", "Wed, Jan 10, 2007", 708c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 709c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "dMMMy", "Jan 10, 2007", 710c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 711c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "dMMM", "Jan 10", 712c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 713c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 714c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "EdMMM", "Wed, Jan 10", 715c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 716c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "EdMy", "Wed, 1/10/2007", 717c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 718c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "dMy", "1/10/2007", 719c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 720c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 721c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "My", "1/2007", 722c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 723c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "EdM", "Wed, 1/10", 724c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 725c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "d", "10", 726c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 727c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 728c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "y", "2007", 729c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 730c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "M", "1", 731c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 732c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 733c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 73459d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hm", "10:00 \\u2013 10:20 AM", 73559d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "Hm", "10:00 \\u2013 10:20", 736c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 737c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 73859d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hmz", "10:00 \\u2013 10:20 AM PST", 739c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 740c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 74150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hv", "10 AM PT", 742c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 743c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 744c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 745c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "EddMMy", "Wed, 01/10/2007", 746c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 74759d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hhmm", "10:00 \\u2013 10:20 AM", 74859d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "HHmm", "10:00 \\u2013 10:20", 749c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 75059d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hhmmzz", "10:00 \\u2013 10:20 AM PST", 751c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 752c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 753b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "dMMMMMy", "J 10, 2007", 754c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 755c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 756c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EEEEdMMMMy", "Wednesday, January 10, 2007", 757c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 758c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "dMMMMy", "January 10, 2007", 759c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 760c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 761c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "MMMMy", "January 2007", 762c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 763c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EEEEdMMMM", "Wednesday, January 10", 764c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 765c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 766c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "dMMMy", "Jan 10, 2007", 767c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 768c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "dMMM", "Jan 10", 769c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 770c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 771c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EdMMM", "Wed, Jan 10", 772c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 773c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EdMy", "Wed, 1/10/2007", 774c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 775c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "dMy", "1/10/2007", 776c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 777c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 778c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "My", "1/2007", 779c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 780c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EdM", "Wed, 1/10", 781c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 782c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "d", "10", 783c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 784c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 785c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "y", "2007", 786c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 787c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "M", "1", 788c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 789c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 790c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "MMMM", "January", 791c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 792c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hm", "10:10 AM", 79350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "Hm", "10:10", 794c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 795c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 796c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hmz", "10:10 AM PST", 797c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 79850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "h", "10 AM", 799c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 80050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hv", "10 AM PT", 801c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 802c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 803c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EEddMMyyyy", "Wed, 01/10/2007", 804c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 805c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 806c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hhmm", "10:10 AM", 80750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "HHmm", "10:10", 808c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 809c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hhmmzz", "10:10 AM PST", 810c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 811c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 812b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "dMMMMMy", "J 10, 2007", 813c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 814c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EEEEEdM", "W, 1/10", 815c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 816c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EEEEdMMMMy", "2007\\u5e7410\\u670810\\u65e5\\u661f\\u671f\\u4e09\\u81f32008\\u5e7410\\u670810\\u65e5\\u661f\\u671f\\u4e94", 817c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 818c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 819c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMMMMy", "2007\\u5e7410\\u670810\\u65e5\\u81f311\\u670810\\u65e5", 820c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 821c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 822c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "MMMMy", "2007\\u5e7410\\u6708\\u81f311\\u6708", 823c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 824c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8251b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "zh", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "hmv", "2007/10/10 \\u6D1B\\u6749\\u77F6\\u65F6\\u95F4 \\u4E0A\\u534810:10 \\u2013 2007/11/10 \\u6D1B\\u6749\\u77F6\\u65F6\\u95F4 \\u4E0A\\u534810:10", 826c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 827c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EEEEdMMMMy", "2007\\u5e7411\\u670810\\u65e5\\u661f\\u671f\\u516d\\u81f320\\u65e5\\u661f\\u671f\\u4e8c", 828c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 829c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 830c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMMM", "11\\u670810\\u65e5\\u81f320\\u65e5", 831c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 832b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "MMMMy", "2007\\u5E7411\\u6708", // (fixed expected result per ticket:6626:) 833c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 834c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EEEEdMMMM", "11\\u670810\\u65e5\\u661f\\u671f\\u516d\\u81f320\\u65e5\\u661f\\u671f\\u4e8c", 835c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 836c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8378393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EdMy", "2007/11/10\\u5468\\u516d\\u81f32007/11/20\\u5468\\u4e8c", 838c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 839c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 84054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dM", "11/10 \\u2013 11/20", 841c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 842f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "My", "2007\\u5E7411\\u6708", 843c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 84454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EdM", "11/10\\u5468\\u516d\\u81f311/20\\u5468\\u4e8c", 845c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 846c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 847b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "y", "2007\\u5E74", // (fixed expected result per ticket:6626:) 848c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 84927f654740f2a26ad62a5c155af9199af9e69b889claireho "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "M", "11\\u6708", 850c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 85154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "MMM", "11\\u6708", // (fixed expected result per ticket:6626: and others) 852c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8538393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 8541b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "hmz", "2007/11/10 GMT-8 \\u4e0a\\u534810:10 \\u2013 2007/11/20 GMT-8 \\u4e0a\\u534810:10", 855c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 85654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "h", "2007/11/10 \\u4e0a\\u534810\\u65f6 \\u2013 2007/11/20 \\u4e0a\\u534810\\u65f6", 857c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 858b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "zh", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EEEEdMMMMy", "2007\\u5e741\\u670810\\u65e5\\u661f\\u671f\\u4e09", // (fixed expected result per ticket:6626:) 859c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 860c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hm", "\\u4e0a\\u534810:00\\u81f3\\u4e0b\\u53482:10", 861c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 862c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 863682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "zh", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hmz", "GMT-8\\u4e0a\\u534810:00\\u81f3\\u4e0b\\u53482:10", 864c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 86554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "zh", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "h", "\\u4e0a\\u534810\\u65F6\\u81f3\\u4e0b\\u53482\\u65f6", 866c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 867682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "zh", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hv", "\\u6D1B\\u6749\\u77F6\\u65F6\\u95F4\\u4E0A\\u534810\\u65F6\\u81F3\\u4E0B\\u53482\\u65F6", 868c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 869c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hm", "\\u4e0a\\u534810:00\\u81f310:20", 870c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 871682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "zh", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hmv", "\\u6D1B\\u6749\\u77F6\\u65F6\\u95F4\\u4E0A\\u534810:00\\u81F310:20", 872c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 873682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "zh", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hz", "GMT-8\\u4e0a\\u534810\\u65f6", 874c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 875c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hm", "\\u4e0a\\u534810:10", 876c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 87727f654740f2a26ad62a5c155af9199af9e69b889claireho "zh", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "h", "\\u4e0a\\u534810\\u65f6", 878c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8791b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EEEEdMMMy", "Mittwoch, 10. Okt. 2007 \\u2013 Freitag, 10. Okt. 2008", 880c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 881c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8821b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMMM", "10. Okt. 2007 \\u2013 10. Okt. 2008", 883c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8841b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "MMMy", "Okt. 2007 \\u2013 Okt. 2008", 885c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 886c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8871b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EdMy", "Mi., 10.10.2007 \\u2013 Fr., 10.10.2008", 888c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8891b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMy", "10.10.2007 \\u2013 10.10.2008", 890c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 891c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8921b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "My", "10.2007 \\u2013 10.2008", 893c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8941b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EdM", "Mi., 10.10.2007 \\u2013 Fr., 10.10.2008", 895c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 896c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8971b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "y", "2007\\u20132008", 898c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8991b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "M", "10.2007 \\u2013 10.2008", 900c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 901c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9021b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "hm", "10.10.2007, 10:10 vorm. \\u2013 10.10.2008, 10:10 vorm.", 9031b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "Hm", "10.10.2007, 10:10 \\u2013 10.10.2008, 10:10", 904c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9051b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EEEEdMMMy", "Mittwoch, 10. Okt. \\u2013 Samstag, 10. Nov. 2007", 906c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 907c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9081b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMMM", "10. Okt. \\u2013 10. Nov.", 909c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9101b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "MMMy", "Okt.\\u2013Nov. 2007", 911c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9121b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EEEEdMMM", "Mittwoch, 10. Okt. \\u2013 Samstag, 10. Nov.", 913c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 914c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9151b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dM", "10.10. \\u2013 10.11.", 916c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9171b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "My", "10.2007 \\u2013 11.2007", 918c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 919c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9201b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "d", "10.10. \\u2013 10.11.", 921c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 922c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "y", "2007", 923c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 924c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9251b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "MMM", "Okt.\\u2013Nov.", 926c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 927c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9281b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "hms", "10.10.2007, 10:10:10 vorm. \\u2013 10.11.2007, 10:10:10 vorm.", 9291b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "Hms", "10.10.2007, 10:10:10 \\u2013 10.11.2007, 10:10:10", 930c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9311b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EEEEdMMMy", "Samstag, 10. \\u2013 Dienstag, 20. Nov. 2007", 932c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9331b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMMy", "10.\\u201320. Nov. 2007", 934c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 935c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 93654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "MMMy", "Nov. 2007", 937c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9381b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EEEEdMMM", "Samstag, 10. \\u2013 Dienstag, 20. Nov.", 939c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9401b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EdMy", "Sa., 10.11.2007 \\u2013 Di., 20.11.2007", 941c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 942c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9431b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dM", "10.11. \\u2013 20.11.", 944c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 94550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "My", "11.2007", 946c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 947c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9481b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "d", "10.\\u201320.", 949c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 950c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "y", "2007", 951c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 952c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9531b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "hmv", "10.11.2007, 10:10 vorm. Los Angeles Zeit \\u2013 20.11.2007, 10:10 vorm. Los Angeles Zeit", 954c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 95554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EEEEdMMMy", "Mittwoch, 10. Jan. 2007", 956c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 957c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 95854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dMMM", "10. Jan.", 959c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 96054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "MMMy", "Jan. 2007", 961c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 96254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EEEEdMMM", "Mittwoch, 10. Jan.", 963c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 964c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9651b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "h", "10 vorm. \\u2013 2 nachm.", 9661b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "H", "10\\u201314 Uhr", 967c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 96854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "EEEEdMMM", "Mittwoch, 10. Jan.", 969c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 970c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9711b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hmv", "10:00\\u201310:20 vorm. Los Angeles Zeit", 972c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9731b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "de", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hmz", "10:00\\u201310:20 vorm. GMT-8", 974c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 97550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "de", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "h", "10 vorm.", 97627f654740f2a26ad62a5c155af9199af9e69b889claireho "de", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "H", "10 Uhr", 977c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 978c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 979682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "de", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hz", "10 vorm. GMT-8", 980c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 98154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EEEEdMMMy", "Mittwoch, 10. Jan. 2007", 982c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 983c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 984682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "de", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hmv", "10:10 vorm. Los Angeles Zeit", 985c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 986682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "de", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hmz", "10:10 vorm. GMT-8", 987c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9888393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 989682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "de", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hv", "10 vorm. Los Angeles Zeit", 99050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 991682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "de", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hz", "10 vorm. GMT-8", 99250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 99350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho // Thai (default calendar buddhist) 99450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 9951c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // BEGIN ANDROID-changed. Default calendar in Android is Gregorian for th locale. 9961c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "EEEEdMMMy", "\\u0E27\\u0E31\\u0E19\\u0E1E\\u0E38\\u0E18\\u0E17\\u0E35\\u0E48 10 \\u0E15.\\u0E04. 2550 \\u2013 \\u0E27\\u0E31\\u0E19\\u0E28\\u0E38\\u0E01\\u0E23\\u0E4C\\u0E17\\u0E35\\u0E48 10 \\u0E15.\\u0E04. 2551", 99750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 99850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 9991c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "dMMM", "10 \\u0E15.\\u0E04. 2550 \\u2013 10 \\u0E15.\\u0E04. 2551", 100050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10011c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "MMMy", "\\u0E15.\\u0E04. 2550 \\u2013 \\u0E15.\\u0E04. 2551", 100250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 100350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10041c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "EdMy", "\\u0E1E. 10/10/2550 \\u2013 \\u0E28. 10/10/2551", 100550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10061c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "dMy", "10/10/2550 \\u2013 10/10/2551", 1007c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 100850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10091c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "My", "10/2550 \\u2013 10/2551", 101050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10111c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "EdM", "\\u0E1E. 10/10/2550 \\u2013 \\u0E28. 10/10/2551", 101250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 101350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10141c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "y", "2550\\u20132551", 101550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10161c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "M", "10/2550 \\u2013 10/2551", 101750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 101850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10191c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "EEEEdMMMy", "\\u0E27\\u0E31\\u0E19\\u0E1E\\u0E38\\u0E18\\u0E17\\u0E35\\u0E48 10 \\u0E15.\\u0E04. \\u2013 \\u0E27\\u0E31\\u0E19\\u0E40\\u0E2A\\u0E32\\u0E23\\u0E4C\\u0E17\\u0E35\\u0E48 10 \\u0E1E.\\u0E22. 2550", 102050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 102150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10221b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "dMMM", "10 \\u0E15.\\u0E04. \\u2013 10 \\u0E1E.\\u0E22.", 102350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10241c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "MMMy", "\\u0E15.\\u0E04.\\u2013\\u0E1E.\\u0E22. 2550", 102550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10261b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "dM", "10/10 \\u2013 10/11", 102750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10281c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "My", "10/2550 \\u2013 11/2550", 102950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 103050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10311b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "d", "10/10 \\u2013 10/11", 103250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10331c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "y", "\\u0E1E.\\u0E28. 2550", 103450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10351b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert 10361b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "MMM", "\\u0E15.\\u0E04.\\u2013\\u0E1E.\\u0E22.", 10371b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert 10381c16f7233e0ce0965f835ec0c509d30699d7161aFredrik Roubert // END ANDROID-changed 1039c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru }; 1040c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru expect(DATA, ARRAY_SIZE(DATA)); 1041c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 1042c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1043c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1044c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::expect(const char** data, int32_t data_length) { 1045c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru int32_t i = 0; 1046c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UErrorCode ec = U_ZERO_ERROR; 1047c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UnicodeString str, str2; 1048c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* pattern = data[0]; 1049c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru i++; 1050c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1051c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1052c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru char result[1000]; 1053c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru char mesg[1000]; 1054c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "locale: %s\n", locName); 1055c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg); 1056c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1057c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1058c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru while (i<data_length) { 1059c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* locName = data[i++]; 1060c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru Locale loc(locName); 1061c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru SimpleDateFormat ref(pattern, loc, ec); 106250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (U_FAILURE(ec)) { 106350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho dataerrln("contruct SimpleDateFormat in expect failed: %s", u_errorName(ec)); 106450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return; 106550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho } 1066c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // 'f' 1067c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* datestr = data[i++]; 1068c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* datestr_2 = data[i++]; 1069c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1070c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "original date: %s - %s\n", datestr, datestr_2); 1071c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg) 1072c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1073c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UDate date = ref.parse(ctou(datestr), ec); 1074c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("parse 1st data in expect", ec)) return; 1075c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UDate date_2 = ref.parse(ctou(datestr_2), ec); 1076c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("parse 2nd data in expect", ec)) return; 1077c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateInterval dtitv(date, date_2); 1078c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1079c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const UnicodeString& oneSkeleton = data[i++]; 1080c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1081c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* dtitvfmt = DateIntervalFormat::createInstance(oneSkeleton, loc, ec); 1082c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("createInstance(skeleton) in expect", ec)) return; 1083c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru FieldPosition pos=0; 1084c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->format(&dtitv, str.remove(), pos, ec); 1085c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("format in expect", ec)) return; 1086c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru assertEquals((UnicodeString)"\"" + locName + "\\" + oneSkeleton + "\\" + datestr + "\\" + datestr_2 + "\"", ctou(data[i++]), str); 1087c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1088c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1089c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1090c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1091c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru str.extract(0, str.length(), result, "UTF-8"); 1092c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "interval date: %s\n", result); 1093c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru std::cout << "//"; 1094c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg) 1095c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru std::cout << "\"" << locName << "\", " 1096c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru << "\"" << datestr << "\", " 1097c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru << "\"" << datestr_2 << "\", "; 1098c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru printUnicodeString(oneSkeleton); 1099c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru printUnicodeString(str); 1100c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru std::cout << "\n\n"; 1101c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1102c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 1103c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 1104c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 1105c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1106c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1107c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru/* 1108c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru * Test format using user defined DateIntervalInfo 1109c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 1110c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::testFormatUserDII() { 1111c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // first item is date pattern 1112c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* DATA[] = { 1113c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "yyyy MM dd HH:mm:ss", 1114c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "Oct 10, 2007 --- Oct 10, 2008", 1115c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1116c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "2007 Oct 10 - Nov 2007", 1117c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1118c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "Nov 10, 2007 --- Nov 20, 2007", 1119c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1120c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "Jan 10, 2007", 1121c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1122c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "Jan 10, 2007", 1123c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1124c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "Jan 10, 2007", 1125c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1126c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "2007\\u5e7410\\u670810\\u65e5 --- 2008\\u5e7410\\u670810\\u65e5", 1127c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1128c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "2007 10\\u6708 10 - 11\\u6708 2007", 1129c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1130c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "2007\\u5e7411\\u670810\\u65e5 --- 2007\\u5e7411\\u670820\\u65e5", 1131c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1132b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "zh", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "2007\\u5e741\\u670810\\u65e5", // (fixed expected result per ticket:6626:) 1133c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1134b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "zh", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "2007\\u5e741\\u670810\\u65e5", // (fixed expected result per ticket:6626:) 1135c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1136b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "zh", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "2007\\u5e741\\u670810\\u65e5", // (fixed expected result per ticket:6626:) 1137c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 113854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "10. Okt. 2007 --- 10. Okt. 2008", 1139c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1140c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 114154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "10. Nov. 2007 --- 20. Nov. 2007", 1142c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 114354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "10. Jan. 2007", 1144c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 114554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "10. Jan. 2007", 1146c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1147c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 11481b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "es", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "10 oct. 2007 --- 10 oct. 2008", 1149c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 115059d709d503bab6e2b61931737e662dd293b40578ccornelius "es", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "2007 oct. 10 - nov. 2007", 1151c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 11521b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "es", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "10 nov. 2007 --- 20 nov. 2007", 1153c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 11541b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "es", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "10 ene. 2007", 1155c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 11561b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "es", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "10 ene. 2007", 1157b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho 11581b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "es", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "10 ene. 2007", 1159c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru }; 1160c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru expectUserDII(DATA, ARRAY_SIZE(DATA)); 1161c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 1162c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1163c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 11648393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliusvoid DateIntervalFormatTest::testSetIntervalPatternNoSideEffect() { 11658393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius UErrorCode ec = U_ZERO_ERROR; 11661b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert LocalPointer<DateIntervalInfo> dtitvinf(new DateIntervalInfo(ec), ec); 11678393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(ec)) { 11688393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(ec)); 11698393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 11708393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 11718393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius UnicodeString expected; 11728393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dtitvinf->getIntervalPattern(ctou("yMd"), UCAL_DATE, expected, ec); 11738393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dtitvinf->setIntervalPattern(ctou("yMd"), UCAL_DATE, ctou("M/d/y \\u2013 d"), ec); 11748393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(ec)) { 11758393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(ec)); 11768393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 11778393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 11781b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert dtitvinf.adoptInsteadAndCheckErrorCode(new DateIntervalInfo(ec), ec); 11798393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(ec)) { 11808393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(ec)); 11818393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 11828393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 11838393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius UnicodeString actual; 11848393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dtitvinf->getIntervalPattern(ctou("yMd"), UCAL_DATE, actual, ec); 11858393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(ec)) { 11868393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(ec)); 11878393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 11888393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 11898393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (expected != actual) { 11908393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("DateIntervalInfo.setIntervalPattern should have no side effects."); 11918393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 11928393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius} 11938393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 119459d709d503bab6e2b61931737e662dd293b40578ccorneliusvoid DateIntervalFormatTest::testYearFormats() { 119559d709d503bab6e2b61931737e662dd293b40578ccornelius const Locale &enLocale = Locale::getEnglish(); 119659d709d503bab6e2b61931737e662dd293b40578ccornelius UErrorCode status = U_ZERO_ERROR; 119759d709d503bab6e2b61931737e662dd293b40578ccornelius LocalPointer<Calendar> fromTime(Calendar::createInstance(enLocale, status)); 119859d709d503bab6e2b61931737e662dd293b40578ccornelius LocalPointer<Calendar> toTime(Calendar::createInstance(enLocale, status)); 119959d709d503bab6e2b61931737e662dd293b40578ccornelius if (U_FAILURE(status)) { 120059d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Failure encountered: %s", u_errorName(status)); 120159d709d503bab6e2b61931737e662dd293b40578ccornelius return; 120259d709d503bab6e2b61931737e662dd293b40578ccornelius } 120359d709d503bab6e2b61931737e662dd293b40578ccornelius // April 26, 113. Three digit year so that we can test 2 digit years; 120459d709d503bab6e2b61931737e662dd293b40578ccornelius // 4 digit years with padded 0's and full years. 120559d709d503bab6e2b61931737e662dd293b40578ccornelius fromTime->set(113, 3, 26); 120659d709d503bab6e2b61931737e662dd293b40578ccornelius // April 28, 113. 120759d709d503bab6e2b61931737e662dd293b40578ccornelius toTime->set(113, 3, 28); 120859d709d503bab6e2b61931737e662dd293b40578ccornelius { 120959d709d503bab6e2b61931737e662dd293b40578ccornelius LocalPointer<DateIntervalFormat> dif(DateIntervalFormat::createInstance("yyyyMd", enLocale, status)); 121059d709d503bab6e2b61931737e662dd293b40578ccornelius if (U_FAILURE(status)) { 121159d709d503bab6e2b61931737e662dd293b40578ccornelius dataerrln("Failure encountered: %s", u_errorName(status)); 121259d709d503bab6e2b61931737e662dd293b40578ccornelius return; 121359d709d503bab6e2b61931737e662dd293b40578ccornelius } 121459d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString actual; 121559d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString expected(ctou("4/26/0113 \\u2013 4/28/0113")); 121659d709d503bab6e2b61931737e662dd293b40578ccornelius FieldPosition pos = 0; 121759d709d503bab6e2b61931737e662dd293b40578ccornelius dif->format(*fromTime, *toTime, actual, pos, status); 121859d709d503bab6e2b61931737e662dd293b40578ccornelius if (U_FAILURE(status)) { 121959d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Failure encountered: %s", u_errorName(status)); 122059d709d503bab6e2b61931737e662dd293b40578ccornelius return; 122159d709d503bab6e2b61931737e662dd293b40578ccornelius } 122259d709d503bab6e2b61931737e662dd293b40578ccornelius if (actual != expected) { 122359d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Expected " + expected + ", got: " + actual); 122459d709d503bab6e2b61931737e662dd293b40578ccornelius } 122559d709d503bab6e2b61931737e662dd293b40578ccornelius } 122659d709d503bab6e2b61931737e662dd293b40578ccornelius { 122759d709d503bab6e2b61931737e662dd293b40578ccornelius LocalPointer<DateIntervalFormat> dif(DateIntervalFormat::createInstance("yyMd", enLocale, status)); 122859d709d503bab6e2b61931737e662dd293b40578ccornelius if (U_FAILURE(status)) { 122959d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Failure encountered: %s", u_errorName(status)); 123059d709d503bab6e2b61931737e662dd293b40578ccornelius return; 123159d709d503bab6e2b61931737e662dd293b40578ccornelius } 123259d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString actual; 123359d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString expected(ctou("4/26/13 \\u2013 4/28/13")); 123459d709d503bab6e2b61931737e662dd293b40578ccornelius FieldPosition pos = 0; 123559d709d503bab6e2b61931737e662dd293b40578ccornelius dif->format(*fromTime, *toTime, actual, pos, status); 123659d709d503bab6e2b61931737e662dd293b40578ccornelius if (U_FAILURE(status)) { 123759d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Failure encountered: %s", u_errorName(status)); 123859d709d503bab6e2b61931737e662dd293b40578ccornelius return; 123959d709d503bab6e2b61931737e662dd293b40578ccornelius } 124059d709d503bab6e2b61931737e662dd293b40578ccornelius if (actual != expected) { 124159d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Expected " + expected + ", got: " + actual); 124259d709d503bab6e2b61931737e662dd293b40578ccornelius } 124359d709d503bab6e2b61931737e662dd293b40578ccornelius } 124459d709d503bab6e2b61931737e662dd293b40578ccornelius { 124559d709d503bab6e2b61931737e662dd293b40578ccornelius LocalPointer<DateIntervalFormat> dif(DateIntervalFormat::createInstance("yMd", enLocale, status)); 124659d709d503bab6e2b61931737e662dd293b40578ccornelius if (U_FAILURE(status)) { 124759d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Failure encountered: %s", u_errorName(status)); 124859d709d503bab6e2b61931737e662dd293b40578ccornelius return; 124959d709d503bab6e2b61931737e662dd293b40578ccornelius } 125059d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString actual; 125159d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString expected(ctou("4/26/113 \\u2013 4/28/113")); 125259d709d503bab6e2b61931737e662dd293b40578ccornelius FieldPosition pos = 0; 125359d709d503bab6e2b61931737e662dd293b40578ccornelius dif->format(*fromTime, *toTime, actual, pos, status); 125459d709d503bab6e2b61931737e662dd293b40578ccornelius if (U_FAILURE(status)) { 125559d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Failure encountered: %s", u_errorName(status)); 125659d709d503bab6e2b61931737e662dd293b40578ccornelius return; 125759d709d503bab6e2b61931737e662dd293b40578ccornelius } 125859d709d503bab6e2b61931737e662dd293b40578ccornelius if (actual != expected) { 125959d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Expected " + expected + ", got: " + actual); 126059d709d503bab6e2b61931737e662dd293b40578ccornelius } 126159d709d503bab6e2b61931737e662dd293b40578ccornelius } 126259d709d503bab6e2b61931737e662dd293b40578ccornelius} 12638393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 1264c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::expectUserDII(const char** data, 1265c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru int32_t data_length) { 1266c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru int32_t i = 0; 1267c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UnicodeString str; 1268c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UErrorCode ec = U_ZERO_ERROR; 1269c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* pattern = data[0]; 1270c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru i++; 1271c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1272c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru while ( i < data_length ) { 1273c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* locName = data[i++]; 1274c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru Locale loc(locName); 1275c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru SimpleDateFormat ref(pattern, loc, ec); 127650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (U_FAILURE(ec)) { 127750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho dataerrln("contruct SimpleDateFormat in expectUserDII failed: %s", u_errorName(ec)); 127850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return; 127950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho } 1280c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* datestr = data[i++]; 1281c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* datestr_2 = data[i++]; 1282c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UDate date = ref.parse(ctou(datestr), ec); 1283c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("parse in expectUserDII", ec)) return; 1284c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UDate date_2 = ref.parse(ctou(datestr_2), ec); 1285c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("parse in expectUserDII", ec)) return; 1286c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateInterval dtitv(date, date_2); 1287c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1288c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru ec = U_ZERO_ERROR; 1289c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // test user created DateIntervalInfo 1290c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalInfo* dtitvinf = new DateIntervalInfo(ec); 1291c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvinf->setFallbackIntervalPattern("{0} --- {1}", ec); 1292c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvinf->setIntervalPattern(UDAT_YEAR_ABBR_MONTH_DAY, UCAL_MONTH, "yyyy MMM d - MMM y",ec); 1293c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("DateIntervalInfo::setIntervalPattern", ec)) return; 1294c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvinf->setIntervalPattern(UDAT_YEAR_ABBR_MONTH_DAY, UCAL_HOUR_OF_DAY, "yyyy MMM d HH:mm - HH:mm", ec); 1295c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("DateIntervalInfo::setIntervalPattern", ec)) return; 1296c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* dtitvfmt = DateIntervalFormat::createInstance(UDAT_YEAR_ABBR_MONTH_DAY, loc, *dtitvinf, ec); 1297c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvinf; 1298c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("createInstance(skeleton,dtitvinf) in expectUserDII", ec)) return; 1299c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru FieldPosition pos=0; 1300c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->format(&dtitv, str.remove(), pos, ec); 1301c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("format in expectUserDII", ec)) return; 1302c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru assertEquals((UnicodeString)"\"" + locName + "\\" + datestr + "\\" + datestr_2 + "\"", ctou(data[i++]), str); 1303c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1304c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru char result[1000]; 1305c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru char mesg[1000]; 1306c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG("interval format using user defined DateIntervalInfo\n"); 1307c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru str.extract(0, str.length(), result, "UTF-8"); 1308c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "interval date: %s\n", result); 1309c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg); 1310c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1311c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 1312c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 1313c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 1314c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1315c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1316c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::testStress() { 1317b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru if(quick){ 1318b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru logln("Quick mode: Skipping test"); 1319b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru return; 1320b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru } 1321b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru const char* DATA[] = { 1322c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "yyyy MM dd HH:mm:ss", 1323c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "2007 10 10 10:10:10", "2008 10 10 10:10:10", 1324c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "2007 10 10 10:10:10", "2007 11 10 10:10:10", 1325c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "2007 11 10 10:10:10", "2007 11 20 10:10:10", 1326c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "2007 01 10 10:00:10", "2007 01 10 14:10:10", 1327c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "2007 01 10 10:00:10", "2007 01 10 10:20:10", 1328c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "2007 01 10 10:10:10", "2007 01 10 10:10:20", 1329c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru }; 1330c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1331c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* testLocale[][3] = { 1332c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru //{"th", "", ""}, 1333c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"en", "", ""}, 1334c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"zh", "", ""}, 1335c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"de", "", ""}, 1336c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"ar", "", ""}, 1337c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"en", "GB", ""}, 1338c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"fr", "", ""}, 1339c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"it", "", ""}, 1340c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"nl", "", ""}, 1341c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"zh", "TW", ""}, 1342c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"ja", "", ""}, 1343c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"pt", "BR", ""}, 1344c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"ru", "", ""}, 1345c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"pl", "", ""}, 1346c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"tr", "", ""}, 1347c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"es", "", ""}, 1348c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"ko", "", ""}, 1349c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"sv", "", ""}, 1350c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"fi", "", ""}, 1351c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"da", "", ""}, 1352c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"pt", "PT", ""}, 1353c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"ro", "", ""}, 1354c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"hu", "", ""}, 1355c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"he", "", ""}, 1356c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"in", "", ""}, 1357c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"cs", "", ""}, 1358c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"el", "", ""}, 1359c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"no", "", ""}, 1360c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"vi", "", ""}, 1361c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"bg", "", ""}, 1362c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"hr", "", ""}, 1363c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"lt", "", ""}, 1364c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"sk", "", ""}, 1365c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"sl", "", ""}, 1366c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"sr", "", ""}, 1367c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"ca", "", ""}, 1368c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"lv", "", ""}, 1369c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"uk", "", ""}, 1370c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"hi", "", ""}, 1371c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru }; 1372c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1373c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru uint32_t localeIndex; 1374c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru for ( localeIndex = 0; localeIndex < ARRAY_SIZE(testLocale); ++localeIndex ) { 1375c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru char locName[32]; 1376c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru uprv_strcpy(locName, testLocale[localeIndex][0]); 1377c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru uprv_strcat(locName, testLocale[localeIndex][1]); 1378c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru stress(DATA, ARRAY_SIZE(DATA), Locale(testLocale[localeIndex][0], testLocale[localeIndex][1], testLocale[localeIndex][2]), locName); 1379c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 1380c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 1381c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1382c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1383c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::stress(const char** data, int32_t data_length, 1384c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const Locale& loc, const char* locName) { 1385c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UnicodeString skeleton[] = { 1386c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EEEEdMMMMy", 1387c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "dMMMMy", 1388c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "dMMMM", 1389c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "MMMMy", 1390c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EEEEdMMMM", 1391c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EdMMMy", 1392c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "dMMMy", 1393c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "dMMM", 1394c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "MMMy", 1395c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EdMMM", 1396c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EdMy", 1397c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "dMy", 1398c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "dM", 1399c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "My", 1400c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EdM", 1401c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "d", 1402c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "Ed", 1403c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "y", 1404c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "M", 1405c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "MMM", 1406c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "MMMM", 1407c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hm", 1408c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hmv", 1409c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hmz", 1410c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "h", 1411c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hv", 1412c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hz", 1413c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EEddMMyyyy", // following could be normalized 1414c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EddMMy", 1415c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hhmm", 1416c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hhmmzz", 1417c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hms", // following could not be normalized 1418c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "dMMMMMy", 1419c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EEEEEdM", 1420c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru }; 1421c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1422c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru int32_t i = 0; 1423c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UErrorCode ec = U_ZERO_ERROR; 1424c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UnicodeString str, str2; 1425c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru SimpleDateFormat ref(data[i++], loc, ec); 1426c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("construct SimpleDateFormat", ec)) return; 1427c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1428c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1429c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru char result[1000]; 1430c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru char mesg[1000]; 1431c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "locale: %s\n", locName); 1432c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg); 1433c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1434c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1435c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru while (i<data_length) { 1436c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1437c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // 'f' 1438c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* datestr = data[i++]; 1439c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* datestr_2 = data[i++]; 1440c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1441c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "original date: %s - %s\n", datestr, datestr_2); 1442c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg) 1443c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1444c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UDate date = ref.parse(ctou(datestr), ec); 1445c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("parse", ec)) return; 1446c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UDate date_2 = ref.parse(ctou(datestr_2), ec); 1447c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("parse", ec)) return; 1448c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateInterval dtitv(date, date_2); 1449c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1450c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru for ( uint32_t skeletonIndex = 0; 1451c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru skeletonIndex < ARRAY_SIZE(skeleton); 1452c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru ++skeletonIndex ) { 1453c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const UnicodeString& oneSkeleton = skeleton[skeletonIndex]; 1454c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* dtitvfmt = DateIntervalFormat::createInstance(oneSkeleton, loc, ec); 1455c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("createInstance(skeleton)", ec)) return; 1456c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* 1457c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // reset the calendar to be Gregorian calendar for "th" 1458c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( uprv_strcmp(locName, "th") == 0 ) { 1459c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru GregorianCalendar* gregCal = new GregorianCalendar(loc, ec); 1460c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("GregorianCalendar()", ec)) return; 1461c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const DateFormat* dformat = dtitvfmt->getDateFormat(); 1462c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateFormat* newOne = (DateFormat*)dformat->clone(); 1463c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru newOne->adoptCalendar(gregCal); 1464c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru //dtitvfmt->adoptDateFormat(newOne, ec); 1465c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->setDateFormat(*newOne, ec); 1466c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete newOne; 1467c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("adoptDateFormat()", ec)) return; 1468c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 1469c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 1470c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru FieldPosition pos=0; 1471c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->format(&dtitv, str.remove(), pos, ec); 1472c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("format", ec)) return; 1473c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1474c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru oneSkeleton.extract(0, oneSkeleton.length(), result, "UTF-8"); 1475c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "interval by skeleton: %s\n", result); 1476c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg) 1477c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru str.extract(0, str.length(), result, "UTF-8"); 1478c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "interval date: %s\n", result); 1479c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg) 1480c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1481c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 1482c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 1483c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1484c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // test user created DateIntervalInfo 1485c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru ec = U_ZERO_ERROR; 1486c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalInfo* dtitvinf = new DateIntervalInfo(ec); 1487c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvinf->setFallbackIntervalPattern("{0} --- {1}", ec); 1488c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvinf->setIntervalPattern(UDAT_YEAR_ABBR_MONTH_DAY, UCAL_MONTH, "yyyy MMM d - MMM y",ec); 1489c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("DateIntervalInfo::setIntervalPattern", ec)) return; 1490c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvinf->setIntervalPattern(UDAT_YEAR_ABBR_MONTH_DAY, UCAL_HOUR_OF_DAY, "yyyy MMM d HH:mm - HH:mm", ec); 1491c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("DateIntervalInfo::setIntervalPattern", ec)) return; 1492c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* dtitvfmt = DateIntervalFormat::createInstance(UDAT_YEAR_ABBR_MONTH_DAY, loc, *dtitvinf, ec); 1493c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvinf; 1494c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("createInstance(skeleton,dtitvinf)", ec)) return; 1495c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru FieldPosition pos=0; 1496c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->format(&dtitv, str.remove(), pos, ec); 1497c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( uprv_strcmp(locName, "th") ) { 1498c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("format", ec)) return; 1499c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1500c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG("interval format using user defined DateIntervalInfo\n"); 1501c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru str.extract(0, str.length(), result, "UTF-8"); 1502c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "interval date: %s\n", result); 1503c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg) 1504c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1505c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } else { 1506c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // for "th", the default calendar is Budhist, 1507c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // not Gregorian. 1508c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru assertTrue("Default calendar for \"th\" is Budhist", ec == U_ILLEGAL_ARGUMENT_ERROR); 1509c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru ec = U_ZERO_ERROR; 1510c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 1511c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 1512c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 1513c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 1514c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 15151b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubertvoid DateIntervalFormatTest::testTicket11583_2() { 15161b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert UErrorCode status = U_ZERO_ERROR; 15171b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert LocalPointer<DateIntervalFormat> fmt( 15181b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert DateIntervalFormat::createInstance("yMMM", "es-US", status)); 15191b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert if (!assertSuccess("Error create format object", status)) { 15201b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert return; 15211b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert } 15221b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert DateInterval interval((UDate) 1232364615000.0, (UDate) 1328787015000.0); 15231b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert UnicodeString appendTo; 15241b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert FieldPosition fpos(FieldPosition::DONT_CARE); 15251b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert UnicodeString expected("ene. de 2009 \\u2013 feb. de 2012"); 15261b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert assertEquals( 15271b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert "", 15281b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert expected.unescape(), 15291b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert fmt->format(&interval, appendTo, fpos, status)); 15301b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert if (!assertSuccess("Error formatting", status)) { 15311b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert return; 15321b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert } 15331b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert} 15341b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert 1535c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif /* #if !UCONFIG_NO_FORMATTING */ 1536