ICU-2487 move collation data into new tree

X-SVN-Rev: 14968
This commit is contained in:
Steven R. Loomis 2004-04-14 20:28:35 +00:00
parent 207167f8be
commit baaf3bc2aa
4 changed files with 122 additions and 64 deletions

View file

@ -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);
}

View file

@ -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);

View file

@ -48,6 +48,8 @@ static void TestErrorConditions(void);
static void TestGetVersion(void);
static void TestGetVersionColl(void);
static void TestEmptyBundle(void);
static void TestDirectAccess(void);

View file

@ -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);