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