1 // © 2016 and later: Unicode, Inc. and others. 2 // License & terms of use: http://www.unicode.org/copyright.html 3 /******************************************************************** 4 * COPYRIGHT: 5 * Copyright (c) 1997-2014, International Business Machines Corporation and 6 * others. All Rights Reserved. 7 ********************************************************************/ 8 /******************************************************************************** 9 * 10 * File CLOCTST.H 11 * 12 * Modification History: 13 * Name Description 14 * Madhu Katragadda Converted to C 15 ********************************************************************************* 16 */ 17 #ifndef _CLOCTEST 18 #define _CLOCTEST 19 20 #include "cintltst.h" 21 /*C API TEST FOR LOCALE */ 22 23 /** 24 * Test functions to set and get data fields 25 **/ 26 static void TestBasicGetters(void); 27 static void TestPrefixes(void); 28 static void TestVariantLengthLimit(void); 29 30 /** 31 * Use Locale to access Resource file data and compare against expected values 32 **/ 33 static void TestSimpleResourceInfo(void); 34 /** 35 * Use Locale to access Resource file display names and compare against expected values 36 **/ 37 static void TestDisplayNames(void); 38 static void TestGetDisplayScriptPreFlighting21160(void); 39 40 /** 41 * Test getAvailableLocales 42 **/ 43 static void TestGetAvailableLocales(void); 44 static void TestGetAvailableLocalesByType(void); 45 /** 46 * Test functions to set and access a custom data directory 47 **/ 48 static void TestDataDirectory(void); 49 /** 50 * Test functions to test get ISO countries and Languages 51 **/ 52 static void TestISOFunctions(void); 53 /** 54 * Test functions to test get ISO3 countries and Languages Fallback 55 **/ 56 static void TestISO3Fallback(void); 57 /** 58 * Test functions to test get ISO3 countries and Languages for Uninstalled locales 59 **/ 60 static void TestUninstalledISO3Names(void); 61 static void TestObsoleteNames(void); 62 /** 63 * Test functions uloc_getDisplaynames() 64 **/ 65 static void TestSimpleDisplayNames(void); 66 /** 67 * Test functions uloc_getDisplaynames() 68 **/ 69 static void TestVariantParsing(void); 70 71 /* Test getting keyword enumeratin */ 72 static void TestKeywordVariants(void); 73 74 static void TestKeywordSet(void); 75 static void TestKeywordSetError(void); 76 77 /* Test getting keyword values */ 78 static void TestKeywordVariantParsing(void); 79 80 /* Test warning for no data in getDisplay* */ 81 static void TestDisplayNameWarning(void); 82 83 /* Test uloc_getLocaleForLCID */ 84 static void TestGetLocaleForLCID(void); 85 86 /** 87 * routine to perform subtests, used by TestDisplayNames 88 */ 89 static void doTestDisplayNames(const char* inLocale, int32_t compareIndex); 90 91 static void TestCanonicalization(void); 92 static void TestCanonicalizationBuffer(void); 93 static void TestCanonicalization21749StackUseAfterScope(void); 94 95 static void TestDisplayKeywords(void); 96 97 static void TestDisplayKeywordValues(void); 98 99 static void TestGetBaseName(void); 100 101 static void TestTrailingNull(void); 102 103 static void TestGetLocale(void); 104 105 /** 106 * additional initialization for datatables storing expected values 107 */ 108 static void setUpDataTable(void); 109 static void cleanUpDataTable(void); 110 /*static void displayDataTable(void);*/ 111 static void TestAcceptLanguage(void); 112 113 /** 114 * test locale aliases 115 */ 116 static void TestCalendar(void); 117 static void TestDateFormat(void); 118 static void TestCollation(void); 119 static void TestULocale(void); 120 static void TestUResourceBundle(void); 121 static void TestDisplayName(void); 122 123 static void TestAcceptLanguage(void); 124 125 static void TestOrientation(void); 126 127 static void TestLikelySubtags(void); 128 129 /** 130 * test terminate correctly. 131 */ 132 static void Test21157CorrectTerminating(void); 133 134 /** 135 * language tag 136 */ 137 static void TestForLanguageTag(void); 138 static void TestToLanguageTag(void); 139 static void TestBug20132(void); 140 static void TestLangAndRegionCanonicalize(void); 141 142 static void TestToUnicodeLocaleKey(void); 143 static void TestToLegacyKey(void); 144 static void TestToUnicodeLocaleType(void); 145 static void TestToLegacyType(void); 146 static void TestBug20149(void); 147 static void TestCDefaultLocale(void); 148 static void TestBug21449InfiniteLoop(void); 149 150 151 /** 152 * U_USING_DEFAULT_WARNING 153 */ 154 static void TestUsingDefaultWarning(void); 155 156 /** 157 * locale data 158 */ 159 static void TestEnglishExemplarCharacters(void); 160 161 #endif 162