1c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 2c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru/******************************************************************** 3c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru * COPYRIGHT: 48393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * Copyright (c) 1997-2013, 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); 52c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru default: name = ""; break; 53c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 54c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 55c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 56c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru/** 57c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru * Test various generic API methods of DateIntervalFormat for API coverage. 58c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 59c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::testAPI() { 60c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 61c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* ====== Test create interval instance with default locale and skeleton 62c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 63c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 64c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat create instance with default locale and skeleton"); 65c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 66c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* dtitvfmt = DateIntervalFormat::createInstance(UDAT_YEAR_MONTH_DAY, status); 67c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if(U_FAILURE(status)) { 68c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: Could not create DateIntervalFormat (skeleton + default locale) - exitting"); 69c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 70c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } else { 71c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 72c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 73c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 74c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 75c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* ====== Test create interval instance with given locale and skeleton 76c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 77c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 78c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat create instance with given locale and skeleton"); 79c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 80c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt = DateIntervalFormat::createInstance(UDAT_YEAR_MONTH_DAY, Locale::getJapanese(), status); 81c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if(U_FAILURE(status)) { 82c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: Could not create DateIntervalFormat (skeleton + locale) - exitting"); 83c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 84c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } else { 85c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 86c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 87c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 88c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 89c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* ====== Test create interval instance with dateIntervalInfo and skeleton 90c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 91c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 92c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat create instance with dateIntervalInfo and skeleton"); 93c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 94c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalInfo* dtitvinf = new DateIntervalInfo(Locale::getSimplifiedChinese(), status); 95c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 96c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt = DateIntervalFormat::createInstance("EEEdMMMyhms", *dtitvinf, status); 97c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvinf; 98c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 99c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if(U_FAILURE(status)) { 100c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: Could not create DateIntervalFormat (skeleton + DateIntervalInfo + default locale) - exitting"); 101c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 102c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } else { 103c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 104c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 105c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 106c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 107c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* ====== Test create interval instance with dateIntervalInfo and skeleton 108c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 109c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 110c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat create instance with dateIntervalInfo and skeleton"); 111c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 112c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvinf = new DateIntervalInfo(Locale::getSimplifiedChinese(), status); 113c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 114c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt = DateIntervalFormat::createInstance("EEEdMMMyhms", Locale::getSimplifiedChinese(), *dtitvinf, status); 115c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvinf; 116c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if(U_FAILURE(status)) { 117c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: Could not create DateIntervalFormat (skeleton + DateIntervalInfo + locale) - exitting"); 118c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 119c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 120c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // not deleted, test clone 121c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 122c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 123c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // ====== Test clone() 124c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 125c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat clone"); 126c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 127c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* another = (DateIntervalFormat*)dtitvfmt->clone(); 128c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( (*another) != (*dtitvfmt) ) { 129c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: clone failed"); 130c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 131c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 13227f654740f2a26ad62a5c155af9199af9e69b889claireho 133c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // ====== Test getDateIntervalInfo, setDateIntervalInfo, adoptDateIntervalInfo 134c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 135c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat getDateIntervalInfo"); 136c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const DateIntervalInfo* inf = another->getDateIntervalInfo(); 137c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->setDateIntervalInfo(*inf, status); 138c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const DateIntervalInfo* anotherInf = dtitvfmt->getDateIntervalInfo(); 139c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( (*inf) != (*anotherInf) || U_FAILURE(status) ) { 140c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: getDateIntervalInfo/setDateIntervalInfo failed"); 141c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 142c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1438393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius { 1448393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius // We make sure that setDateIntervalInfo does not corrupt the cache. See ticket 9919. 1458393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius status = U_ZERO_ERROR; 1468393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius logln("Testing DateIntervalFormat setDateIntervalInfo"); 1478393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius const Locale &enLocale = Locale::getEnglish(); 1488393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius LocalPointer<DateIntervalFormat> dif(DateIntervalFormat::createInstance("yMd", enLocale, status)); 1498393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(status)) { 1508393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(status)); 1518393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1528393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1538393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius UnicodeString expected; 1548393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius LocalPointer<Calendar> fromTime(Calendar::createInstance(enLocale, status)); 1558393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius LocalPointer<Calendar> toTime(Calendar::createInstance(enLocale, status)); 1568393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(status)) { 1578393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(status)); 1588393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1598393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1608393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius FieldPosition pos = 0; 1618393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius fromTime->set(2013, 3, 26); 1628393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius toTime->set(2013, 3, 28); 1638393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dif->format(*fromTime, *toTime, expected, pos, status); 1648393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(status)) { 1658393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(status)); 1668393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1678393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1688393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius LocalPointer<DateIntervalInfo> dii(new DateIntervalInfo(Locale::getEnglish(), status)); 1698393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(status)) { 1708393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(status)); 1718393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1728393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1738393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dii->setIntervalPattern(ctou("yMd"), UCAL_DATE, ctou("M/d/y \\u2013 d"), status); 1748393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dif->setDateIntervalInfo(*dii, status); 1758393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(status)) { 1768393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(status)); 1778393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1788393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1798393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dif.adoptInstead(DateIntervalFormat::createInstance("yMd", enLocale, status)); 1808393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(status)) { 1818393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(status)); 1828393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1838393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1848393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius UnicodeString actual; 1858393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius pos = 0; 1868393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dif->format(*fromTime, *toTime, actual, pos, status); 1878393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(status)) { 1888393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(status)); 1898393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1908393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1918393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (expected != actual) { 1928393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("DateIntervalFormat.setIntervalInfo should have no side effects."); 1938393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1948393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1958393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 196c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* 197c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 198c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalInfo* nonConstInf = inf->clone(); 199c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->adoptDateIntervalInfo(nonConstInf, status); 200c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru anotherInf = dtitvfmt->getDateIntervalInfo(); 201c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( (*inf) != (*anotherInf) || U_FAILURE(status) ) { 202c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: adoptDateIntervalInfo failed"); 203c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 204c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 205c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 206c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // ====== Test getDateFormat, setDateFormat, adoptDateFormat 207c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 208c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 209c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat getDateFormat"); 210c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* 211b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru const DateFormat* fmt = another->getDateFormat(); 212c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->setDateFormat(*fmt, status); 213c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const DateFormat* anotherFmt = dtitvfmt->getDateFormat(); 214c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( (*fmt) != (*anotherFmt) || U_FAILURE(status) ) { 215c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: getDateFormat/setDateFormat failed"); 216c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 217c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 218c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 219c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateFormat* nonConstFmt = (DateFormat*)fmt->clone(); 220c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->adoptDateFormat(nonConstFmt, status); 221c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru anotherFmt = dtitvfmt->getDateFormat(); 222c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( (*fmt) != (*anotherFmt) || U_FAILURE(status) ) { 223c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: adoptDateFormat failed"); 224c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 225b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru delete fmt; 226c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 227c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 228c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 229c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // ======= Test getStaticClassID() 230c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 231c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing getStaticClassID()"); 232c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 233c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 234c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if(dtitvfmt->getDynamicClassID() != DateIntervalFormat::getStaticClassID()) { 235c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru errln("ERROR: getDynamicClassID() didn't return the expected value"); 236c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 237c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 238c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete another; 239c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 240c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // ====== test constructor/copy constructor and assignment 241c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* they are protected, no test 242c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru logln("Testing DateIntervalFormat constructor and assigment operator"); 243c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 244c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 245c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateFormat* constFmt = (constFmt*)dtitvfmt->getDateFormat()->clone(); 246c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru inf = dtitvfmt->getDateIntervalInfo()->clone(); 247c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 248c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 249c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* dtifmt = new DateIntervalFormat(fmt, inf, status); 250c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if(U_FAILURE(status)) { 251c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: Could not create DateIntervalFormat (default) - exitting"); 252c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 253c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 254c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 255c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* dtifmt2 = new(dtifmt); 256c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( (*dtifmt) != (*dtifmt2) ) { 257c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: Could not create DateIntervalFormat (default) - exitting"); 258c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 259c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 260c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 261c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat dtifmt3 = (*dtifmt); 262c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( (*dtifmt) != dtifmt3 ) { 263c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: Could not create DateIntervalFormat (default) - exitting"); 264c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 265c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 266c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 267c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtifmt2; 268c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtifmt3; 269c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtifmt; 270c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 271c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 272c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 273c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru //===== test format and parse ================== 274c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru Formattable formattable; 275c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru formattable.setInt64(10); 276c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UnicodeString res; 277c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru FieldPosition pos = 0; 278c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 279c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->format(formattable, res, pos, status); 280c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( status != U_ILLEGAL_ARGUMENT_ERROR ) { 281c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: format non-date-interval object should set U_ILLEGAL_ARGUMENT_ERROR - exitting"); 282c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 283c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 284c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 285c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateInterval* dtitv = new DateInterval(3600*24*365, 3600*24*366); 286c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru formattable.adoptObject(dtitv); 287c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru res.remove(); 288c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru pos = 0; 289c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 290c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->format(formattable, res, pos, status); 291c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( U_FAILURE(status) ) { 292c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: format date interval failed - exitting"); 293c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 294c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 295c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 296c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const DateFormat* dfmt = dtitvfmt->getDateFormat(); 297c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru Calendar* fromCal = dfmt->getCalendar()->clone(); 298c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru Calendar* toCal = dfmt->getCalendar()->clone(); 299c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru res.remove(); 300c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru pos = 0; 301c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 302c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->format(*fromCal, *toCal, res, pos, status); 303c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( U_FAILURE(status) ) { 304c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: format date interval failed - exitting"); 305c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 306c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 307c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete fromCal; 308c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete toCal; 309c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 310c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 311c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru Formattable fmttable; 312c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru status = U_ZERO_ERROR; 313b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru // TODO: why do I need cast? 314c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru ((Format*)dtitvfmt)->parseObject(res, fmttable, status); 315c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( status != U_INVALID_FORMAT_ERROR ) { 316c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dataerrln("ERROR: parse should set U_INVALID_FORMAT_ERROR - exitting"); 317c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru return; 318c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 319c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 320c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 321c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 322b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho //====== test setting time zone 323b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho logln("Testing DateIntervalFormat set & format with different time zones, get time zone"); 324b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho status = U_ZERO_ERROR; 325b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho dtitvfmt = DateIntervalFormat::createInstance("MMMdHHmm", Locale::getEnglish(), status); 326b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho if ( U_SUCCESS(status) ) { 327b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho UDate date1 = 1299090600000.0; // 2011-Mar-02 1030 in US/Pacific, 2011-Mar-03 0330 in Asia/Tokyo 328b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho UDate date2 = 1299115800000.0; // 2011-Mar-02 1730 in US/Pacific, 2011-Mar-03 1030 in Asia/Tokyo 329b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho 330b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho DateInterval * dtitv12 = new DateInterval(date1, date2); 331b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho TimeZone * tzCalif = TimeZone::createTimeZone("US/Pacific"); 332b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho TimeZone * tzTokyo = TimeZone::createTimeZone("Asia/Tokyo"); 33359d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString fmtCalif = UnicodeString(ctou("Mar 2, 10:30 \\u2013 17:30")); 33459d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString fmtTokyo = UnicodeString(ctou("Mar 3, 03:30 \\u2013 10:30")); 335b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho 336b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho dtitvfmt->adoptTimeZone(tzCalif); 337b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho res.remove(); 338b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho pos = 0; 339b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho status = U_ZERO_ERROR; 340b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho dtitvfmt->format(dtitv12, res, pos, status); 341b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho if ( U_SUCCESS(status) ) { 342b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho if ( res.compare(fmtCalif) != 0 ) { 343b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho errln("ERROR: DateIntervalFormat::format for tzCalif, expect " + fmtCalif + ", get " + res); 344b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } 345b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } else { 346b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho errln("ERROR: DateIntervalFormat::format for tzCalif, status %s", u_errorName(status)); 347b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } 348b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho 349b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho dtitvfmt->setTimeZone(*tzTokyo); 350b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho res.remove(); 351b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho pos = 0; 352b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho status = U_ZERO_ERROR; 353b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho dtitvfmt->format(dtitv12, res, pos, status); 354b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho if ( U_SUCCESS(status) ) { 355b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho if ( res.compare(fmtTokyo) != 0 ) { 356b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho errln("ERROR: DateIntervalFormat::format for fmtTokyo, expect " + fmtTokyo + ", get " + res); 357b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } 358b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } else { 359b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho errln("ERROR: DateIntervalFormat::format for tzTokyo, status %s", u_errorName(status)); 360b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } 361b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho 362b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho if ( dtitvfmt->getTimeZone() != *tzTokyo ) { 363b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho errln("ERROR: DateIntervalFormat::getTimeZone returns mismatch."); 364b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } 365b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho 366b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho delete tzTokyo; // tzCalif was owned by dtitvfmt which should have deleted it 367b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho delete dtitv12; 368b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho delete dtitvfmt; 369b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } else { 370b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho errln("ERROR: DateIntervalFormat::createInstance(\"MdHH\", Locale::getEnglish(), ...), status %s", u_errorName(status)); 371b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho } 372c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru //====== test format in testFormat() 373c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 37450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho //====== test DateInterval class (better coverage) 37550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho DateInterval dtitv1(3600*24*365, 3600*24*366); 37650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho DateInterval dtitv2(dtitv1); 37750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 37850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (!(dtitv1 == dtitv2)) { 37950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho errln("ERROR: Copy constructor failed for DateInterval."); 38050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho } 38150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 38250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho DateInterval dtitv3(3600*365, 3600*366); 38350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho dtitv3 = dtitv1; 38450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (!(dtitv3 == dtitv1)) { 38550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho errln("ERROR: Equal operator failed for DateInterval."); 38650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho } 38750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 38850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho DateInterval *dtitv4 = dtitv1.clone(); 38950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (*dtitv4 != dtitv1) { 39050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho errln("ERROR: Equal operator failed for DateInterval."); 39150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho } 39250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho delete dtitv4; 393c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 394c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 395c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 396c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru/** 397c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru * Test format 398c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 399c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::testFormat() { 400c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // first item is date pattern 401c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // followed by a group of locale/from_data/to_data/skeleton/interval_data 402c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* DATA[] = { 403c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "yyyy MM dd HH:mm:ss", 404b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru // test root 4058393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "root", "2007 11 10 10:10:10", "2007 12 10 10:10:10", "yM", "2007-11 \\u2013 2007-12", 406b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru 407b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru // test 'H' and 'h', using availableFormat in fallback 408b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 10 15:10:10", "Hms", "10:10:10 \\u2013 15:10:10", 409b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-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", 410b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru 411c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "MMMM", "October 2007 \\u2013 October 2008", 412c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "MMM", "Oct 2007 \\u2013 Oct 2008", 413c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // test skeleton with both date and time 41454dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 415c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 41659d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 11 10 10:10:10", "2007 11 10 11:10:10", "dMMMyhm", "Nov 10, 2007, 10:10 \\u2013 11:10 AM", 417c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 418c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-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", 41950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 11 10 10:10:10", "2007 11 10 11:10:10", "Hms", "10:10:10 \\u2013 11:10:10", 42050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 11 10 20:10:10", "2007 11 10 21:10:10", "Hms", "20:10:10 \\u2013 21:10:10", 421c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 422c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-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", 423c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 424c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMMMMy", "October 10, 2007 \\u2013 October 10, 2008", 425c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 426c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMMMM", "October 10, 2007 \\u2013 October 10, 2008", 427c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 428c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "MMMMy", "October 2007 \\u2013 October 2008", 429c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 430c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-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", 431c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 432c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-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", 433c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 434c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMMMy", "Oct 10, 2007 \\u2013 Oct 10, 2008", 435c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 436c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMMM", "Oct 10, 2007 \\u2013 Oct 10, 2008", 437c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 438c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "MMMy", "Oct 2007 \\u2013 Oct 2008", 439c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 440c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-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", 441c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4428393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EdMy", "Wed, 10/10/2007 \\u2013 Fri, 10/10/2008", 443c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4448393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMy", "10/10/2007 \\u2013 10/10/2008", 445c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4468393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dM", "10/10/2007 \\u2013 10/10/2008", 447c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4488393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "My", "10/2007 \\u2013 10/2008", 449c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4508393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EdM", "Wed, 10/10/2007 \\u2013 Fri, 10/10/2008", 451c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4528393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "d", "10/10/2007 \\u2013 10/10/2008", 453c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 454c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "Ed", "10 Wed \\u2013 10 Fri", 455c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 45659d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "y", "2007 \\u2013 2008", 457c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4588393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "M", "10/2007 \\u2013 10/2008", 459c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 460c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 461c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 46254dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 46354dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 46454dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 465c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 46654dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 467c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 46854dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 469c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 47054dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 471c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 47254dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 473c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 47454dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 475c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4768393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EEddMMyyyy", "Wed, 10/10/2007 \\u2013 Fri, 10/10/2008", 477c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4788393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EddMMy", "Wed, 10/10/2007 \\u2013 Fri, 10/10/2008", 479c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 48054dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 481c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 48254dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 483c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 48454dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 485c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 486c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMMMMMy", "O 10, 2007 \\u2013 O 10, 2008", 487c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 4888393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EEEEEdM", "W, 10/10/2007 \\u2013 F, 10/10/2008", 489c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 490c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EEEEdMMMMy", "Wednesday, October 10 \\u2013 Saturday, November 10, 2007", 491c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 492c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMMMMy", "October 10 \\u2013 November 10, 2007", 493c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 494c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMMMM", "October 10 \\u2013 November 10", 495c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 49659d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "MMMMy", "October \\u2013 November 2007", 497c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 498c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EEEEdMMMM", "Wednesday, October 10 \\u2013 Saturday, November 10", 499c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 500c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EdMMMy", "Wed, Oct 10 \\u2013 Sat, Nov 10, 2007", 501c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 502c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMMMy", "Oct 10 \\u2013 Nov 10, 2007", 503c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 504c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMMM", "Oct 10 \\u2013 Nov 10", 505c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 50659d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "MMMy", "Oct \\u2013 Nov 2007", 507c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 508c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EdMMM", "Wed, Oct 10 \\u2013 Sat, Nov 10", 509c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 5108393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EdMy", "Wed, 10/10/2007 \\u2013 Sat, 11/10/2007", 511c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 5128393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMy", "10/10/2007 \\u2013 11/10/2007", 513c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 514c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 5158393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "My", "10/2007 \\u2013 11/2007", 516c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 517c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EdM", "Wed, 10/10 \\u2013 Sat, 11/10", 518c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 519c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "d", "10/10 \\u2013 11/10", 520c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 521c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "Ed", "10 Wed \\u2013 10 Sat", 522c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 523c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "y", "2007", 524c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 52559d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "M", "10 \\u2013 11", 526c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 52759d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "MMM", "Oct \\u2013 Nov", 528c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 52959d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "MMMM", "October \\u2013 November", 530c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 53154dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 53254dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 53354dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 534c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 53554dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 536c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 53754dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 538c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 53954dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 540c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 54154dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 542c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 54354dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 544c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 5458393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EEddMMyyyy", "Wed, 10/10/2007 \\u2013 Sat, 11/10/2007", 546c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 5478393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EddMMy", "Wed, 10/10/2007 \\u2013 Sat, 11/10/2007", 548c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 549c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 55054dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 551c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 55254dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 553c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 554c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMMMMMy", "O 10 \\u2013 N 10, 2007", 555c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 556c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EEEEEdM", "W, 10/10 \\u2013 S, 11/10", 557c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 558c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EEEEdMMMMy", "Saturday, November 10 \\u2013 Tuesday, November 20, 2007", 559c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 56059d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMMMy", "November 10 \\u2013 20, 2007", 561c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 56259d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMMM", "November 10 \\u2013 20", 563c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 564c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 565c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EEEEdMMMM", "Saturday, November 10 \\u2013 Tuesday, November 20", 566c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 567c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EdMMMy", "Sat, Nov 10 \\u2013 Tue, Nov 20, 2007", 568c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 56959d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMMy", "Nov 10 \\u2013 20, 2007", 570c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 57159d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMM", "Nov 10 \\u2013 20", 572c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 573c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "MMMy", "Nov 2007", 574c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 575c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EdMMM", "Sat, Nov 10 \\u2013 Tue, Nov 20", 576c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 5778393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EdMy", "Sat, 11/10/2007 \\u2013 Tue, 11/20/2007", 578c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 5798393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMy", "11/10/2007 \\u2013 11/20/2007", 580c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 581c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dM", "11/10 \\u2013 11/20", 582c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 583c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "My", "11/2007", 584c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 585c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EdM", "Sat, 11/10 \\u2013 Tue, 11/20", 586c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 58759d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "d", "10 \\u2013 20", 588c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 589c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "Ed", "10 Sat \\u2013 20 Tue", 590c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 591c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "y", "2007", 592c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 593c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "M", "11", 594c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 595c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "MMM", "Nov", 596c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 597c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "MMMM", "November", 598c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 59954dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 60054dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 60154dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 602c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 60354dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 604c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 60554dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 606c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 60754dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 608c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 60954dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 610c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 61154dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 612c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 6138393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EEddMMyyyy", "Sat, 11/10/2007 \\u2013 Tue, 11/20/2007", 614c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 6158393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EddMMy", "Sat, 11/10/2007 \\u2013 Tue, 11/20/2007", 616c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 61754dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 618c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 61954dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 620c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 62154dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 62254dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 62354dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 624c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 62559d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMMMMy", "N 10 \\u2013 20, 2007", 626c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 627c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EEEEEdM", "S, 11/10 \\u2013 T, 11/20", 628c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 629c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EEEEdMMMMy", "Wednesday, January 10, 2007", 630c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 631c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dMMMMy", "January 10, 2007", 632c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 633c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dMMMM", "January 10", 634c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 635c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "MMMMy", "January 2007", 636c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 637c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EEEEdMMMM", "Wednesday, January 10", 638c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 639c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EdMMMy", "Wed, Jan 10, 2007", 640c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 641c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dMMMy", "Jan 10, 2007", 642c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 643c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dMMM", "Jan 10", 644c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 645c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "MMMy", "Jan 2007", 646c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 647c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EdMMM", "Wed, Jan 10", 648c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 649c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 650c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dMy", "1/10/2007", 651c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 652c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dM", "1/10", 653c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 654c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "My", "1/2007", 655c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 656c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EdM", "Wed, 1/10", 657c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 658c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "d", "10", 659c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 660c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "Ed", "10 Wed", 661c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 662c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "y", "2007", 663c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 664c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "M", "1", 665c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 666c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "MMM", "Jan", 667c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 668c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "MMMM", "January", 669c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 670c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hm", "10:00 AM \\u2013 2:10 PM", 67159d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "Hm", "10:00 \\u2013 14:10", 672c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 673c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hmv", "10:00 AM \\u2013 2:10 PM PT", 674c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 675c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hmz", "10:00 AM \\u2013 2:10 PM PST", 676c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 677c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "h", "10 AM \\u2013 2 PM", 67859d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "H", "10 \\u2013 14", 679c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 680c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 681c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hz", "10 AM \\u2013 2 PM PST", 682c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 683c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EEddMMyyyy", "Wed, 01/10/2007", 684c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 685c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EddMMy", "Wed, 01/10/2007", 686c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 687c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hhmm", "10:00 AM \\u2013 2:10 PM", 68859d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "HHmm", "10:00 \\u2013 14:10", 689c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 690c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hhmmzz", "10:00 AM \\u2013 2:10 PM PST", 691c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 692b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-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", 69350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "Hms", "10:00:10 \\u2013 14:10:10", 694c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 695b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dMMMMMy", "J 10, 2007", 696c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 697c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EEEEEdM", "W, 1/10", 698c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "dMMMMy", "January 10, 2007", 699c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 700c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "dMMMM", "January 10", 701c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 702c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "MMMMy", "January 2007", 703c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 704c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "EEEEdMMMM", "Wednesday, January 10", 705c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 706c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "EdMMMy", "Wed, Jan 10, 2007", 707c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 708c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "dMMMy", "Jan 10, 2007", 709c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 710c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "dMMM", "Jan 10", 711c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 712c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 713c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "EdMMM", "Wed, Jan 10", 714c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 715c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "EdMy", "Wed, 1/10/2007", 716c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 717c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "dMy", "1/10/2007", 718c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 719c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 720c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "My", "1/2007", 721c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 722c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "EdM", "Wed, 1/10", 723c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 724c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "d", "10", 725c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 726c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 727c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "y", "2007", 728c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 729c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "M", "1", 730c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 731c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 732c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 73359d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hm", "10:00 \\u2013 10:20 AM", 73459d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "Hm", "10:00 \\u2013 10:20", 735c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 736c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 73759d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hmz", "10:00 \\u2013 10:20 AM PST", 738c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 739c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 74050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hv", "10 AM PT", 741c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 742c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 743c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 744c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "EddMMy", "Wed, 01/10/2007", 745c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 74659d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hhmm", "10:00 \\u2013 10:20 AM", 74759d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "HHmm", "10:00 \\u2013 10:20", 748c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 74959d709d503bab6e2b61931737e662dd293b40578ccornelius "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hhmmzz", "10:00 \\u2013 10:20 AM PST", 750c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 751c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 752b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "dMMMMMy", "J 10, 2007", 753c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 754c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 755c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EEEEdMMMMy", "Wednesday, January 10, 2007", 756c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 757c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "dMMMMy", "January 10, 2007", 758c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 759c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 760c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "MMMMy", "January 2007", 761c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 762c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EEEEdMMMM", "Wednesday, January 10", 763c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 764c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 765c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "dMMMy", "Jan 10, 2007", 766c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 767c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "dMMM", "Jan 10", 768c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 769c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 770c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EdMMM", "Wed, Jan 10", 771c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 772c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EdMy", "Wed, 1/10/2007", 773c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 774c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "dMy", "1/10/2007", 775c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 776c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 777c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "My", "1/2007", 778c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 779c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EdM", "Wed, 1/10", 780c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 781c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "d", "10", 782c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 783c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 784c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "y", "2007", 785c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 786c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "M", "1", 787c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 788c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 789c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "MMMM", "January", 790c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 791c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hm", "10:10 AM", 79250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "Hm", "10:10", 793c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 794c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 795c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hmz", "10:10 AM PST", 796c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 79750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "h", "10 AM", 798c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 79950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hv", "10 AM PT", 800c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 801c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 802c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EEddMMyyyy", "Wed, 01/10/2007", 803c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 804c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 805c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hhmm", "10:10 AM", 80650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "HHmm", "10:10", 807c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 808c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hhmmzz", "10:10 AM PST", 809c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 810c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 811b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "dMMMMMy", "J 10, 2007", 812c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 813c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EEEEEdM", "W, 1/10", 814c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 815c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-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", 816c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 817c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 818c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMMMMy", "2007\\u5e7410\\u670810\\u65e5\\u81f311\\u670810\\u65e5", 819c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 820c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 821c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "MMMMy", "2007\\u5e7410\\u6708\\u81f311\\u6708", 822c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 823c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 824682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "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", 825c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 826c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-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", 827c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 828c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 829c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMMM", "11\\u670810\\u65e5\\u81f320\\u65e5", 830c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 831b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-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:) 832c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 833c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-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", 834c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 835c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8368393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig 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", 837c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 838c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 83954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dM", "11/10 \\u2013 11/20", 840c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 84154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "My", "2007/11", 842c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 84354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EdM", "11/10\\u5468\\u516d\\u81f311/20\\u5468\\u4e8c", 844c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 845c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 846b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "y", "2007\\u5E74", // (fixed expected result per ticket:6626:) 847c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 84827f654740f2a26ad62a5c155af9199af9e69b889claireho "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "M", "11\\u6708", 849c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 85054dcd9b6a06071f647dac967e9e267abb9410720Craig 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) 851c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8528393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 853682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "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", 854c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 85554dcd9b6a06071f647dac967e9e267abb9410720Craig 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", 856c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 857b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-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:) 858c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 859c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hm", "\\u4e0a\\u534810:00\\u81f3\\u4e0b\\u53482:10", 860c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 861c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 862682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "zh", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "hmz", "GMT-8\\u4e0a\\u534810:00\\u81f3\\u4e0b\\u53482:10", 863c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 86454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "zh", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "h", "\\u4e0a\\u534810\\u65F6\\u81f3\\u4e0b\\u53482\\u65f6", 865c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 866682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil 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", 867c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 868c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hm", "\\u4e0a\\u534810:00\\u81f310:20", 869c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 870682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil 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", 871c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 872682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "zh", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hz", "GMT-8\\u4e0a\\u534810\\u65f6", 873c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 874c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hm", "\\u4e0a\\u534810:10", 875c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 87627f654740f2a26ad62a5c155af9199af9e69b889claireho "zh", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "h", "\\u4e0a\\u534810\\u65f6", 877c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 87854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EEEEdMMMy", "Mittwoch, 10. Okt. 2007 - Freitag, 10. Okt. 2008", 879c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 880c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 88154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMMM", "10. Okt. 2007 - 10. Okt. 2008", 882c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 88354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "MMMy", "Okt. 2007 - Okt. 2008", 884c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 885c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8868393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EdMy", "Mi., 10.10.2007 - Fr., 10.10.2008", 887c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8888393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "dMy", "10.10.2007 - 10.10.2008", 889c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 890c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8918393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "My", "10.2007 - 10.2008", 892c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8938393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "EdM", "Mi., 10.10.2007 - Fr., 10.10.2008", 894c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 895c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 896c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "y", "2007-2008", 897c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 8988393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "M", "10.2007 - 10.2008", 899c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 900c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 901b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "hm", "10.10.2007 10:10 vorm. - 10.10.2008 10:10 vorm.", 90250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "Hm", "10.10.2007 10:10 - 10.10.2008 10:10", 903c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 90454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EEEEdMMMy", "Mittwoch, 10. Okt. - Samstag, 10. Nov. 2007", 905c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 906c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 90754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dMMM", "10. Okt. - 10. Nov.", 908c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 90954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "MMMy", "Okt.-Nov. 2007", 910c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 91154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "EEEEdMMM", "Mittwoch, 10. Okt. - Samstag, 10. Nov.", 912c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 913c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 914c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "dM", "10.10. - 10.11.", 915c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9168393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "My", "10.2007 - 11.2007", 917c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 918c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 919c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "d", "10.10. - 10.11.", 920c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 921c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "y", "2007", 922c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 923c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 92454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "MMM", "Okt.-Nov.", 925c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 926c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 927b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "hms", "10.10.2007 10:10:10 vorm. - 10.11.2007 10:10:10 vorm.", 92850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "de", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "Hms", "10.10.2007 10:10:10 - 10.11.2007 10:10:10", 929c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 93054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EEEEdMMMy", "Samstag, 10. - Dienstag, 20. Nov. 2007", 931c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 93254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dMMMy", "10.-20. Nov. 2007", 933c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 934c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 93554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "MMMy", "Nov. 2007", 936c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 93754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EEEEdMMM", "Samstag, 10. - Dienstag, 20. Nov.", 938c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9398393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "EdMy", "Sa., 10.11.2007 - Di., 20.11.2007", 940c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 941c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 942c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "dM", "10.11. - 20.11.", 943c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 94450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "My", "11.2007", 945c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 946c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 947c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "d", "10.-20.", 948c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 949c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "y", "2007", 950c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 951c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 952682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "hmv", "10.11.2007 10:10 vorm. Los Angeles Zeit - 20.11.2007 10:10 vorm. Los Angeles Zeit", 953c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 95454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EEEEdMMMy", "Mittwoch, 10. Jan. 2007", 955c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 956c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 95754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "dMMM", "10. Jan.", 958c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 95954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "MMMy", "Jan. 2007", 960c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 96154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "EEEEdMMM", "Mittwoch, 10. Jan.", 962c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 963c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 96450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "de", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "h", "10 vorm. - 2 nachm.", 96527f654740f2a26ad62a5c155af9199af9e69b889claireho "de", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "H", "10-14 Uhr", 966c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 96754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "EEEEdMMM", "Mittwoch, 10. Jan.", 968c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 969c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 970682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "de", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hmv", "10:00-10:20 vorm. Los Angeles Zeit", 971c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 972682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "de", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hmz", "10:00-10:20 vorm. GMT-8", 973c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 97450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "de", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "h", "10 vorm.", 97527f654740f2a26ad62a5c155af9199af9e69b889claireho "de", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "H", "10 Uhr", 976c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 977c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 978682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "de", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "hz", "10 vorm. GMT-8", 979c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 98054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "EEEEdMMMy", "Mittwoch, 10. Jan. 2007", 981c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 982c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 983682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "de", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hmv", "10:10 vorm. Los Angeles Zeit", 984c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 985682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "de", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hmz", "10:10 vorm. GMT-8", 986c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 9878393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 988682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "de", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hv", "10 vorm. Los Angeles Zeit", 98950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 990682a8ebb21f708096cbeb6cdb69d449cfff85ad1Neil Fuller "de", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "hz", "10 vorm. GMT-8", 99150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 99250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho // Thai (default calendar buddhist) 99350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 99459d709d503bab6e2b61931737e662dd293b40578ccornelius // BEGIN ANDROID-changed. Default calendar in Android is Gregorian for th locale. 99559d709d503bab6e2b61931737e662dd293b40578ccornelius // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "EEEEdMMMy", "\\u0E27\\u0E31\\u0E19\\u0E1E\\u0E38\\u0E18 10 \\u0E15.\\u0E04. 2550 - \\u0E27\\u0E31\\u0E19\\u0E28\\u0E38\\u0E01\\u0E23\\u0E4C 10 \\u0E15.\\u0E04. 2551", 99650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 99759d709d503bab6e2b61931737e662dd293b40578ccornelius // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "dMMM", "10 \\u0E15.\\u0E04. 2550 - 10 \\u0E15.\\u0E04. 2551", 99850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 99959d709d503bab6e2b61931737e662dd293b40578ccornelius // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "MMMy", "\\u0E15.\\u0E04. 2550 - \\u0E15.\\u0E04. 2551", 100050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 100150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 100259d709d503bab6e2b61931737e662dd293b40578ccornelius // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "EdMy", "\\u0E1E. 10/10/2550 - \\u0E28. 10/10/2551", 100350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 100459d709d503bab6e2b61931737e662dd293b40578ccornelius // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "dMy", "10/10/2550 - 10/10/2551", 100550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 1006c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 10078393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "My", "10/2550 - 10/2551", 100850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 100959d709d503bab6e2b61931737e662dd293b40578ccornelius // "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "EdM", "\\u0E1E. 10/10/2550 - \\u0E28. 10/10/2551", 101050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 101150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 101250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "y", "2550-2551", 101350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10148393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "th", "2550 10 10 10:10:10", "2551 10 10 10:10:10", "M", "10/2550 - 10/2551", 101550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 101650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 101759d709d503bab6e2b61931737e662dd293b40578ccornelius // "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "EEEEdMMMy", "\\u0E27\\u0E31\\u0E19\\u0E1E\\u0E38\\u0E18 10 \\u0E15.\\u0E04. - \\u0E27\\u0E31\\u0E19\\u0E40\\u0E2A\\u0E32\\u0E23\\u0E4C 10 \\u0E1E.\\u0E22. 2550", 101850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 101950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10208393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "dMMM", "10 \\u0E15.\\u0E04. - 10 \\u0E1E.\\u0E22.", 102150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 102259d709d503bab6e2b61931737e662dd293b40578ccornelius // "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "MMMy", "\\u0E15.\\u0E04.-\\u0E1E.\\u0E22. 2550", 102350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 102450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "dM", "10/10 - 10/11", 102550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10268393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "My", "10/2550 - 11/2550", 102750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 102850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 102950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "d", "10/10 - 10/11", 103050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 103159d709d503bab6e2b61931737e662dd293b40578ccornelius // "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "y", "\\u0E1E.\\u0E28. 2550", 103250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 103350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 103450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "MMM", "\\u0E15.\\u0E04.-\\u0E1E.\\u0E22.", 103559d709d503bab6e2b61931737e662dd293b40578ccornelius // END ANDROID-changed 1036c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru }; 1037c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru expect(DATA, ARRAY_SIZE(DATA)); 1038c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 1039c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1040c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1041c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::expect(const char** data, int32_t data_length) { 1042c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru int32_t i = 0; 1043c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UErrorCode ec = U_ZERO_ERROR; 1044c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UnicodeString str, str2; 1045c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* pattern = data[0]; 1046c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru i++; 1047c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1048c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1049c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru char result[1000]; 1050c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru char mesg[1000]; 1051c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "locale: %s\n", locName); 1052c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg); 1053c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1054c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1055c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru while (i<data_length) { 1056c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* locName = data[i++]; 1057c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru Locale loc(locName); 1058c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru SimpleDateFormat ref(pattern, loc, ec); 105950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (U_FAILURE(ec)) { 106050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho dataerrln("contruct SimpleDateFormat in expect failed: %s", u_errorName(ec)); 106150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return; 106250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho } 1063c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // 'f' 1064c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* datestr = data[i++]; 1065c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* datestr_2 = data[i++]; 1066c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1067c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "original date: %s - %s\n", datestr, datestr_2); 1068c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg) 1069c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1070c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UDate date = ref.parse(ctou(datestr), ec); 1071c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("parse 1st data in expect", ec)) return; 1072c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UDate date_2 = ref.parse(ctou(datestr_2), ec); 1073c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("parse 2nd data in expect", ec)) return; 1074c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateInterval dtitv(date, date_2); 1075c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1076c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const UnicodeString& oneSkeleton = data[i++]; 1077c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1078c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* dtitvfmt = DateIntervalFormat::createInstance(oneSkeleton, loc, ec); 1079c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("createInstance(skeleton) in expect", ec)) return; 1080c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru FieldPosition pos=0; 1081c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->format(&dtitv, str.remove(), pos, ec); 1082c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("format in expect", ec)) return; 1083c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru assertEquals((UnicodeString)"\"" + locName + "\\" + oneSkeleton + "\\" + datestr + "\\" + datestr_2 + "\"", ctou(data[i++]), str); 1084c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1085c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1086c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1087c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1088c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru str.extract(0, str.length(), result, "UTF-8"); 1089c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "interval date: %s\n", result); 1090c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru std::cout << "//"; 1091c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg) 1092c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru std::cout << "\"" << locName << "\", " 1093c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru << "\"" << datestr << "\", " 1094c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru << "\"" << datestr_2 << "\", "; 1095c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru printUnicodeString(oneSkeleton); 1096c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru printUnicodeString(str); 1097c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru std::cout << "\n\n"; 1098c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1099c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 1100c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 1101c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 1102c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1103c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1104c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru/* 1105c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru * Test format using user defined DateIntervalInfo 1106c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 1107c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::testFormatUserDII() { 1108c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // first item is date pattern 1109c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* DATA[] = { 1110c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "yyyy MM dd HH:mm:ss", 1111c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "Oct 10, 2007 --- Oct 10, 2008", 1112c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1113c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "2007 Oct 10 - Nov 2007", 1114c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1115c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "Nov 10, 2007 --- Nov 20, 2007", 1116c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1117c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "Jan 10, 2007", 1118c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1119c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "Jan 10, 2007", 1120c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1121c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "en", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "Jan 10, 2007", 1122c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1123c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "2007\\u5e7410\\u670810\\u65e5 --- 2008\\u5e7410\\u670810\\u65e5", 1124c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1125c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "2007 10\\u6708 10 - 11\\u6708 2007", 1126c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1127c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "zh", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "2007\\u5e7411\\u670810\\u65e5 --- 2007\\u5e7411\\u670820\\u65e5", 1128c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1129b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-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:) 1130c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1131b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-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:) 1132c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1133b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-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:) 1134c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 113554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "10. Okt. 2007 --- 10. Okt. 2008", 1136c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1137c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 113854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "10. Nov. 2007 --- 20. Nov. 2007", 1139c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 114054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "10. Jan. 2007", 1141c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 114254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius "de", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "10. Jan. 2007", 1143c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1144c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 114559d709d503bab6e2b61931737e662dd293b40578ccornelius "es", "2007 10 10 10:10:10", "2008 10 10 10:10:10", "10 de oct. de 2007 --- 10 de oct. de 2008", 1146c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 114759d709d503bab6e2b61931737e662dd293b40578ccornelius "es", "2007 10 10 10:10:10", "2007 11 10 10:10:10", "2007 oct. 10 - nov. 2007", 1148c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 114959d709d503bab6e2b61931737e662dd293b40578ccornelius "es", "2007 11 10 10:10:10", "2007 11 20 10:10:10", "10 de nov. de 2007 --- 20 de nov. de 2007", 1150c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 115159d709d503bab6e2b61931737e662dd293b40578ccornelius "es", "2007 01 10 10:00:10", "2007 01 10 14:10:10", "10 de ene. de 2007", 1152c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 115359d709d503bab6e2b61931737e662dd293b40578ccornelius "es", "2007 01 10 10:00:10", "2007 01 10 10:20:10", "10 de ene. de 2007", 1154b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho 115559d709d503bab6e2b61931737e662dd293b40578ccornelius "es", "2007 01 10 10:10:10", "2007 01 10 10:10:20", "10 de ene. de 2007", 1156c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru }; 1157c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru expectUserDII(DATA, ARRAY_SIZE(DATA)); 1158c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 1159c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1160c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 11618393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliusvoid DateIntervalFormatTest::testSetIntervalPatternNoSideEffect() { 11628393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius UErrorCode ec = U_ZERO_ERROR; 11638393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius LocalPointer<DateIntervalInfo> dtitvinf(new DateIntervalInfo(ec)); 11648393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(ec)) { 11658393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(ec)); 11668393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 11678393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 11688393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius UnicodeString expected; 11698393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dtitvinf->getIntervalPattern(ctou("yMd"), UCAL_DATE, expected, ec); 11708393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dtitvinf->setIntervalPattern(ctou("yMd"), UCAL_DATE, ctou("M/d/y \\u2013 d"), ec); 11718393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(ec)) { 11728393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(ec)); 11738393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 11748393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 11758393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dtitvinf.adoptInstead(new DateIntervalInfo(ec)); 11768393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(ec)) { 11778393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(ec)); 11788393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 11798393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 11808393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius UnicodeString actual; 11818393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dtitvinf->getIntervalPattern(ctou("yMd"), UCAL_DATE, actual, ec); 11828393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (U_FAILURE(ec)) { 11838393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("Failure encountered: %s", u_errorName(ec)); 11848393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 11858393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 11868393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (expected != actual) { 11878393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("DateIntervalInfo.setIntervalPattern should have no side effects."); 11888393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 11898393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius} 11908393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 119159d709d503bab6e2b61931737e662dd293b40578ccorneliusvoid DateIntervalFormatTest::testYearFormats() { 119259d709d503bab6e2b61931737e662dd293b40578ccornelius const Locale &enLocale = Locale::getEnglish(); 119359d709d503bab6e2b61931737e662dd293b40578ccornelius UErrorCode status = U_ZERO_ERROR; 119459d709d503bab6e2b61931737e662dd293b40578ccornelius LocalPointer<Calendar> fromTime(Calendar::createInstance(enLocale, status)); 119559d709d503bab6e2b61931737e662dd293b40578ccornelius LocalPointer<Calendar> toTime(Calendar::createInstance(enLocale, status)); 119659d709d503bab6e2b61931737e662dd293b40578ccornelius if (U_FAILURE(status)) { 119759d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Failure encountered: %s", u_errorName(status)); 119859d709d503bab6e2b61931737e662dd293b40578ccornelius return; 119959d709d503bab6e2b61931737e662dd293b40578ccornelius } 120059d709d503bab6e2b61931737e662dd293b40578ccornelius // April 26, 113. Three digit year so that we can test 2 digit years; 120159d709d503bab6e2b61931737e662dd293b40578ccornelius // 4 digit years with padded 0's and full years. 120259d709d503bab6e2b61931737e662dd293b40578ccornelius fromTime->set(113, 3, 26); 120359d709d503bab6e2b61931737e662dd293b40578ccornelius // April 28, 113. 120459d709d503bab6e2b61931737e662dd293b40578ccornelius toTime->set(113, 3, 28); 120559d709d503bab6e2b61931737e662dd293b40578ccornelius { 120659d709d503bab6e2b61931737e662dd293b40578ccornelius LocalPointer<DateIntervalFormat> dif(DateIntervalFormat::createInstance("yyyyMd", enLocale, status)); 120759d709d503bab6e2b61931737e662dd293b40578ccornelius if (U_FAILURE(status)) { 120859d709d503bab6e2b61931737e662dd293b40578ccornelius dataerrln("Failure encountered: %s", u_errorName(status)); 120959d709d503bab6e2b61931737e662dd293b40578ccornelius return; 121059d709d503bab6e2b61931737e662dd293b40578ccornelius } 121159d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString actual; 121259d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString expected(ctou("4/26/0113 \\u2013 4/28/0113")); 121359d709d503bab6e2b61931737e662dd293b40578ccornelius FieldPosition pos = 0; 121459d709d503bab6e2b61931737e662dd293b40578ccornelius dif->format(*fromTime, *toTime, actual, pos, status); 121559d709d503bab6e2b61931737e662dd293b40578ccornelius if (U_FAILURE(status)) { 121659d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Failure encountered: %s", u_errorName(status)); 121759d709d503bab6e2b61931737e662dd293b40578ccornelius return; 121859d709d503bab6e2b61931737e662dd293b40578ccornelius } 121959d709d503bab6e2b61931737e662dd293b40578ccornelius if (actual != expected) { 122059d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Expected " + expected + ", got: " + actual); 122159d709d503bab6e2b61931737e662dd293b40578ccornelius } 122259d709d503bab6e2b61931737e662dd293b40578ccornelius } 122359d709d503bab6e2b61931737e662dd293b40578ccornelius { 122459d709d503bab6e2b61931737e662dd293b40578ccornelius LocalPointer<DateIntervalFormat> dif(DateIntervalFormat::createInstance("yyMd", enLocale, status)); 122559d709d503bab6e2b61931737e662dd293b40578ccornelius if (U_FAILURE(status)) { 122659d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Failure encountered: %s", u_errorName(status)); 122759d709d503bab6e2b61931737e662dd293b40578ccornelius return; 122859d709d503bab6e2b61931737e662dd293b40578ccornelius } 122959d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString actual; 123059d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString expected(ctou("4/26/13 \\u2013 4/28/13")); 123159d709d503bab6e2b61931737e662dd293b40578ccornelius FieldPosition pos = 0; 123259d709d503bab6e2b61931737e662dd293b40578ccornelius dif->format(*fromTime, *toTime, actual, pos, status); 123359d709d503bab6e2b61931737e662dd293b40578ccornelius if (U_FAILURE(status)) { 123459d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Failure encountered: %s", u_errorName(status)); 123559d709d503bab6e2b61931737e662dd293b40578ccornelius return; 123659d709d503bab6e2b61931737e662dd293b40578ccornelius } 123759d709d503bab6e2b61931737e662dd293b40578ccornelius if (actual != expected) { 123859d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Expected " + expected + ", got: " + actual); 123959d709d503bab6e2b61931737e662dd293b40578ccornelius } 124059d709d503bab6e2b61931737e662dd293b40578ccornelius } 124159d709d503bab6e2b61931737e662dd293b40578ccornelius { 124259d709d503bab6e2b61931737e662dd293b40578ccornelius LocalPointer<DateIntervalFormat> dif(DateIntervalFormat::createInstance("yMd", enLocale, status)); 124359d709d503bab6e2b61931737e662dd293b40578ccornelius if (U_FAILURE(status)) { 124459d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Failure encountered: %s", u_errorName(status)); 124559d709d503bab6e2b61931737e662dd293b40578ccornelius return; 124659d709d503bab6e2b61931737e662dd293b40578ccornelius } 124759d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString actual; 124859d709d503bab6e2b61931737e662dd293b40578ccornelius UnicodeString expected(ctou("4/26/113 \\u2013 4/28/113")); 124959d709d503bab6e2b61931737e662dd293b40578ccornelius FieldPosition pos = 0; 125059d709d503bab6e2b61931737e662dd293b40578ccornelius dif->format(*fromTime, *toTime, actual, pos, status); 125159d709d503bab6e2b61931737e662dd293b40578ccornelius if (U_FAILURE(status)) { 125259d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Failure encountered: %s", u_errorName(status)); 125359d709d503bab6e2b61931737e662dd293b40578ccornelius return; 125459d709d503bab6e2b61931737e662dd293b40578ccornelius } 125559d709d503bab6e2b61931737e662dd293b40578ccornelius if (actual != expected) { 125659d709d503bab6e2b61931737e662dd293b40578ccornelius errln("Expected " + expected + ", got: " + actual); 125759d709d503bab6e2b61931737e662dd293b40578ccornelius } 125859d709d503bab6e2b61931737e662dd293b40578ccornelius } 125959d709d503bab6e2b61931737e662dd293b40578ccornelius} 12608393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 1261c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::expectUserDII(const char** data, 1262c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru int32_t data_length) { 1263c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru int32_t i = 0; 1264c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UnicodeString str; 1265c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UErrorCode ec = U_ZERO_ERROR; 1266c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* pattern = data[0]; 1267c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru i++; 1268c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1269c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru while ( i < data_length ) { 1270c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* locName = data[i++]; 1271c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru Locale loc(locName); 1272c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru SimpleDateFormat ref(pattern, loc, ec); 127350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (U_FAILURE(ec)) { 127450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho dataerrln("contruct SimpleDateFormat in expectUserDII failed: %s", u_errorName(ec)); 127550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return; 127650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho } 1277c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* datestr = data[i++]; 1278c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* datestr_2 = data[i++]; 1279c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UDate date = ref.parse(ctou(datestr), ec); 1280c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("parse in expectUserDII", ec)) return; 1281c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UDate date_2 = ref.parse(ctou(datestr_2), ec); 1282c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("parse in expectUserDII", ec)) return; 1283c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateInterval dtitv(date, date_2); 1284c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1285c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru ec = U_ZERO_ERROR; 1286c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // test user created DateIntervalInfo 1287c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalInfo* dtitvinf = new DateIntervalInfo(ec); 1288c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvinf->setFallbackIntervalPattern("{0} --- {1}", ec); 1289c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvinf->setIntervalPattern(UDAT_YEAR_ABBR_MONTH_DAY, UCAL_MONTH, "yyyy MMM d - MMM y",ec); 1290c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("DateIntervalInfo::setIntervalPattern", ec)) return; 1291c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvinf->setIntervalPattern(UDAT_YEAR_ABBR_MONTH_DAY, UCAL_HOUR_OF_DAY, "yyyy MMM d HH:mm - HH:mm", ec); 1292c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("DateIntervalInfo::setIntervalPattern", ec)) return; 1293c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* dtitvfmt = DateIntervalFormat::createInstance(UDAT_YEAR_ABBR_MONTH_DAY, loc, *dtitvinf, ec); 1294c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvinf; 1295c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("createInstance(skeleton,dtitvinf) in expectUserDII", ec)) return; 1296c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru FieldPosition pos=0; 1297c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->format(&dtitv, str.remove(), pos, ec); 1298c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("format in expectUserDII", ec)) return; 1299c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru assertEquals((UnicodeString)"\"" + locName + "\\" + datestr + "\\" + datestr_2 + "\"", ctou(data[i++]), str); 1300c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1301c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru char result[1000]; 1302c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru char mesg[1000]; 1303c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG("interval format using user defined DateIntervalInfo\n"); 1304c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru str.extract(0, str.length(), result, "UTF-8"); 1305c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "interval date: %s\n", result); 1306c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg); 1307c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1308c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 1309c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 1310c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 1311c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1312c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1313c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::testStress() { 1314b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru if(quick){ 1315b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru logln("Quick mode: Skipping test"); 1316b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru return; 1317b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru } 1318b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru const char* DATA[] = { 1319c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "yyyy MM dd HH:mm:ss", 1320c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "2007 10 10 10:10:10", "2008 10 10 10:10:10", 1321c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "2007 10 10 10:10:10", "2007 11 10 10:10:10", 1322c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "2007 11 10 10:10:10", "2007 11 20 10:10:10", 1323c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "2007 01 10 10:00:10", "2007 01 10 14:10:10", 1324c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "2007 01 10 10:00:10", "2007 01 10 10:20:10", 1325c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "2007 01 10 10:10:10", "2007 01 10 10:10:20", 1326c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru }; 1327c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1328c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* testLocale[][3] = { 1329c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru //{"th", "", ""}, 1330c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"en", "", ""}, 1331c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"zh", "", ""}, 1332c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"de", "", ""}, 1333c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"ar", "", ""}, 1334c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"en", "GB", ""}, 1335c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"fr", "", ""}, 1336c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"it", "", ""}, 1337c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"nl", "", ""}, 1338c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"zh", "TW", ""}, 1339c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"ja", "", ""}, 1340c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"pt", "BR", ""}, 1341c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"ru", "", ""}, 1342c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"pl", "", ""}, 1343c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"tr", "", ""}, 1344c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"es", "", ""}, 1345c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"ko", "", ""}, 1346c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"sv", "", ""}, 1347c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"fi", "", ""}, 1348c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"da", "", ""}, 1349c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"pt", "PT", ""}, 1350c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"ro", "", ""}, 1351c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"hu", "", ""}, 1352c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"he", "", ""}, 1353c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"in", "", ""}, 1354c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"cs", "", ""}, 1355c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"el", "", ""}, 1356c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"no", "", ""}, 1357c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"vi", "", ""}, 1358c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"bg", "", ""}, 1359c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"hr", "", ""}, 1360c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"lt", "", ""}, 1361c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"sk", "", ""}, 1362c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"sl", "", ""}, 1363c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"sr", "", ""}, 1364c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"ca", "", ""}, 1365c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"lv", "", ""}, 1366c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"uk", "", ""}, 1367c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {"hi", "", ""}, 1368c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru }; 1369c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1370c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru uint32_t localeIndex; 1371c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru for ( localeIndex = 0; localeIndex < ARRAY_SIZE(testLocale); ++localeIndex ) { 1372c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru char locName[32]; 1373c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru uprv_strcpy(locName, testLocale[localeIndex][0]); 1374c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru uprv_strcat(locName, testLocale[localeIndex][1]); 1375c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru stress(DATA, ARRAY_SIZE(DATA), Locale(testLocale[localeIndex][0], testLocale[localeIndex][1], testLocale[localeIndex][2]), locName); 1376c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 1377c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 1378c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1379c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1380c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid DateIntervalFormatTest::stress(const char** data, int32_t data_length, 1381c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const Locale& loc, const char* locName) { 1382c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UnicodeString skeleton[] = { 1383c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EEEEdMMMMy", 1384c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "dMMMMy", 1385c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "dMMMM", 1386c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "MMMMy", 1387c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EEEEdMMMM", 1388c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EdMMMy", 1389c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "dMMMy", 1390c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "dMMM", 1391c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "MMMy", 1392c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EdMMM", 1393c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EdMy", 1394c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "dMy", 1395c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "dM", 1396c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "My", 1397c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EdM", 1398c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "d", 1399c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "Ed", 1400c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "y", 1401c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "M", 1402c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "MMM", 1403c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "MMMM", 1404c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hm", 1405c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hmv", 1406c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hmz", 1407c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "h", 1408c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hv", 1409c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hz", 1410c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EEddMMyyyy", // following could be normalized 1411c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EddMMy", 1412c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hhmm", 1413c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hhmmzz", 1414c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "hms", // following could not be normalized 1415c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "dMMMMMy", 1416c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru "EEEEEdM", 1417c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru }; 1418c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1419c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru int32_t i = 0; 1420c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UErrorCode ec = U_ZERO_ERROR; 1421c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UnicodeString str, str2; 1422c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru SimpleDateFormat ref(data[i++], loc, ec); 1423c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("construct SimpleDateFormat", ec)) return; 1424c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1425c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1426c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru char result[1000]; 1427c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru char mesg[1000]; 1428c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "locale: %s\n", locName); 1429c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg); 1430c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1431c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1432c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru while (i<data_length) { 1433c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1434c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // 'f' 1435c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* datestr = data[i++]; 1436c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const char* datestr_2 = data[i++]; 1437c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1438c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "original date: %s - %s\n", datestr, datestr_2); 1439c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg) 1440c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1441c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UDate date = ref.parse(ctou(datestr), ec); 1442c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("parse", ec)) return; 1443c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UDate date_2 = ref.parse(ctou(datestr_2), ec); 1444c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("parse", ec)) return; 1445c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateInterval dtitv(date, date_2); 1446c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1447c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru for ( uint32_t skeletonIndex = 0; 1448c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru skeletonIndex < ARRAY_SIZE(skeleton); 1449c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru ++skeletonIndex ) { 1450c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const UnicodeString& oneSkeleton = skeleton[skeletonIndex]; 1451c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* dtitvfmt = DateIntervalFormat::createInstance(oneSkeleton, loc, ec); 1452c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("createInstance(skeleton)", ec)) return; 1453c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru /* 1454c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // reset the calendar to be Gregorian calendar for "th" 1455c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( uprv_strcmp(locName, "th") == 0 ) { 1456c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru GregorianCalendar* gregCal = new GregorianCalendar(loc, ec); 1457c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("GregorianCalendar()", ec)) return; 1458c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru const DateFormat* dformat = dtitvfmt->getDateFormat(); 1459c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateFormat* newOne = (DateFormat*)dformat->clone(); 1460c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru newOne->adoptCalendar(gregCal); 1461c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru //dtitvfmt->adoptDateFormat(newOne, ec); 1462c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->setDateFormat(*newOne, ec); 1463c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete newOne; 1464c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("adoptDateFormat()", ec)) return; 1465c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 1466c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru */ 1467c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru FieldPosition pos=0; 1468c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->format(&dtitv, str.remove(), pos, ec); 1469c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("format", ec)) return; 1470c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1471c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru oneSkeleton.extract(0, oneSkeleton.length(), result, "UTF-8"); 1472c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "interval by skeleton: %s\n", result); 1473c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg) 1474c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru str.extract(0, str.length(), result, "UTF-8"); 1475c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "interval date: %s\n", result); 1476c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg) 1477c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1478c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 1479c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 1480c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1481c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // test user created DateIntervalInfo 1482c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru ec = U_ZERO_ERROR; 1483c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalInfo* dtitvinf = new DateIntervalInfo(ec); 1484c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvinf->setFallbackIntervalPattern("{0} --- {1}", ec); 1485c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvinf->setIntervalPattern(UDAT_YEAR_ABBR_MONTH_DAY, UCAL_MONTH, "yyyy MMM d - MMM y",ec); 1486c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("DateIntervalInfo::setIntervalPattern", ec)) return; 1487c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvinf->setIntervalPattern(UDAT_YEAR_ABBR_MONTH_DAY, UCAL_HOUR_OF_DAY, "yyyy MMM d HH:mm - HH:mm", ec); 1488c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("DateIntervalInfo::setIntervalPattern", ec)) return; 1489c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru DateIntervalFormat* dtitvfmt = DateIntervalFormat::createInstance(UDAT_YEAR_ABBR_MONTH_DAY, loc, *dtitvinf, ec); 1490c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvinf; 1491c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("createInstance(skeleton,dtitvinf)", ec)) return; 1492c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru FieldPosition pos=0; 1493c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru dtitvfmt->format(&dtitv, str.remove(), pos, ec); 1494c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if ( uprv_strcmp(locName, "th") ) { 1495c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (!assertSuccess("format", ec)) return; 1496c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#ifdef DTIFMTTS_DEBUG 1497c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG("interval format using user defined DateIntervalInfo\n"); 1498c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru str.extract(0, str.length(), result, "UTF-8"); 1499c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru sprintf(mesg, "interval date: %s\n", result); 1500c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru PRINTMESG(mesg) 1501c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif 1502c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } else { 1503c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // for "th", the default calendar is Budhist, 1504c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // not Gregorian. 1505c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru assertTrue("Default calendar for \"th\" is Budhist", ec == U_ILLEGAL_ARGUMENT_ERROR); 1506c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru ec = U_ZERO_ERROR; 1507c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 1508c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete dtitvfmt; 1509c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 1510c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 1511c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 1512c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#endif /* #if !UCONFIG_NO_FORMATTING */ 1513