16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/******************************************************************** 26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * COPYRIGHT: 36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Copyright (c) 1997-2013, International Business Machines Corporation and 46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * others. All Rights Reserved. 56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ********************************************************************/ 66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/*************************************************************************** 76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* 86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* File CRESTST.H 96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* 106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* Modification History: 116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* Name Date Description 126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* Madhu Katragadda 05/09/2000 Ported Tests for New ResourceBundle API 136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* Madhu Katragadda 05/24/2000 Added new tests to test RES_BINARY for collationElements 146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org************************************************************************************************* 156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*/ 166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef _CRESTSTN 176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define _CRESTSTN 186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* C TEST FOR NEW RESOURCEBUNDLE API*/ 196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "cintltst.h" 206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* 226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test wrapper for ures_getStringXYZ(), for testing other variants of 236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * these functions as well. 246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * If index>=0, calls ures_getStringByIndex(). 256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * If key!=NULL, calls ures_getStringByKey(). 266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgextern const UChar * 286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtres_getString(const UResourceBundle *resB, 296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org int32_t index, const char *key, 306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org int32_t *length, 316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UErrorCode *status); 326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgvoid addNEWResourceBundleTest(TestNode**); 346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/** 366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*Perform several extensive tests using the subtest routine testTag 376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*/ 386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestResourceBundles(void); 396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/** 406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* Test construction of ResourceBundle accessing a custom test resource-file 416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org**/ 426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestConstruction1(void); 436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestAliasConflict(void); 456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestFallback(void); 476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestPreventFallback(void); 496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestBinaryCollationData(void); 516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestNewTypes(void); 536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestEmptyTypes(void); 556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestAPI(void); 576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestErrorConditions(void); 596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestGetVersion(void); 616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestGetVersionColl(void); 636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestEmptyBundle(void); 656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestDirectAccess(void); 676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestTicket9804(void); 696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestResourceLevelAliasing(void); 716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestErrorCodes(void); 736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestJB3763(void); 756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestXPath(void); 776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void TestStackReuse(void); 796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/** 816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* extensive subtests called by TestResourceBundles 826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org**/ 836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic UBool testTag(const char* frag, UBool in_Root, UBool in_te, UBool in_te_IN); 846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void record_pass(void); 866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic void record_fail(void); 876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 90