1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski package ifc.i18n; 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski import lib.MultiMethodTest; 27*b1cdbd2cSJim Jagielski 28*b1cdbd2cSJim Jagielski import com.sun.star.i18n.Calendar; 29*b1cdbd2cSJim Jagielski import com.sun.star.i18n.Currency; 30*b1cdbd2cSJim Jagielski import com.sun.star.i18n.ForbiddenCharacters; 31*b1cdbd2cSJim Jagielski import com.sun.star.i18n.FormatElement; 32*b1cdbd2cSJim Jagielski import com.sun.star.i18n.Implementation; 33*b1cdbd2cSJim Jagielski import com.sun.star.i18n.LanguageCountryInfo; 34*b1cdbd2cSJim Jagielski import com.sun.star.i18n.LocaleDataItem; 35*b1cdbd2cSJim Jagielski import com.sun.star.i18n.XLocaleData; 36*b1cdbd2cSJim Jagielski import com.sun.star.lang.Locale; 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski /** 39*b1cdbd2cSJim Jagielski * Testing <code>com.sun.star.i18n.XLocaleData</code> 40*b1cdbd2cSJim Jagielski * interface methods: 41*b1cdbd2cSJim Jagielski * <ul> 42*b1cdbd2cSJim Jagielski * <li><code> getLanguageCountryInfo() </code></li> 43*b1cdbd2cSJim Jagielski * <li><code> getLocaleItem() </code></li> 44*b1cdbd2cSJim Jagielski * <li><code> getAllCalendars() </code></li> 45*b1cdbd2cSJim Jagielski * <li><code> getAllCurrencies() </code></li> 46*b1cdbd2cSJim Jagielski * <li><code> getAllFormats() </code></li> 47*b1cdbd2cSJim Jagielski * <li><code> getCollatorImplementations() </code></li> 48*b1cdbd2cSJim Jagielski * <li><code> getSearchOptions() </code></li> 49*b1cdbd2cSJim Jagielski * <li><code> getCollationOptions() </code></li> 50*b1cdbd2cSJim Jagielski * <li><code> getTransliterations() </code></li> 51*b1cdbd2cSJim Jagielski * <li><code> getForbiddenCharacters() </code></li> 52*b1cdbd2cSJim Jagielski * <li><code> getReservedWord() </code></li> 53*b1cdbd2cSJim Jagielski * <li><code> getAllInstalledLocaleNames() </code></li> 54*b1cdbd2cSJim Jagielski * </ul><p> 55*b1cdbd2cSJim Jagielski * Test is <b> NOT </b> multithread compilant. <p> 56*b1cdbd2cSJim Jagielski * @see com.sun.star.i18n.XLocaleData 57*b1cdbd2cSJim Jagielski */ 58*b1cdbd2cSJim Jagielski public class _XLocaleData extends MultiMethodTest { 59*b1cdbd2cSJim Jagielski public XLocaleData oObj = null; 60*b1cdbd2cSJim Jagielski public String[] languages = new String[]{"de","en","es","fr","ja","ko","ko"}; 61*b1cdbd2cSJim Jagielski public String[] countries = new String[]{"DE","US","ES","FR","JP","KR","KR"}; 62*b1cdbd2cSJim Jagielski 63*b1cdbd2cSJim Jagielski 64*b1cdbd2cSJim Jagielski /** 65*b1cdbd2cSJim Jagielski * Test calls the method, then result is checked. <p> 66*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if structure, returned by the method includes 67*b1cdbd2cSJim Jagielski * correct values of fields 'Language' and 'Country' for all given locales. 68*b1cdbd2cSJim Jagielski */ _getLanguageCountryInfo()69*b1cdbd2cSJim Jagielski public void _getLanguageCountryInfo() { 70*b1cdbd2cSJim Jagielski boolean res = true; 71*b1cdbd2cSJim Jagielski LanguageCountryInfo lci = null; 72*b1cdbd2cSJim Jagielski 73*b1cdbd2cSJim Jagielski for (int i=0;i<7;i++) { 74*b1cdbd2cSJim Jagielski lci = oObj.getLanguageCountryInfo(getLocale(i)); 75*b1cdbd2cSJim Jagielski /* For debug purposes 76*b1cdbd2cSJim Jagielski log.println("Using: language="+languages[i]+" ; country="+countries[i]); 77*b1cdbd2cSJim Jagielski log.println("Getting: "); 78*b1cdbd2cSJim Jagielski log.println("\t Language="+lci.Language); 79*b1cdbd2cSJim Jagielski log.println("\t LanguageDefaultName="+lci.LanguageDefaultName); 80*b1cdbd2cSJim Jagielski log.println("\t Country="+lci.Country); 81*b1cdbd2cSJim Jagielski log.println("\t CountryDefaultName="+lci.CountryDefaultName); 82*b1cdbd2cSJim Jagielski boolean lang = ( lci.Language.equals(languages[i]) ); 83*b1cdbd2cSJim Jagielski if (!lang) log.println("getting false for language: "+lci.LanguageDefaultName); 84*b1cdbd2cSJim Jagielski lang = ( lci.Country.equals(countries[i]) ); 85*b1cdbd2cSJim Jagielski if (!lang) log.println("getting false for country: "+lci.CountryDefaultName); 86*b1cdbd2cSJim Jagielski */ 87*b1cdbd2cSJim Jagielski res &= ( ( lci.Language.equals(languages[i]) ) && ( lci.Country.equals(countries[i]) ) ); 88*b1cdbd2cSJim Jagielski } 89*b1cdbd2cSJim Jagielski tRes.tested("getLanguageCountryInfo()",res); 90*b1cdbd2cSJim Jagielski } 91*b1cdbd2cSJim Jagielski 92*b1cdbd2cSJim Jagielski /** 93*b1cdbd2cSJim Jagielski * Test calls the method, then result is checked. <p> 94*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if structure, returned by the method consists of 95*b1cdbd2cSJim Jagielski * non empty strings for all given locales. 96*b1cdbd2cSJim Jagielski */ _getLocaleItem()97*b1cdbd2cSJim Jagielski public void _getLocaleItem() { 98*b1cdbd2cSJim Jagielski boolean res = true; 99*b1cdbd2cSJim Jagielski LocaleDataItem ldi = null; 100*b1cdbd2cSJim Jagielski 101*b1cdbd2cSJim Jagielski for (int i=0;i<7;i++) { 102*b1cdbd2cSJim Jagielski ldi = oObj.getLocaleItem(getLocale(i)); 103*b1cdbd2cSJim Jagielski 104*b1cdbd2cSJim Jagielski boolean locRes = true ; 105*b1cdbd2cSJim Jagielski 106*b1cdbd2cSJim Jagielski locRes &= (! ldi.dateSeparator.equals("")); 107*b1cdbd2cSJim Jagielski locRes &= (! ldi.decimalSeparator.equals("")); 108*b1cdbd2cSJim Jagielski locRes &= (! ldi.doubleQuotationEnd.equals("")); 109*b1cdbd2cSJim Jagielski locRes &= (! ldi.doubleQuotationStart.equals("")); 110*b1cdbd2cSJim Jagielski locRes &= (! ldi.listSeparator.equals("")); 111*b1cdbd2cSJim Jagielski locRes &= (! ldi.LongDateDayOfWeekSeparator.equals("")); 112*b1cdbd2cSJim Jagielski locRes &= (! ldi.LongDateDaySeparator.equals("")); 113*b1cdbd2cSJim Jagielski locRes &= (! ldi.LongDateMonthSeparator.equals("")); 114*b1cdbd2cSJim Jagielski locRes &= (! ldi.LongDateYearSeparator.equals("")); 115*b1cdbd2cSJim Jagielski locRes &= (! ldi.measurementSystem.equals("")); 116*b1cdbd2cSJim Jagielski locRes &= (! ldi.quotationEnd.equals("")); 117*b1cdbd2cSJim Jagielski locRes &= (! ldi.quotationStart.equals("")); 118*b1cdbd2cSJim Jagielski locRes &= (! ldi.thousandSeparator.equals("")); 119*b1cdbd2cSJim Jagielski locRes &= (! ldi.time100SecSeparator.equals("")); 120*b1cdbd2cSJim Jagielski locRes &= (! ldi.timeAM.equals("")); 121*b1cdbd2cSJim Jagielski locRes &= (! ldi.timePM.equals("")); 122*b1cdbd2cSJim Jagielski locRes &= (! ldi.timeSeparator.equals("")); 123*b1cdbd2cSJim Jagielski locRes &= (! ldi.unoID.equals("")); 124*b1cdbd2cSJim Jagielski 125*b1cdbd2cSJim Jagielski if (!locRes) { 126*b1cdbd2cSJim Jagielski /* for debugging puposes 127*b1cdbd2cSJim Jagielski log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]); 128*b1cdbd2cSJim Jagielski log.println("Getting: "); 129*b1cdbd2cSJim Jagielski log.println("\t DateSeparator="+ldi.dateSeparator); 130*b1cdbd2cSJim Jagielski log.println("\t decimalSeparator="+ldi.decimalSeparator); 131*b1cdbd2cSJim Jagielski log.println("\t doubleQuotationEnd="+ldi.doubleQuotationEnd); 132*b1cdbd2cSJim Jagielski log.println("\t doubleQuotationStart="+ldi.doubleQuotationStart); 133*b1cdbd2cSJim Jagielski log.println("\t listSeparator="+ldi.listSeparator); 134*b1cdbd2cSJim Jagielski log.println("\t LongDateDayOfWeekSeparator="+ldi.LongDateDayOfWeekSeparator+"end"); 135*b1cdbd2cSJim Jagielski log.println("\t LongDateDaySeparator="+ldi.LongDateDaySeparator+"end"); 136*b1cdbd2cSJim Jagielski log.println("\t LongDateMonthSeparator="+ldi.LongDateMonthSeparator+"end"); 137*b1cdbd2cSJim Jagielski log.println("\t LongDateYearSeparator="+ldi.LongDateYearSeparator+"end"); 138*b1cdbd2cSJim Jagielski log.println("\t measurementSystem="+ldi.measurementSystem); 139*b1cdbd2cSJim Jagielski log.println("\t quotationEnd="+ldi.quotationEnd); 140*b1cdbd2cSJim Jagielski log.println("\t quotationStart="+ldi.quotationStart); 141*b1cdbd2cSJim Jagielski log.println("\t thousandSeparator="+ldi.thousandSeparator); 142*b1cdbd2cSJim Jagielski log.println("\t time100SecSeparator="+ldi.time100SecSeparator); 143*b1cdbd2cSJim Jagielski log.println("\t timeAM="+ldi.timeAM); 144*b1cdbd2cSJim Jagielski log.println("\t timePM="+ldi.timePM); 145*b1cdbd2cSJim Jagielski log.println("\t timeSeparator="+ldi.timeSeparator); 146*b1cdbd2cSJim Jagielski log.println("\t unoID="+ldi.unoID); 147*b1cdbd2cSJim Jagielski */ 148*b1cdbd2cSJim Jagielski } 149*b1cdbd2cSJim Jagielski } 150*b1cdbd2cSJim Jagielski tRes.tested("getLocaleItem()",res); 151*b1cdbd2cSJim Jagielski } 152*b1cdbd2cSJim Jagielski 153*b1cdbd2cSJim Jagielski /** 154*b1cdbd2cSJim Jagielski * Test calls the method for several locales; result is checked 155*b1cdbd2cSJim Jagielski * after each call. <p> 156*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if all elements of the returned sequence are 157*b1cdbd2cSJim Jagielski * correct for all given locales. (boolean method goodCalendar() with a 158*b1cdbd2cSJim Jagielski * calendar as an argument returns true) 159*b1cdbd2cSJim Jagielski */ _getAllCalendars()160*b1cdbd2cSJim Jagielski public void _getAllCalendars() { 161*b1cdbd2cSJim Jagielski boolean res = true; 162*b1cdbd2cSJim Jagielski boolean printit = false; 163*b1cdbd2cSJim Jagielski Calendar[] calendar = new Calendar[1]; 164*b1cdbd2cSJim Jagielski 165*b1cdbd2cSJim Jagielski for (int i=0;i<7;i++) { 166*b1cdbd2cSJim Jagielski calendar = oObj.getAllCalendars(getLocale(i)); 167*b1cdbd2cSJim Jagielski for (int j=0;j<calendar.length;j++) { 168*b1cdbd2cSJim Jagielski if (! goodCalendar(calendar[j]) ) { 169*b1cdbd2cSJim Jagielski printit = true; 170*b1cdbd2cSJim Jagielski } 171*b1cdbd2cSJim Jagielski res &= goodCalendar(calendar[j]); 172*b1cdbd2cSJim Jagielski } 173*b1cdbd2cSJim Jagielski if (printit) log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]); 174*b1cdbd2cSJim Jagielski printit = false; 175*b1cdbd2cSJim Jagielski } 176*b1cdbd2cSJim Jagielski tRes.tested("getAllCalendars()", res); 177*b1cdbd2cSJim Jagielski } 178*b1cdbd2cSJim Jagielski 179*b1cdbd2cSJim Jagielski /** 180*b1cdbd2cSJim Jagielski * Test calls the method for several locales; result is checked 181*b1cdbd2cSJim Jagielski * after each call. <p> 182*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if all elements of the returned sequence are 183*b1cdbd2cSJim Jagielski * correct for all given locales. (boolean method goodCurrency() with a 184*b1cdbd2cSJim Jagielski * currency as an argument returns true) 185*b1cdbd2cSJim Jagielski */ _getAllCurrencies()186*b1cdbd2cSJim Jagielski public void _getAllCurrencies() { 187*b1cdbd2cSJim Jagielski boolean res = true; 188*b1cdbd2cSJim Jagielski boolean printit = false; 189*b1cdbd2cSJim Jagielski Currency[] currency = new Currency[1]; 190*b1cdbd2cSJim Jagielski 191*b1cdbd2cSJim Jagielski for (int i=0;i<7;i++) { 192*b1cdbd2cSJim Jagielski currency = oObj.getAllCurrencies(getLocale(i)); 193*b1cdbd2cSJim Jagielski for (int j=0;j<currency.length;j++) { 194*b1cdbd2cSJim Jagielski if (! goodCurrency(currency[j]) ) { 195*b1cdbd2cSJim Jagielski printit=true; 196*b1cdbd2cSJim Jagielski } 197*b1cdbd2cSJim Jagielski res &= goodCurrency(currency[j]); 198*b1cdbd2cSJim Jagielski } 199*b1cdbd2cSJim Jagielski if (printit) log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]); 200*b1cdbd2cSJim Jagielski printit =false; 201*b1cdbd2cSJim Jagielski } 202*b1cdbd2cSJim Jagielski tRes.tested("getAllCurrencies()",res); 203*b1cdbd2cSJim Jagielski } 204*b1cdbd2cSJim Jagielski 205*b1cdbd2cSJim Jagielski /** 206*b1cdbd2cSJim Jagielski * Test calls the method for several locales; result is checked 207*b1cdbd2cSJim Jagielski * after each call. <p> 208*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if all elements of the returned sequence are 209*b1cdbd2cSJim Jagielski * correct for all given locales. (boolean method goodFormat() with a 210*b1cdbd2cSJim Jagielski * format as an argument returns true) 211*b1cdbd2cSJim Jagielski */ _getAllFormats()212*b1cdbd2cSJim Jagielski public void _getAllFormats() { 213*b1cdbd2cSJim Jagielski boolean res = true; 214*b1cdbd2cSJim Jagielski boolean printit = false; 215*b1cdbd2cSJim Jagielski FormatElement[] format = new FormatElement[1]; 216*b1cdbd2cSJim Jagielski 217*b1cdbd2cSJim Jagielski for (int i=0;i<7;i++) { 218*b1cdbd2cSJim Jagielski format = oObj.getAllFormats(getLocale(i)); 219*b1cdbd2cSJim Jagielski for (int j=0;j<format.length;j++) { 220*b1cdbd2cSJim Jagielski if (! goodFormat(format[j]) ) { 221*b1cdbd2cSJim Jagielski printit = true; 222*b1cdbd2cSJim Jagielski } 223*b1cdbd2cSJim Jagielski res &= goodFormat(format[j]); 224*b1cdbd2cSJim Jagielski } 225*b1cdbd2cSJim Jagielski if (printit) log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]); 226*b1cdbd2cSJim Jagielski printit =false; 227*b1cdbd2cSJim Jagielski } 228*b1cdbd2cSJim Jagielski tRes.tested("getAllFormats()",res); 229*b1cdbd2cSJim Jagielski } 230*b1cdbd2cSJim Jagielski 231*b1cdbd2cSJim Jagielski /** 232*b1cdbd2cSJim Jagielski * Test calls the method for several locales; result is checked 233*b1cdbd2cSJim Jagielski * after each call. <p> 234*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if all structs, returned by the method have non 235*b1cdbd2cSJim Jagielski * empty field 'UnoID' for all given locales. 236*b1cdbd2cSJim Jagielski */ _getCollatorImplementations()237*b1cdbd2cSJim Jagielski public void _getCollatorImplementations() { 238*b1cdbd2cSJim Jagielski boolean res = true; 239*b1cdbd2cSJim Jagielski boolean printit = false; 240*b1cdbd2cSJim Jagielski Implementation[] impl = new Implementation[1]; 241*b1cdbd2cSJim Jagielski 242*b1cdbd2cSJim Jagielski for (int i=0;i<7;i++) { 243*b1cdbd2cSJim Jagielski impl = oObj.getCollatorImplementations(getLocale(i)); 244*b1cdbd2cSJim Jagielski for (int j=0;j<impl.length;j++) { 245*b1cdbd2cSJim Jagielski if ((impl[j].unoID.equals(""))) { 246*b1cdbd2cSJim Jagielski printit = true; 247*b1cdbd2cSJim Jagielski } 248*b1cdbd2cSJim Jagielski res &= (!impl[j].unoID.equals("")); 249*b1cdbd2cSJim Jagielski } 250*b1cdbd2cSJim Jagielski if (printit) log.println("FAILED for: language=" + languages[i] 251*b1cdbd2cSJim Jagielski + " ; country=" + countries[i]); 252*b1cdbd2cSJim Jagielski printit = false; 253*b1cdbd2cSJim Jagielski } 254*b1cdbd2cSJim Jagielski tRes.tested("getCollatorImplementations()", res); 255*b1cdbd2cSJim Jagielski } 256*b1cdbd2cSJim Jagielski 257*b1cdbd2cSJim Jagielski /** 258*b1cdbd2cSJim Jagielski * Test calls the method for several locales; result is checked 259*b1cdbd2cSJim Jagielski * after each call. <p> 260*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if all strings, returned by the method are not 261*b1cdbd2cSJim Jagielski * empty for all given locales. 262*b1cdbd2cSJim Jagielski */ _getSearchOptions()263*b1cdbd2cSJim Jagielski public void _getSearchOptions() { 264*b1cdbd2cSJim Jagielski boolean res = true; 265*b1cdbd2cSJim Jagielski boolean printit = false; 266*b1cdbd2cSJim Jagielski String[] str = new String[1]; 267*b1cdbd2cSJim Jagielski 268*b1cdbd2cSJim Jagielski for (int i=0;i<7;i++) { 269*b1cdbd2cSJim Jagielski str = oObj.getSearchOptions(getLocale(i)); 270*b1cdbd2cSJim Jagielski for (int j=0;j<str.length;j++) { 271*b1cdbd2cSJim Jagielski if ((str[j].equals(""))) { 272*b1cdbd2cSJim Jagielski printit = true; 273*b1cdbd2cSJim Jagielski } 274*b1cdbd2cSJim Jagielski res &= (!str.equals("")); 275*b1cdbd2cSJim Jagielski } 276*b1cdbd2cSJim Jagielski if (printit) log.println("FAILED for: language=" + languages[i] 277*b1cdbd2cSJim Jagielski + " ; country=" + countries[i]); 278*b1cdbd2cSJim Jagielski printit = false; 279*b1cdbd2cSJim Jagielski } 280*b1cdbd2cSJim Jagielski tRes.tested("getSearchOptions()",res); 281*b1cdbd2cSJim Jagielski } 282*b1cdbd2cSJim Jagielski 283*b1cdbd2cSJim Jagielski /** 284*b1cdbd2cSJim Jagielski * Test calls the method for several locales; result is checked 285*b1cdbd2cSJim Jagielski * after each call. <p> 286*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if all strings, returned by the method are not 287*b1cdbd2cSJim Jagielski * empty for all given locales. 288*b1cdbd2cSJim Jagielski */ _getCollationOptions()289*b1cdbd2cSJim Jagielski public void _getCollationOptions() { 290*b1cdbd2cSJim Jagielski boolean res = true; 291*b1cdbd2cSJim Jagielski boolean printit = false; 292*b1cdbd2cSJim Jagielski String[] str = new String[1]; 293*b1cdbd2cSJim Jagielski 294*b1cdbd2cSJim Jagielski for (int i=0;i<7;i++) { 295*b1cdbd2cSJim Jagielski str = oObj.getCollationOptions(getLocale(i)); 296*b1cdbd2cSJim Jagielski for (int j=0;j<str.length;j++) { 297*b1cdbd2cSJim Jagielski if ((str[j].equals(""))) { 298*b1cdbd2cSJim Jagielski printit = true; 299*b1cdbd2cSJim Jagielski } 300*b1cdbd2cSJim Jagielski res &= (!str.equals("")); 301*b1cdbd2cSJim Jagielski } 302*b1cdbd2cSJim Jagielski if (printit) log.println("FAILED for: language=" + languages[i] 303*b1cdbd2cSJim Jagielski + " ; country=" + countries[i]); 304*b1cdbd2cSJim Jagielski printit = false; 305*b1cdbd2cSJim Jagielski } 306*b1cdbd2cSJim Jagielski tRes.tested("getCollationOptions()", res); 307*b1cdbd2cSJim Jagielski } 308*b1cdbd2cSJim Jagielski 309*b1cdbd2cSJim Jagielski /** 310*b1cdbd2cSJim Jagielski * Test calls the method for several locales; result is checked 311*b1cdbd2cSJim Jagielski * after each call. <p> 312*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if all strings, returned by the method are not 313*b1cdbd2cSJim Jagielski * empty for all given locales. 314*b1cdbd2cSJim Jagielski */ _getTransliterations()315*b1cdbd2cSJim Jagielski public void _getTransliterations() { 316*b1cdbd2cSJim Jagielski boolean res = true; 317*b1cdbd2cSJim Jagielski boolean printit = false; 318*b1cdbd2cSJim Jagielski String[] str = new String[1]; 319*b1cdbd2cSJim Jagielski 320*b1cdbd2cSJim Jagielski for (int i=0;i<7;i++) { 321*b1cdbd2cSJim Jagielski str = oObj.getTransliterations(getLocale(i)); 322*b1cdbd2cSJim Jagielski for (int j=0;j<str.length;j++) { 323*b1cdbd2cSJim Jagielski if ((str[j].equals(""))) { 324*b1cdbd2cSJim Jagielski printit = true; 325*b1cdbd2cSJim Jagielski } 326*b1cdbd2cSJim Jagielski res &= (!str.equals("")); 327*b1cdbd2cSJim Jagielski } 328*b1cdbd2cSJim Jagielski if (printit) log.println("FAILED for: language=" + languages[i] 329*b1cdbd2cSJim Jagielski + " ; country=" + countries[i]); 330*b1cdbd2cSJim Jagielski printit = false; 331*b1cdbd2cSJim Jagielski } 332*b1cdbd2cSJim Jagielski tRes.tested("getTransliterations()", res); 333*b1cdbd2cSJim Jagielski } 334*b1cdbd2cSJim Jagielski 335*b1cdbd2cSJim Jagielski /** 336*b1cdbd2cSJim Jagielski * Test calls the method for several locales; result is checked 337*b1cdbd2cSJim Jagielski * after each call. <p> 338*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if the method returns structure with non-empty 339*b1cdbd2cSJim Jagielski * fields for all given locales. 340*b1cdbd2cSJim Jagielski */ _getForbiddenCharacters()341*b1cdbd2cSJim Jagielski public void _getForbiddenCharacters() { 342*b1cdbd2cSJim Jagielski boolean res = true; 343*b1cdbd2cSJim Jagielski ForbiddenCharacters fc = null; 344*b1cdbd2cSJim Jagielski 345*b1cdbd2cSJim Jagielski //the forbidden characters are only available for the asian languages 346*b1cdbd2cSJim Jagielski for (int i=4;i<7;i++) { 347*b1cdbd2cSJim Jagielski fc = oObj.getForbiddenCharacters(getLocale(i)); 348*b1cdbd2cSJim Jagielski res &= !( fc.beginLine.equals("") || fc.endLine.equals("") ); 349*b1cdbd2cSJim Jagielski if ( !res ) { 350*b1cdbd2cSJim Jagielski log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]); 351*b1cdbd2cSJim Jagielski } 352*b1cdbd2cSJim Jagielski } 353*b1cdbd2cSJim Jagielski tRes.tested("getForbiddenCharacters()", res); 354*b1cdbd2cSJim Jagielski } 355*b1cdbd2cSJim Jagielski 356*b1cdbd2cSJim Jagielski 357*b1cdbd2cSJim Jagielski /** 358*b1cdbd2cSJim Jagielski * Test calls the method for several locales; result is checked 359*b1cdbd2cSJim Jagielski * after each call. <p> 360*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if all strings, returned by the method are not 361*b1cdbd2cSJim Jagielski * empty for all given locales. 362*b1cdbd2cSJim Jagielski */ _getReservedWord()363*b1cdbd2cSJim Jagielski public void _getReservedWord() { 364*b1cdbd2cSJim Jagielski boolean res = true; 365*b1cdbd2cSJim Jagielski boolean printit = false; 366*b1cdbd2cSJim Jagielski String[] str = new String[1]; 367*b1cdbd2cSJim Jagielski 368*b1cdbd2cSJim Jagielski for (int i=0;i<7;i++) { 369*b1cdbd2cSJim Jagielski str = oObj.getReservedWord(getLocale(i)); 370*b1cdbd2cSJim Jagielski for (int j=0;j<str.length;j++) { 371*b1cdbd2cSJim Jagielski if ((str[j].equals(""))) { 372*b1cdbd2cSJim Jagielski printit = true; 373*b1cdbd2cSJim Jagielski } 374*b1cdbd2cSJim Jagielski res &= (!str.equals("")); 375*b1cdbd2cSJim Jagielski } 376*b1cdbd2cSJim Jagielski if (printit) log.println("FAILED for: language=" + languages[i] 377*b1cdbd2cSJim Jagielski + " ; country=" + countries[i]); 378*b1cdbd2cSJim Jagielski printit = false; 379*b1cdbd2cSJim Jagielski } 380*b1cdbd2cSJim Jagielski tRes.tested("getReservedWord()", res); 381*b1cdbd2cSJim Jagielski } 382*b1cdbd2cSJim Jagielski 383*b1cdbd2cSJim Jagielski 384*b1cdbd2cSJim Jagielski /** 385*b1cdbd2cSJim Jagielski * Test calls the method. Then result is checked for all given locales.<p> 386*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if locale sequence, returned by the method contains 387*b1cdbd2cSJim Jagielski * given locales. 388*b1cdbd2cSJim Jagielski */ _getAllInstalledLocaleNames()389*b1cdbd2cSJim Jagielski public void _getAllInstalledLocaleNames() { 390*b1cdbd2cSJim Jagielski boolean res = true; 391*b1cdbd2cSJim Jagielski Locale[] locs = oObj.getAllInstalledLocaleNames(); 392*b1cdbd2cSJim Jagielski 393*b1cdbd2cSJim Jagielski //check if the languages used here are part of this array 394*b1cdbd2cSJim Jagielski for (int i=0;i<7;i++) { 395*b1cdbd2cSJim Jagielski res &= contains(locs, getLocale(i)); 396*b1cdbd2cSJim Jagielski } 397*b1cdbd2cSJim Jagielski tRes.tested("getAllInstalledLocaleNames()",res); 398*b1cdbd2cSJim Jagielski } 399*b1cdbd2cSJim Jagielski 400*b1cdbd2cSJim Jagielski 401*b1cdbd2cSJim Jagielski /** 402*b1cdbd2cSJim Jagielski * Method returns locale for a given language and country. 403*b1cdbd2cSJim Jagielski * @param k index of needed locale. 404*b1cdbd2cSJim Jagielski * @return Locale by the index from arrays defined above 405*b1cdbd2cSJim Jagielski */ getLocale(int k)406*b1cdbd2cSJim Jagielski public Locale getLocale(int k) { 407*b1cdbd2cSJim Jagielski return new Locale(languages[k],countries[k],""); 408*b1cdbd2cSJim Jagielski } 409*b1cdbd2cSJim Jagielski 410*b1cdbd2cSJim Jagielski /** 411*b1cdbd2cSJim Jagielski * Method checks given calendar for non empty fields. 412*b1cdbd2cSJim Jagielski * @param calendar Calendar to be checked 413*b1cdbd2cSJim Jagielski */ goodCalendar(Calendar calendar)414*b1cdbd2cSJim Jagielski public boolean goodCalendar(Calendar calendar) { 415*b1cdbd2cSJim Jagielski boolean good = true; 416*b1cdbd2cSJim Jagielski for (int i=0;i<calendar.Days.length;i++) { 417*b1cdbd2cSJim Jagielski //log.println("Day "+i+"(AbbrevName): "+calendar.Days[i].AbbrevName); 418*b1cdbd2cSJim Jagielski good &= (! calendar.Days[i].AbbrevName.equals("") ); 419*b1cdbd2cSJim Jagielski //log.println("Day "+i+"(FullName): "+calendar.Days[i].FullName); 420*b1cdbd2cSJim Jagielski good &= (! calendar.Days[i].FullName.equals("") ); 421*b1cdbd2cSJim Jagielski //log.println("Day "+i+"(ID): "+calendar.Days[i].ID); 422*b1cdbd2cSJim Jagielski good &= (! calendar.Days[i].ID.equals("") ); 423*b1cdbd2cSJim Jagielski } 424*b1cdbd2cSJim Jagielski for (int i=0;i<calendar.Months.length;i++) { 425*b1cdbd2cSJim Jagielski //log.println("Day "+i+"(AbbrevName): "+calendar.Months[i].AbbrevName); 426*b1cdbd2cSJim Jagielski good &= (! calendar.Months[i].AbbrevName.equals("") ); 427*b1cdbd2cSJim Jagielski //log.println("Day "+i+"(FullName): "+calendar.Months[i].FullName); 428*b1cdbd2cSJim Jagielski good &= (! calendar.Months[i].FullName.equals("") ); 429*b1cdbd2cSJim Jagielski //log.println("Day "+i+"(ID): "+calendar.Months[i].ID); 430*b1cdbd2cSJim Jagielski good &= (! calendar.Months[i].ID.equals("") ); 431*b1cdbd2cSJim Jagielski } 432*b1cdbd2cSJim Jagielski for (int i=0;i<calendar.Eras.length;i++) { 433*b1cdbd2cSJim Jagielski //log.println("Era "+i+"(AbbrevName): "+calendar.Eras[i].AbbrevName); 434*b1cdbd2cSJim Jagielski good &= (! calendar.Eras[i].AbbrevName.equals("") ); 435*b1cdbd2cSJim Jagielski //log.println("Era "+i+"(FullName): "+calendar.Eras[i].FullName); 436*b1cdbd2cSJim Jagielski good &= (! calendar.Eras[i].FullName.equals("") ); 437*b1cdbd2cSJim Jagielski //log.println("Era "+i+"(ID): "+calendar.Eras[i].ID); 438*b1cdbd2cSJim Jagielski good &= (! calendar.Eras[i].ID.equals("") ); 439*b1cdbd2cSJim Jagielski } 440*b1cdbd2cSJim Jagielski //log.println("Start of Week: "+calendar.StartOfWeek); 441*b1cdbd2cSJim Jagielski good &= (! calendar.StartOfWeek.equals("") ); 442*b1cdbd2cSJim Jagielski //log.println("MinimumNumberOfDaysForFirstWeek: "+calendar.MinimumNumberOfDaysForFirstWeek); 443*b1cdbd2cSJim Jagielski //log.println("Default: "+calendar.Default); 444*b1cdbd2cSJim Jagielski //log.println("Name: "+calendar.Name); 445*b1cdbd2cSJim Jagielski good &= (! calendar.Name.equals("") ); 446*b1cdbd2cSJim Jagielski return good; 447*b1cdbd2cSJim Jagielski } 448*b1cdbd2cSJim Jagielski 449*b1cdbd2cSJim Jagielski /** 450*b1cdbd2cSJim Jagielski * Method checks given currency for non empty fields. 451*b1cdbd2cSJim Jagielski * @param currency Currency to be checked 452*b1cdbd2cSJim Jagielski */ goodCurrency(Currency currency)453*b1cdbd2cSJim Jagielski public boolean goodCurrency(Currency currency) { 454*b1cdbd2cSJim Jagielski boolean good = true; 455*b1cdbd2cSJim Jagielski good &= (!currency.BankSymbol.equals("")); 456*b1cdbd2cSJim Jagielski good &= (!currency.Name.equals("")); 457*b1cdbd2cSJim Jagielski good &= (!currency.Symbol.equals("")); 458*b1cdbd2cSJim Jagielski return good; 459*b1cdbd2cSJim Jagielski } 460*b1cdbd2cSJim Jagielski 461*b1cdbd2cSJim Jagielski /** 462*b1cdbd2cSJim Jagielski * Method checks given format for non empty fields. 463*b1cdbd2cSJim Jagielski * @param format Format to be checked 464*b1cdbd2cSJim Jagielski */ goodFormat(FormatElement format)465*b1cdbd2cSJim Jagielski public boolean goodFormat(FormatElement format) { 466*b1cdbd2cSJim Jagielski boolean good = true; 467*b1cdbd2cSJim Jagielski good &= (!format.formatCode.equals("")); 468*b1cdbd2cSJim Jagielski good &= (!format.formatKey.equals("")); 469*b1cdbd2cSJim Jagielski good &= (!format.formatType.equals("")); 470*b1cdbd2cSJim Jagielski good &= (!format.formatUsage.equals("")); 471*b1cdbd2cSJim Jagielski return good; 472*b1cdbd2cSJim Jagielski } 473*b1cdbd2cSJim Jagielski 474*b1cdbd2cSJim Jagielski /** 475*b1cdbd2cSJim Jagielski * Method checks that locale sequence contains given locale. 476*b1cdbd2cSJim Jagielski * @param locs Locale sequence 477*b1cdbd2cSJim Jagielski * @param oneLoc given locale 478*b1cdbd2cSJim Jagielski */ contains(Locale[] locs, Locale oneLoc)479*b1cdbd2cSJim Jagielski public boolean contains(Locale[] locs, Locale oneLoc) { 480*b1cdbd2cSJim Jagielski boolean cont = false; 481*b1cdbd2cSJim Jagielski for (int j=0;j<locs.length;j++) { 482*b1cdbd2cSJim Jagielski if ( (locs[j].Country.equals(oneLoc.Country)) && 483*b1cdbd2cSJim Jagielski (locs[j].Language.equals(oneLoc.Language)) ) { 484*b1cdbd2cSJim Jagielski cont=true; 485*b1cdbd2cSJim Jagielski break; 486*b1cdbd2cSJim Jagielski } 487*b1cdbd2cSJim Jagielski } 488*b1cdbd2cSJim Jagielski if (!cont) log.println("Not contained: " + oneLoc.Language); 489*b1cdbd2cSJim Jagielski return cont; 490*b1cdbd2cSJim Jagielski } 491*b1cdbd2cSJim Jagielski 492*b1cdbd2cSJim Jagielski } // end XLocaleData 493*b1cdbd2cSJim Jagielski 494