Ejemplo n.º 1
0
void ContractionTableTest::TestAddATableElement(){
  testTable = uprv_cnttab_open(testMapping, &status);
  uint32_t i = 0, res = 0;

  // fill up one contraction so that it has to expand
  for(i = 0; i<0x1000; i++) {
    uprv_cnttab_addContraction(testTable, i, (UChar)i, i, &status);
    if(U_FAILURE(status)) {
      errln("Error occurred at position %i, error = %i (%s)\n", i, status, u_errorName(status));
      break;
    }
  }
  // test whether the filled up contraction really contains the data we input
  if(U_SUCCESS(status)) {
    for(i = 0; i<0x1000; i++) {
      res = uprv_cnttab_getCE(testTable, i, 0, &status);
      if(U_FAILURE(status)) {
        errln("Error occurred at position %i, error = %i (%s)\n", i, status, u_errorName(status));
        break;
      }
      if(res != i) {
        errln("Error: expected %i, got %i\n", i, res);
        break;
      }
    }
  }
  uprv_cnttab_close(testTable);
}
Ejemplo n.º 2
0
U_CAPI UBool  U_EXPORT2
uprv_cnttab_isTailored(CntTable *table, uint32_t element, UChar *ztString, UErrorCode *status) {
    if(U_FAILURE(*status)) {
        return FALSE;
    }

    while(*(ztString)!=0) {
        element = uprv_cnttab_findCE(table, element, *(ztString), status);
        if(element == UCOL_NOT_FOUND) {
            return FALSE;
        }
        if(!isCntTableElement(element)) {
            return TRUE;
        }
        ztString++;
    }
    return (UBool)(uprv_cnttab_getCE(table, element, 0, status) != UCOL_NOT_FOUND);
}
Ejemplo n.º 3
0
void ContractionTableTest::TestClone(){
  testTable = uprv_cnttab_open(testMapping, &status);
  int32_t i = 0, res = 0;
  // we must construct table in order to copy codepoints and CEs
  // fill up one contraction so that it has to expand
  for(i = 0; i<0x500; i++) {
    uprv_cnttab_addContraction(testTable, i, (UChar)i, i, &status);
    if(U_FAILURE(status)) {
      errln("Error occurred at position %i, error = %i (%s)\n", i, status, u_errorName(status));
      break;
    }
  }
  uprv_cnttab_constructTable(testTable, 0, &status);
  if(U_FAILURE(status)) {
    errln("Error constructing table error = %i (%s)\n", status, u_errorName(status));
  } else {
    testClone = uprv_cnttab_clone(testTable, &status);
    if(U_SUCCESS(status)) {
      for(i = 0; i<0x500; i++) {
        res = uprv_cnttab_getCE(testTable, i, 0, &status);
        if(U_FAILURE(status)) {
          errln("Error occurred at position %i, error = %i (%s)\n", i, status, u_errorName(status));
          break;
        }
        if(res != i) {
          errln("Error: expected %i, got %i\n", i, res);
          break;
        }
      }
    }
    uprv_cnttab_close(testClone);
  }
  uprv_cnttab_close(testTable);
  testTable = uprv_cnttab_open(testMapping, &status);
  if(U_FAILURE(status)) {
    errln("Error opening table error = %i (%s)\n", status, u_errorName(status));
  }
  uprv_cnttab_close(testTable);
}