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 |