17935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/*
27935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert *******************************************************************************
37935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Copyright (C) 2005-2009, International Business Machines Corporation and    *
47935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * others. All Rights Reserved.                                                *
57935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert *******************************************************************************
67935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */
77935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
87935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/*
97935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * New added, 2005-5-10 [Terry/SGL]
107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Major modification by Ram
117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */
127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpackage com.ibm.icu.dev.test.util;
147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport java.util.HashMap;
167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.impl.ICUResourceBundle;
187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.text.DateFormat;
197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.util.Calendar;
207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.util.ULocale;
217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.util.UResourceBundle;
227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpublic class LocaleAliasTest extends com.ibm.icu.dev.test.TestFmwk {
247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    private static final ULocale[][] _LOCALES = {
257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            {new ULocale("en", "RH"), new ULocale("en", "ZW")},
277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            {new ULocale("in"), new ULocale("id")},
287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            {new ULocale("in", "ID"), new ULocale("id", "ID")},
297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            {new ULocale("iw"), new ULocale("he")},
307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            {new ULocale("iw", "IL"), new ULocale("he", "IL")},
317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            {new ULocale("ji"), new ULocale("yi")},
327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            {new ULocale("en", "BU"), new ULocale("en", "MM")},
347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            {new ULocale("en", "DY"), new ULocale("en", "BJ")},
357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            {new ULocale("en", "HV"), new ULocale("en", "BF")},
367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            {new ULocale("en", "NH"), new ULocale("en", "VU")},
377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            {new ULocale("en", "TP"), new ULocale("en", "TL")},
387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            {new ULocale("en", "ZR"), new ULocale("en", "CD")}
397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    };
407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    private static final int _LOCALE_NUMBER = _LOCALES.length;
427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    private static ULocale[] available = null;
437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    private HashMap availableMap = new HashMap();
447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    private static final ULocale _DEFAULT_LOCALE = ULocale.US;
457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    public LocaleAliasTest(){
477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    }
487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    protected void init(){
497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        available = ULocale.getAvailableLocales();
507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        for(int i=0; i<available.length;i++){
517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            availableMap.put(available[i].toString(),"");
527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        }
537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    }
547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    public static void main(String[] args) {
557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        new LocaleAliasTest().run(args);
567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    }
577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    public void TestCalendar() {
587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale defLoc = ULocale.getDefault();
597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale.setDefault(_DEFAULT_LOCALE);
607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        for (int i=0; i<_LOCALE_NUMBER; i++) {
617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale oldLoc = _LOCALES[i][0];
627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale newLoc = _LOCALES[i][1];
637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            if(availableMap.get(_LOCALES[i][1])==null){
647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                logln(_LOCALES[i][1]+" is not available. Skipping!");
657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                continue;
667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            }
677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            Calendar c1 = Calendar.getInstance(oldLoc);
687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            Calendar c2 = Calendar.getInstance(newLoc);
697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            c1.setTime(c2.getTime());
707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            //Test function "getFirstDayOfWeek"
717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    //        int firstDayOfWeek1 = c1.getFirstDayOfWeek();
727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    //        int firstDayOfWeek2 = c2.getFirstDayOfWeek();
737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    //        if (firstDayOfWeek1 != firstDayOfWeek2) {
747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    //            this.logln("Calendar(getFirstDayOfWeek) old:"
757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    //                    +firstDayOfWeek1+"   new:"+firstDayOfWeek2);
767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    //            pass = false;
777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    //        }
787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            //Test function "getLocale(ULocale.VALID_LOCALE)"
807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale l1 = c1.getLocale(ULocale.VALID_LOCALE);
817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale l2 = c2.getLocale(ULocale.VALID_LOCALE);
827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            if (!newLoc.equals(l1)) {
837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                errln("CalendarTest: newLoc!=l1: newLoc= "+newLoc +" l1= "+l1);
847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            }
857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            if (!l1.equals(l2)) {
867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                errln("CalendarTest: l1!=l2: l1= "+l1 +" l2= "+l2);
877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            }
887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            if(!c1.equals(c2)){
897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                errln("CalendarTest: c1!=c2.  newLoc= "+newLoc +" oldLoc= "+oldLoc);
907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            }
917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            logln("Calendar(getLocale) old:"+l1+"   new:"+l2);
927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        }
937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale.setDefault(defLoc);
947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    }
957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    public void  TestDateFormat() {
977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale defLoc = ULocale.getDefault();
987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale.setDefault(_DEFAULT_LOCALE);
997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        for (int i=0; i<_LOCALE_NUMBER; i++) {
1007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale oldLoc = _LOCALES[i][0];
1017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale newLoc = _LOCALES[i][1];
1027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            if(availableMap.get(_LOCALES[i][1])==null){
1037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                logln(_LOCALES[i][1]+" is not available. Skipping!");
1047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                continue;
1057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            }
1067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            DateFormat df1 = DateFormat.getDateInstance(DateFormat.FULL, oldLoc);
1077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            DateFormat df2 = DateFormat.getDateInstance(DateFormat.FULL, newLoc);
1087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
1097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            //Test function "getLocale"
1107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale l1 = df1.getLocale(ULocale.VALID_LOCALE);
1117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale l2 = df2.getLocale(ULocale.VALID_LOCALE);
1127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            if (!newLoc.equals(l1)) {
1137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                errln("DateFormatTest: newLoc!=l1: newLoc= "+newLoc +" l1= "+l1);
1147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            }
1157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            if (!l1.equals(l2)) {
1167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                errln("DateFormatTest: l1!=l2: l1= "+l1 +" l2= "+l2);
1177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            }
1187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            if (!df1.equals(df2)) {
1197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                errln("DateFormatTest: df1!=df2: newLoc= "+newLoc +" oldLoc= "+oldLoc);
1207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            }
1217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            this.logln("DateFormat(getLocale) old:"+l1+"   new:"+l2);
1227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
1237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            //Test function "format"
1247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    //        Date d = new Date();
1257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    //        String d1 = df1.format(d);
1267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    //        String d2 = df2.format(d);
1277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    //        if (!d1.equals(d2)) {
1287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    //            pass = false;
1297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    //        }
1307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    //        this.logln("DateFormat(format) old:"+d1+"   new:"+d2);
1317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        }
1327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale.setDefault(defLoc);
1337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    }
1347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
1357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    public void TestULocale() {
1367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale defLoc = ULocale.getDefault();
1377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale.setDefault(_DEFAULT_LOCALE);
1387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        for (int i=0; i<_LOCALE_NUMBER; i++) {
1397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale oldLoc = _LOCALES[i][0];
1407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale newLoc = _LOCALES[i][1];
1417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            if(availableMap.get(_LOCALES[i][1])==null){
1427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                logln(_LOCALES[i][1]+" is not available. Skipping!");
1437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                continue;
1447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            }
1457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale ul1 = new ULocale(oldLoc.toString());
1467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale ul2 = new ULocale(newLoc.toString());
1477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
1487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            String name1 = ul1.getDisplayName();
1497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            String name2 = ul2.getDisplayName();
1507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            if (!name1.equals(name2)) {
1517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                errln("name1!=name2. name1 = " + name1 +" name2 = " +name2);
1527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            }
1537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            logln("ULocale(getDisplayName) old:"+name1+"   new:"+name2);
1547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        }
1557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale.setDefault(defLoc);
1567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    }
1577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
1587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    public void TestDisplayName() {
1597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale defLoc = ULocale.getDefault();
1607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale.setDefault(_DEFAULT_LOCALE);
1617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        for (int i=0; i<_LOCALE_NUMBER; i++) {
1627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale oldLoc = _LOCALES[i][0];
1637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale newLoc = _LOCALES[i][1];
1647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
1657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            for(int j=0; j<available.length; j++){
1667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert               String oldCountry = oldLoc.getDisplayCountry(available[j]);
1677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert               String newCountry = newLoc.getDisplayCountry(available[j]);
1687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert               String oldLang = oldLoc.getDisplayLanguage(available[j]);
1697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert               String newLang = newLoc.getDisplayLanguage(available[j]);
1707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
1717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert               // is  there  display name for the current country ID
1727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert               if(!newCountry.equals(newLoc.getCountry())){
1737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                   if(!oldCountry.equals(newCountry)){
1747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                       errln("getCountry() failed for "+ oldLoc +" oldCountry= "+ prettify(oldCountry) +" newCountry = "+prettify(newCountry)+ " in display locale "+ available[j].toString());
1757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                   }
1767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert               }
1777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert               //there is a display name for the current lang ID
1787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert               if(!newLang.equals(newLoc.getLanguage())){
1797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                   if(!oldLang.equals(newLang)){
1807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                       errln("getLanguage() failed for " + oldLoc + " oldLang = "+ prettify(oldLang) +" newLang = "+prettify(newLang)+ " in display locale "+ available[j].toString());
1817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                   }
1827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert               }
1837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            }
1847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        }
1857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale.setDefault(defLoc);
1867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    }
1877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    public void TestUResourceBundle() {
1887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale defLoc = ULocale.getDefault();
1897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale.setDefault(_DEFAULT_LOCALE);
1907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        for (int i=0; i<_LOCALE_NUMBER; i++) {
1917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            if(availableMap.get(_LOCALES[i][1])==null){
1927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                logln(_LOCALES[i][1]+" is not available. Skipping!");
1937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                continue;
1947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            }
1957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale oldLoc = _LOCALES[i][0];
1967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale newLoc = _LOCALES[i][1];
1977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            UResourceBundle urb1 = null;
1987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            UResourceBundle urb2 = null;
1997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
2007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            urb1 = UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, oldLoc);
2017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            urb2 = UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, newLoc);
2027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale l1 = urb1.getULocale();
2037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            ULocale l2 = urb2.getULocale();
2047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            if (!newLoc.equals(l1)) {
2057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                errln("ResourceBundleTest: newLoc!=l1: newLoc= "+newLoc +" l1= "+l1);
2067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            }
2077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            if (!l1.equals(l2)) {
2087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                errln("ResourceBundleTest: l1!=l2: l1= "+l1 +" l2= "+l2);
2097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            }
2107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            this.logln("UResourceBundle old:"+l1+"   new:"+l2);
2117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        }
2127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        ULocale.setDefault(defLoc);
2137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    }
2147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert}
215