1b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/* 2b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru********************************************************************** 38393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius* Copyright (C) 1998-2012, International Business Machines Corporation 4b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* and others. All Rights Reserved. 5b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru********************************************************************** 6b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* 7b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* File date.c 8b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* 9b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* Modification History: 10b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* 11b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* Date Name Description 12b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* 4/26/2000 srl created 13b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru******************************************************************************* 14b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru*/ 15b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/utypes.h" 17b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include <stdio.h> 18b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include <string.h> 19b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/udata.h" 20b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/ucnv.h" 218393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#include "ucmndata.h" 22b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 238393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliusextern const DataHeader U_DATA_API U_ICUDATA_ENTRY_POINT; 24b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 25b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruint 26b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querumain(int argc, 27b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru char **argv) 28b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru{ 29b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UConverter *c; 30b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 31b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 32b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru udata_setCommonData(NULL, &status); 33b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru printf("setCommonData(NULL) -> %s [should fail]\n", u_errorName(status)); 34b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru if(status != U_ILLEGAL_ARGUMENT_ERROR) 35b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 36b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru printf("*** FAIL: should have returned U_ILLEGAL_ARGUMENT_ERROR\n"); 37b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru return 1; 38b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru } 39b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 40b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru status = U_ZERO_ERROR; 418393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius udata_setCommonData(&U_ICUDATA_ENTRY_POINT, &status); 428393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius printf("setCommonData(%p) -> %s\n", (void*)&U_ICUDATA_ENTRY_POINT, u_errorName(status)); 43b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru if(U_FAILURE(status)) 44b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 45b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru printf("*** FAIL: should have returned U_ZERO_ERROR\n"); 46b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru return 1; 47b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru } 48b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 49b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru status = U_ZERO_ERROR; 508393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius c = ucnv_open("iso-8859-3", &status); 518393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius printf("ucnv_open(iso-8859-3)-> %p, err = %s, name=%s\n", 5250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho (void *)c, u_errorName(status), (!c)?"?":ucnv_getName(c,&status) ); 53b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru if(status != U_ZERO_ERROR) 54b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 55b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru printf("\n*** FAIL: should have returned U_ZERO_ERROR;\n"); 56b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru return 1; 57b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru } 58b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru else 59b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 60b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru ucnv_close(c); 61b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru } 62b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 63b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru status = U_ZERO_ERROR; 648393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius udata_setCommonData(&U_ICUDATA_ENTRY_POINT, &status); 658393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius printf("setCommonData(%p) -> %s [should pass]\n", (void*) &U_ICUDATA_ENTRY_POINT, u_errorName(status)); 6650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (U_FAILURE(status) || status == U_USING_DEFAULT_WARNING ) 67b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 6850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho printf("\n*** FAIL: should pass and not set U_USING_DEFAULT_ERROR\n"); 69b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru return 1; 70b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru } 71b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 72b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru printf("\n*** PASS PASS PASS, test PASSED!!!!!!!!\n"); 73b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru return 0; 74b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru} 75