You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.1 KiB
72 lines
2.1 KiB
// © 2016 and later: Unicode, Inc. and others.
|
|
// License & terms of use: http://www.unicode.org/copyright.html
|
|
/**
|
|
* Copyright (c) 1999-2012, International Business Machines Corporation and
|
|
* others. All Rights Reserved.
|
|
*
|
|
* Test for source/i18n/collunsafe.h
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include "unicode/ucol.h"
|
|
#include "unicode/uniset.h"
|
|
#include "unicode/coll.h"
|
|
#include "collation.h"
|
|
|
|
#include "collunsafe.h"
|
|
|
|
|
|
int main(int argc, const char *argv[]) {
|
|
puts("verify");
|
|
UErrorCode errorCode = U_ZERO_ERROR;
|
|
#if defined (COLLUNSAFE_PATTERN)
|
|
puts("verify pattern");
|
|
const UnicodeString unsafeBackwardPattern(FALSE, collunsafe_pattern, collunsafe_len);
|
|
fprintf(stderr, "\n -- pat '%c%c%c%c%c'\n",
|
|
collunsafe_pattern[0],
|
|
collunsafe_pattern[1],
|
|
collunsafe_pattern[2],
|
|
collunsafe_pattern[3],
|
|
collunsafe_pattern[4]);
|
|
if(U_SUCCESS(errorCode)) {
|
|
UnicodeSet us(unsafeBackwardPattern, errorCode);
|
|
fprintf(stderr, "\n%s:%d: err creating set %s\n", __FILE__, __LINE__, u_errorName(errorCode));
|
|
}
|
|
#endif
|
|
|
|
#if defined (COLLUNSAFE_RANGE)
|
|
{
|
|
puts("verify range");
|
|
UnicodeSet u;
|
|
for(int32_t i=0;i<unsafe_rangeCount*2;i+=2) {
|
|
u.add(unsafe_ranges[i+0],unsafe_ranges[i+1]);
|
|
}
|
|
printf("Finished with %d ranges\n", u.getRangeCount());
|
|
}
|
|
#endif
|
|
|
|
#if defined (COLLUNSAFE_SERIALIZE)
|
|
{
|
|
puts("verify serialize");
|
|
UnicodeSet u(unsafe_serializedData, unsafe_serializedCount, UnicodeSet::kSerialized, errorCode);
|
|
fprintf(stderr, "\n%s:%d: err creating set %s\n", __FILE__, __LINE__, u_errorName(errorCode));
|
|
printf("Finished deserialize with %d ranges\n", u.getRangeCount());
|
|
}
|
|
#endif
|
|
// if(tailoring.unsafeBackwardSet == NULL) {
|
|
// errorCode = U_MEMORY_ALLOCATION_ERROR;
|
|
// fprintf(stderr, "\n%s:%d: err %s\n", __FILE__, __LINE__, u_errorName(errorCode));
|
|
// }
|
|
puts("verify col UCA");
|
|
if(U_SUCCESS(errorCode)) {
|
|
Collator *col = Collator::createInstance(Locale::getEnglish(), errorCode);
|
|
fprintf(stderr, "\n%s:%d: err %s creating collator\n", __FILE__, __LINE__, u_errorName(errorCode));
|
|
}
|
|
|
|
if(U_FAILURE(errorCode)) {
|
|
return 1;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|