| // © 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; |
| } |
| } |