Print this page
rev 5957 : imported patch 8000245.8000273.8000615

Split Close
Expand all
Collapse all
          --- old/test/java/util/PluggableLocale/CurrencyNameProviderTest.java
          +++ new/test/java/util/PluggableLocale/CurrencyNameProviderTest.java
↓ open down ↓ 42 lines elided ↑ open up ↑
  43   43  
  44   44      CurrencyNameProviderTest() {
  45   45          test1();
  46   46          test2();
  47   47      }
  48   48  
  49   49      void test1() {
  50   50          com.bar.CurrencyNameProviderImpl cnp = new com.bar.CurrencyNameProviderImpl();
  51   51          Locale[] availloc = Locale.getAvailableLocales();
  52   52          Locale[] testloc = availloc.clone();
       53 +        List<Locale> jreimplloc = Arrays.asList(LocaleProviderAdapter.forJRE().getCurrencyNameProvider().getAvailableLocales());
  53   54          List<Locale> providerloc = Arrays.asList(cnp.getAvailableLocales());
  54   55  
  55   56          for (Locale target: availloc) {
  56   57              // pure JRE implementation
  57   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   61              for (Locale test: testloc) {
  61   62                  // get a Currency instance
  62   63                  Currency c = null;
  63   64                  try {
  64   65                      c = Currency.getInstance(test);
  65   66                  } catch (IllegalArgumentException iae) {}
  66   67  
  67   68                  if (c == null) {
  68   69                      continue;
↓ open down ↓ 6 lines elided ↑ open up ↑
  75   76                  String nameresult = c.getDisplayName(target);
  76   77  
  77   78                  // provider's name (if any)
  78   79                  String providerscurrency = null;
  79   80                  String providersname = null;
  80   81                  if (providerloc.contains(target)) {
  81   82                      providerscurrency = cnp.getSymbol(c.getCurrencyCode(), target);
  82   83                      providersname = cnp.getDisplayName(c.getCurrencyCode(), target);
  83   84                  }
  84   85  
  85      -                // JRE's name (if any)
       86 +                // JRE's name
  86   87                  String jrescurrency = null;
  87   88                  String jresname = null;
  88   89                  String key = c.getCurrencyCode();
  89   90                  String nameKey = key.toLowerCase(Locale.ROOT);
  90      -                if (jreHasBundle) {
       91 +                if (jreSupportsTarget) {
  91   92                      try {
  92   93                          jrescurrency = rb.getString(key);
  93      -                    } catch (MissingResourceException mre) {
  94      -                        // JRE does not have any resource, "jrescurrency" should remain null
  95      -                    }
       94 +                    } catch (MissingResourceException mre) {}
  96   95                      try {
  97   96                          jresname = rb.getString(nameKey);
  98      -                    } catch (MissingResourceException mre) {
  99      -                        // JRE does not have any resource, "jresname" should remain null
 100      -                    }
       97 +                    } catch (MissingResourceException mre) {}
 101   98                  }
 102   99  
 103      -                checkValidity(target, jrescurrency, providerscurrency, currencyresult, jrescurrency!=null);
      100 +                checkValidity(target, jrescurrency, providerscurrency, currencyresult, 
      101 +                              jreSupportsTarget && jrescurrency != null);
 104  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  
 111  109      final String pattern = "###,###\u00A4";
 112  110      final String YEN_IN_OSAKA = "100,000\u5186\u3084\u3002";
 113  111      final String YEN_IN_KYOTO = "100,000\u5186\u3069\u3059\u3002";
 114  112      final Locale OSAKA = new Locale("ja", "JP", "osaka");
 115  113      final Locale KYOTO = new Locale("ja", "JP", "kyoto");
↓ open down ↓ 29 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX