mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-10 07:39:16 +00:00
ICU-2487 move collation data into new tree
X-SVN-Rev: 14968
This commit is contained in:
parent
207167f8be
commit
baaf3bc2aa
4 changed files with 122 additions and 64 deletions
|
@ -704,52 +704,53 @@ static void TestFileStream(void){
|
|||
stream = T_FileStream_open(fileName, "r");
|
||||
if(stream==NULL){
|
||||
log_data_err("T_FileStream_open failed to open %s\n",fileName);
|
||||
}
|
||||
if(!T_FileStream_file_exists(fileName)){
|
||||
} else {
|
||||
if(!T_FileStream_file_exists(fileName)){
|
||||
log_data_err("T_FileStream_file_exists failed to verify existence of %s \n",fileName);
|
||||
}
|
||||
|
||||
retLen=T_FileStream_read(stream,&c,1);
|
||||
if(retLen==0){
|
||||
}
|
||||
|
||||
retLen=T_FileStream_read(stream,&c,1);
|
||||
if(retLen==0){
|
||||
log_data_err("T_FileStream_read failed to read from %s \n",fileName);
|
||||
}
|
||||
retLen=0;
|
||||
T_FileStream_rewind(stream);
|
||||
T_FileStream_read(stream,&c1,1);
|
||||
if(c!=c1){
|
||||
}
|
||||
retLen=0;
|
||||
T_FileStream_rewind(stream);
|
||||
T_FileStream_read(stream,&c1,1);
|
||||
if(c!=c1){
|
||||
log_data_err("T_FileStream_rewind failed to rewind %s \n",fileName);
|
||||
}
|
||||
T_FileStream_rewind(stream);
|
||||
c1 = T_FileStream_peek(stream);
|
||||
if(c!=c1){
|
||||
}
|
||||
T_FileStream_rewind(stream);
|
||||
c1 = T_FileStream_peek(stream);
|
||||
if(c!=c1){
|
||||
log_data_err("T_FileStream_peek failed to peekd %s \n",fileName);
|
||||
}
|
||||
c = T_FileStream_getc(stream);
|
||||
T_FileStream_ungetc(c,stream);
|
||||
if(c!= T_FileStream_getc(stream)){
|
||||
}
|
||||
c = T_FileStream_getc(stream);
|
||||
T_FileStream_ungetc(c,stream);
|
||||
if(c!= T_FileStream_getc(stream)){
|
||||
log_data_err("T_FileStream_ungetc failed to d %s \n",fileName);
|
||||
}
|
||||
|
||||
if(T_FileStream_size(stream)<=0){
|
||||
}
|
||||
|
||||
if(T_FileStream_size(stream)<=0){
|
||||
log_data_err("T_FileStream_size failed to d %s \n",fileName);
|
||||
}
|
||||
if(T_FileStream_error(stream)){
|
||||
}
|
||||
if(T_FileStream_error(stream)){
|
||||
log_data_err("T_FileStream_error shouldn't have an error %s\n",fileName);
|
||||
}
|
||||
if(!T_FileStream_error(NULL)){
|
||||
}
|
||||
if(!T_FileStream_error(NULL)){
|
||||
log_err("T_FileStream_error didn't get an error %s\n",fileName);
|
||||
}
|
||||
T_FileStream_putc(stream, 0x20);
|
||||
if(!T_FileStream_error(stream)){
|
||||
}
|
||||
T_FileStream_putc(stream, 0x20);
|
||||
if(!T_FileStream_error(stream)){
|
||||
/*
|
||||
Warning
|
||||
writing to a read-only file may not consistently fail on all platforms
|
||||
(e.g. HP-UX, FreeBSD, MacOSX)
|
||||
Warning
|
||||
writing to a read-only file may not consistently fail on all platforms
|
||||
(e.g. HP-UX, FreeBSD, MacOSX)
|
||||
*/
|
||||
log_verbose("T_FileStream_error didn't get an error when writing to a readonly file %s\n",fileName);
|
||||
}
|
||||
}
|
||||
|
||||
T_FileStream_close(stream);
|
||||
T_FileStream_close(stream);
|
||||
}
|
||||
/* test writing function */
|
||||
stream=NULL;
|
||||
uprv_strcpy(fileName,testdatapath);
|
||||
|
@ -758,32 +759,32 @@ static void TestFileStream(void){
|
|||
|
||||
if(stream == NULL){
|
||||
log_data_err("Could not open %s for writing\n",fileName);
|
||||
}
|
||||
c= '$';
|
||||
T_FileStream_putc(stream,c);
|
||||
T_FileStream_rewind(stream);
|
||||
if(c != T_FileStream_getc(stream)){
|
||||
} else {
|
||||
c= '$';
|
||||
T_FileStream_putc(stream,c);
|
||||
T_FileStream_rewind(stream);
|
||||
if(c != T_FileStream_getc(stream)){
|
||||
log_data_err("T_FileStream_putc failed %s\n",fileName);
|
||||
}
|
||||
}
|
||||
|
||||
T_FileStream_rewind(stream);
|
||||
T_FileStream_writeLine(stream,testline);
|
||||
T_FileStream_rewind(stream);
|
||||
T_FileStream_readLine(stream,buf,bufLen);
|
||||
if(uprv_strncmp(testline, buf,uprv_strlen(buf))!=0){
|
||||
T_FileStream_rewind(stream);
|
||||
T_FileStream_writeLine(stream,testline);
|
||||
T_FileStream_rewind(stream);
|
||||
T_FileStream_readLine(stream,buf,bufLen);
|
||||
if(uprv_strncmp(testline, buf,uprv_strlen(buf))!=0){
|
||||
log_data_err("T_FileStream_writeLine failed %s\n",fileName);
|
||||
}
|
||||
}
|
||||
|
||||
T_FileStream_rewind(stream);
|
||||
T_FileStream_write(stream,testline,uprv_strlen(testline));
|
||||
T_FileStream_rewind(stream);
|
||||
retLen = T_FileStream_read(stream, buf, bufLen);
|
||||
if(uprv_strncmp(testline, buf,retLen)!=0){
|
||||
T_FileStream_rewind(stream);
|
||||
T_FileStream_write(stream,testline,uprv_strlen(testline));
|
||||
T_FileStream_rewind(stream);
|
||||
retLen = T_FileStream_read(stream, buf, bufLen);
|
||||
if(uprv_strncmp(testline, buf,retLen)!=0){
|
||||
log_data_err("T_FileStream_write failed %s\n",fileName);
|
||||
}
|
||||
|
||||
T_FileStream_close(stream);
|
||||
}
|
||||
|
||||
T_FileStream_close(stream);
|
||||
|
||||
if(!T_FileStream_remove(fileName)){
|
||||
log_data_err("T_FileStream_remove failed to delete %s\n",fileName);
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "string.h"
|
||||
#include "cstring.h"
|
||||
#include "unicode/uchar.h"
|
||||
|
||||
#include "ucol_imp.h" /* for U_ICUDATA_COLL */
|
||||
#define RESTEST_HEAP_CHECK 0
|
||||
|
||||
#include "unicode/uloc.h"
|
||||
|
@ -172,6 +172,7 @@ void addNEWResourceBundleTest(TestNode** root)
|
|||
addTest(root, &TestResourceBundles, "tsutil/creststn/TestResourceBundle");
|
||||
addTest(root, &TestFallback, "tsutil/creststn/TestFallback");
|
||||
addTest(root, &TestGetVersion, "tsutil/creststn/TestGetVersion");
|
||||
addTest(root, &TestGetVersionColl, "tsutil/creststn/TestGetVersionColl");
|
||||
addTest(root, &TestAliasConflict, "tsutil/creststn/TestAliasConflict");
|
||||
addTest(root, &TestNewTypes, "tsutil/creststn/TestNewTypes");
|
||||
addTest(root, &TestEmptyTypes, "tsutil/creststn/TestEmptyTypes");
|
||||
|
@ -221,13 +222,13 @@ static void TestErrorCodes(void) {
|
|||
UResourceBundle *r = NULL, *r2 = NULL;
|
||||
|
||||
/* first bundle should return fallback warning */
|
||||
r = ures_open(NULL, "sr_YU_VOJVODINA", &status);
|
||||
r = ures_open(U_ICUDATA_COLL, "sr_YU_VOJVODINA", &status);
|
||||
checkStatus(U_USING_FALLBACK_WARNING, status);
|
||||
ures_close(r);
|
||||
|
||||
/* this bundle should return zero error, so it shouldn't change the status*/
|
||||
status = U_USING_DEFAULT_WARNING;
|
||||
r = ures_open(NULL, "sr_YU", &status);
|
||||
r = ures_open(U_ICUDATA_COLL, "sr_YU", &status);
|
||||
checkStatus(U_USING_DEFAULT_WARNING, status);
|
||||
|
||||
/* we look up the resource which is aliased, but it lives in fallback */
|
||||
|
@ -240,7 +241,7 @@ static void TestErrorCodes(void) {
|
|||
|
||||
/* this bundle should return zero error, so it shouldn't change the status*/
|
||||
status = U_USING_DEFAULT_WARNING;
|
||||
r = ures_open(NULL, "sr", &status);
|
||||
r = ures_open(U_ICUDATA_COLL, "sr", &status);
|
||||
checkStatus(U_USING_DEFAULT_WARNING, status);
|
||||
|
||||
/* we look up the resource which is aliased and at our level */
|
||||
|
@ -252,7 +253,7 @@ static void TestErrorCodes(void) {
|
|||
ures_close(r);
|
||||
|
||||
status = U_USING_FALLBACK_WARNING;
|
||||
r = ures_open(NULL, "nolocale", &status);
|
||||
r = ures_open(U_ICUDATA_COLL, "nolocale", &status);
|
||||
checkStatus(U_USING_DEFAULT_WARNING, status);
|
||||
ures_close(r);
|
||||
ures_close(r2);
|
||||
|
@ -1285,8 +1286,55 @@ static void TestGetVersion(){
|
|||
ures_close(resB);
|
||||
return;
|
||||
}
|
||||
ures_getVersion(resB, versionArray);
|
||||
for (i=0; i<4; ++i) {
|
||||
if (versionArray[i] < minVersionArray[i] ||
|
||||
versionArray[i] > maxVersionArray[i])
|
||||
{
|
||||
log_err("Testing ures_getVersion(%-5s) - unexpected result: %d.%d.%d.%d\n",
|
||||
locName, versionArray[0], versionArray[1], versionArray[2], versionArray[3]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
ures_close(resB);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void TestGetVersionColl(){
|
||||
UVersionInfo minVersionArray = {0x01, 0x00, 0x00, 0x00};
|
||||
UVersionInfo maxVersionArray = {0x50, 0x80, 0xcf, 0xcf};
|
||||
UVersionInfo versionArray;
|
||||
UErrorCode status= U_ZERO_ERROR;
|
||||
UResourceBundle* resB = NULL;
|
||||
UEnumeration *locs= NULL;
|
||||
int i=0;
|
||||
const char *locName = "root";
|
||||
int32_t locLen;
|
||||
const UChar* rules =NULL;
|
||||
int32_t len = 0;
|
||||
|
||||
log_verbose("The ures_getVersion(%s) tests begin : \n", U_ICUDATA_COLL);
|
||||
locs = ures_openAvailableLocales(U_ICUDATA_COLL, &status);
|
||||
if (U_FAILURE(status)) {
|
||||
log_err("enumeration of %s failed.: %s\n", U_ICUDATA_COLL, myErrorName(status));
|
||||
return;
|
||||
}
|
||||
|
||||
do{
|
||||
log_verbose("Testing version number for locale %s\n", locName);
|
||||
resB = ures_open(U_ICUDATA_COLL,locName, &status);
|
||||
if (U_FAILURE(status)) {
|
||||
log_err("Resource bundle creation for locale %s:%s failed.: %s\n", U_ICUDATA_COLL, locName, myErrorName(status));
|
||||
ures_close(resB);
|
||||
return;
|
||||
}
|
||||
/* test NUL termination of UCARules */
|
||||
rules = ures_getStringByKey(resB,"%%UCARULES",&len, &status);
|
||||
if(!rules || U_FAILURE(status)) {
|
||||
log_data_err("Could not load %%UCARULES for locale %s\n", locName);
|
||||
continue;
|
||||
}
|
||||
if(u_strlen(rules) != len){
|
||||
log_err("UCARules string not nul terminated! \n");
|
||||
}
|
||||
|
@ -1301,7 +1349,12 @@ static void TestGetVersion(){
|
|||
}
|
||||
}
|
||||
ures_close(resB);
|
||||
} while((locName = uenum_next(locs,&locLen,&status))&&U_SUCCESS(status));
|
||||
|
||||
if(U_FAILURE(status)) {
|
||||
log_err("Err %s testing Collation locales.\n", u_errorName(status));
|
||||
}
|
||||
uenum_close(locs);
|
||||
}
|
||||
|
||||
static void TestResourceBundles()
|
||||
|
@ -1978,6 +2031,7 @@ static void TestResourceLevelAliasing(void) {
|
|||
uk = ures_findResource("uk/collations/standard/Sequence", uk, &status);
|
||||
if((uk == NULL) || U_FAILURE(status)) {
|
||||
log_err("Couldn't findResource('uk/collations/standard/sequence') err %s\n", u_errorName(status));
|
||||
goto cleanup;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -2118,7 +2172,7 @@ static void TestResourceLevelAliasing(void) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
cleanup:
|
||||
ures_close(aliasB);
|
||||
ures_close(tb);
|
||||
ures_close(en);
|
||||
|
|
|
@ -48,6 +48,8 @@ static void TestErrorConditions(void);
|
|||
|
||||
static void TestGetVersion(void);
|
||||
|
||||
static void TestGetVersionColl(void);
|
||||
|
||||
static void TestEmptyBundle(void);
|
||||
|
||||
static void TestDirectAccess(void);
|
||||
|
|
|
@ -21,6 +21,7 @@ void CollationServiceTest::TestRegister()
|
|||
{
|
||||
// register a singleton
|
||||
const Locale& FR = Locale::getFrance();
|
||||
const Locale& FRENCH = Locale::getFrench();
|
||||
const Locale& US = Locale::getUS();
|
||||
const Locale US_FOO("en", "US", "FOO");
|
||||
|
||||
|
@ -44,12 +45,12 @@ void CollationServiceTest::TestRegister()
|
|||
}
|
||||
// ensure original collator's params not touched
|
||||
Locale loc = frcol->getLocale(ULOC_REQUESTED_LOCALE, status);
|
||||
if (loc != FR) {
|
||||
errln(UnicodeString("fr collator's requested locale changed to ") + loc.getName());
|
||||
if (loc != FRENCH) {
|
||||
errln(UnicodeString("fr collator's requested locale changed to ") + loc.getName());
|
||||
}
|
||||
loc = frcol->getLocale(ULOC_VALID_LOCALE, status);
|
||||
if (loc != FR) {
|
||||
errln(UnicodeString("fr collator's valid locale changed to ") + loc.getName());
|
||||
if (loc != FRENCH) {
|
||||
errln(UnicodeString("fr collator's valid locale changed to ") + loc.getName());
|
||||
}
|
||||
|
||||
loc = ncol->getLocale(ULOC_REQUESTED_LOCALE, status);
|
||||
|
|
Loading…
Add table
Reference in a new issue