コード例 #1
0
  @Test
  public void getLocalizable() throws Exception {
    Locale locale = new Locale("de_DE");
    Localizable loc;

    Locale l;
    Object o;
    // implements Localizable - no proxy
    o = new Foobar();
    loc = internalGetLocalizable(o, false);
    loc.setLocale(locale);
    l = loc.getLocale();
    assertEquals(locale, l);

    // getter only - proxy
    o = ((Foobar) o).new Internal();
    loc = internalGetLocalizable(o, true);
    loc.setLocale(null);
    l = loc.getLocale();
    assertEquals(locale, l);

    // getter and setter - proxy
    o = new Foobar.StaticInternal();
    loc = internalGetLocalizable(o, true);
    loc.setLocale(locale);
    l = loc.getLocale();
    assertEquals(locale, l);

    // neither getter nor setter - proxy
    o = new Foobar.StaticInternal.Foo();
    loc = internalGetLocalizable(o, true);
    loc.setLocale(locale);
    l = loc.getLocale();
    assertEquals(null, l);
  }