jdk/test/java/util/PluggableLocale/CurrencyNameProviderTest.java
changeset 14185 916ec0a4d039
parent 13583 dc0017b1a452
child 14331 d3411e624053
equal deleted inserted replaced
14184:5553422ece67 14185:916ec0a4d039
    48 
    48 
    49     void test1() {
    49     void test1() {
    50         com.bar.CurrencyNameProviderImpl cnp = new com.bar.CurrencyNameProviderImpl();
    50         com.bar.CurrencyNameProviderImpl cnp = new com.bar.CurrencyNameProviderImpl();
    51         Locale[] availloc = Locale.getAvailableLocales();
    51         Locale[] availloc = Locale.getAvailableLocales();
    52         Locale[] testloc = availloc.clone();
    52         Locale[] testloc = availloc.clone();
       
    53         List<Locale> jreimplloc = Arrays.asList(LocaleProviderAdapter.forJRE().getCurrencyNameProvider().getAvailableLocales());
    53         List<Locale> providerloc = Arrays.asList(cnp.getAvailableLocales());
    54         List<Locale> providerloc = Arrays.asList(cnp.getAvailableLocales());
    54 
    55 
    55         for (Locale target: availloc) {
    56         for (Locale target: availloc) {
    56             // pure JRE implementation
    57             // pure JRE implementation
    57             OpenListResourceBundle rb = (OpenListResourceBundle)LocaleProviderAdapter.forJRE().getLocaleData().getCurrencyNames(target);
    58             OpenListResourceBundle rb = (OpenListResourceBundle)LocaleProviderAdapter.forJRE().getLocaleData().getCurrencyNames(target);
    58             boolean jreHasBundle = rb.getLocale().equals(target);
    59             boolean jreSupportsTarget = jreimplloc.contains(target);
    59 
    60 
    60             for (Locale test: testloc) {
    61             for (Locale test: testloc) {
    61                 // get a Currency instance
    62                 // get a Currency instance
    62                 Currency c = null;
    63                 Currency c = null;
    63                 try {
    64                 try {
    80                 if (providerloc.contains(target)) {
    81                 if (providerloc.contains(target)) {
    81                     providerscurrency = cnp.getSymbol(c.getCurrencyCode(), target);
    82                     providerscurrency = cnp.getSymbol(c.getCurrencyCode(), target);
    82                     providersname = cnp.getDisplayName(c.getCurrencyCode(), target);
    83                     providersname = cnp.getDisplayName(c.getCurrencyCode(), target);
    83                 }
    84                 }
    84 
    85 
    85                 // JRE's name (if any)
    86                 // JRE's name
    86                 String jrescurrency = null;
    87                 String jrescurrency = null;
    87                 String jresname = null;
    88                 String jresname = null;
    88                 String key = c.getCurrencyCode();
    89                 String key = c.getCurrencyCode();
    89                 String nameKey = key.toLowerCase(Locale.ROOT);
    90                 String nameKey = key.toLowerCase(Locale.ROOT);
    90                 if (jreHasBundle) {
    91                 if (jreSupportsTarget) {
    91                     try {
    92                     try {
    92                         jrescurrency = rb.getString(key);
    93                         jrescurrency = rb.getString(key);
    93                     } catch (MissingResourceException mre) {
    94                     } catch (MissingResourceException mre) {}
    94                         // JRE does not have any resource, "jrescurrency" should remain null
       
    95                     }
       
    96                     try {
    95                     try {
    97                         jresname = rb.getString(nameKey);
    96                         jresname = rb.getString(nameKey);
    98                     } catch (MissingResourceException mre) {
    97                     } catch (MissingResourceException mre) {}
    99                         // JRE does not have any resource, "jresname" should remain null
       
   100                     }
       
   101                 }
    98                 }
   102 
    99 
   103                 checkValidity(target, jrescurrency, providerscurrency, currencyresult, jrescurrency!=null);
   100                 checkValidity(target, jrescurrency, providerscurrency, currencyresult,
       
   101                               jreSupportsTarget && jrescurrency != null);
   104                 checkValidity(target, jresname, providersname, nameresult,
   102                 checkValidity(target, jresname, providersname, nameresult,
   105                               jreHasBundle && rb.handleGetKeys().contains(nameKey));
   103                               jreSupportsTarget && jresname != null);
   106             }
   104             }
   107         }
   105         }
   108     }
   106     }
   109 
   107 
   110 
   108