Print this page
rev 5957 : imported patch 8000245.8000273.8000615

Split Close
Expand all
Collapse all
          --- old/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java
          +++ new/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java
↓ open down ↓ 37 lines elided ↑ open up ↑
  38   38      }
  39   39  
  40   40      TimeZoneNameProviderTest() {
  41   41          test1();
  42   42          test2();
  43   43          aliasTest();
  44   44      }
  45   45  
  46   46      void test1() {
  47   47          Locale[] available = Locale.getAvailableLocales();
       48 +        List<Locale> jreimplloc = Arrays.asList(LocaleProviderAdapter.forJRE().getTimeZoneNameProvider().getAvailableLocales());
  48   49          List<Locale> providerLocales = Arrays.asList(tznp.getAvailableLocales());
  49   50          String[] ids = TimeZone.getAvailableIDs();
  50   51  
  51   52          for (Locale target: available) {
  52   53              // pure JRE implementation
  53   54              OpenListResourceBundle rb = LocaleProviderAdapter.forJRE().getLocaleData().getTimeZoneNames(target);
  54      -            boolean jreHasBundle = rb.getLocale().equals(target);
       55 +            boolean jreSupportsTarget = jreimplloc.contains(target);
  55   56  
  56   57              for (String id: ids) {
  57   58                  // the time zone
  58   59                  TimeZone tz = TimeZone.getTimeZone(id);
  59   60  
  60   61                  // JRE string array for the id
  61   62                  String[] jrearray = null;
  62      -                if (jreHasBundle) {
       63 +                if (jreSupportsTarget) {
  63   64                      try {
  64   65                          jrearray = rb.getStringArray(id);
  65   66                      } catch (MissingResourceException mre) {}
  66   67                  }
  67   68  
  68   69                  for (int i = 1; i <=(tz.useDaylightTime()?4:2); i++) {
  69   70                      // the localized name
  70   71                      String name = tz.getDisplayName(i>=3, i%2, target);
  71   72  
  72   73                      // provider's name (if any)
  73   74                      String providersname = null;
  74   75                      if (providerLocales.contains(target)) {
  75   76                          providersname = tznp.getDisplayName(id, i>=3, i%2, target);
  76   77                      }
  77   78  
  78      -                    // JRE's name (if any)
       79 +                    // JRE's name
  79   80                      String jresname = null;
  80   81                      if (jrearray != null) {
  81   82                          jresname = jrearray[i];
  82   83                      }
  83   84  
  84   85                      checkValidity(target, jresname, providersname, name,
  85      -                        jreHasBundle && rb.handleGetKeys().contains(id));
       86 +                        jreSupportsTarget && jresname != null);
  86   87                  }
  87   88              }
  88   89          }
  89   90      }
  90   91  
  91   92      final String pattern = "z";
  92   93      final Locale OSAKA = new Locale("ja", "JP", "osaka");
  93   94      final Locale KYOTO = new Locale("ja", "JP", "kyoto");
  94   95  
  95   96      final String[] TIMEZONES = {
↓ open down ↓ 112 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX