// Test attribute-property transparency
  public boolean doTestAttributesTransparency(ValueHolder vh, UIComponent newComp) {
    assertEquals(vh.getValue(), (String) newComp.getAttributes().get("value"));
    vh.setValue("foo");
    assertEquals("foo", (String) newComp.getAttributes().get("value"));
    vh.setValue(null);
    assertNull((String) newComp.getAttributes().get("value"));
    newComp.getAttributes().put("value", "bar");
    assertEquals("bar", vh.getValue());
    newComp.getAttributes().put("value", null);
    assertNull(vh.getValue());

    assertEquals(vh.getConverter(), (String) newComp.getAttributes().get("converter"));
    vh.setConverter(new LongConverter());
    assertNotNull((Converter) newComp.getAttributes().get("converter"));
    assertTrue(newComp.getAttributes().get("converter") instanceof LongConverter);
    vh.setConverter(null);
    assertNull(newComp.getAttributes().get("converter"));
    newComp.getAttributes().put("converter", new ShortConverter());
    assertNotNull(vh.getConverter());
    assertTrue(vh.getConverter() instanceof ShortConverter);
    newComp.getAttributes().put("converter", null);
    assertNull(vh.getConverter());

    return true;
  }
Пример #2
0
  @Test
  public void latchOnFalse() {
    source = new ValueHolder<Boolean>(null);
    latch = Latch.onFalse(source);
    latch.addValueChangeHandler(changeHandler);

    Assert.assertEquals(latch.getValue(), Boolean.TRUE);

    source.setValue(true);

    Assert.assertEquals(latch.getValue(), Boolean.TRUE);

    source.setValue(null);

    Assert.assertEquals(latch.getValue(), Boolean.TRUE);

    source.setValue(false);

    Assert.assertEquals(latch.getValue(), Boolean.FALSE);
    verify(changeHandler).onValueChange(argThat(new IsValueChangeEventWithValue<Boolean>(false)));

    source.setValue(true);

    Assert.assertEquals(latch.getValue(), Boolean.FALSE);

    latch.reset();

    Assert.assertEquals(latch.getValue(), Boolean.TRUE);
    verify(changeHandler).onValueChange(argThat(new IsValueChangeEventWithValue<Boolean>(true)));
  }
 // Populate a pristine component to be used in state holder tests
 @Override
 protected void populateComponent(UIComponent component) {
   super.populateComponent(component);
   ValueHolder vh = (ValueHolder) component;
   vh.setValue("component value");
   vh.setConverter(createNumberConverter());
 }
  // Test setting properties to valid values
  public void testPropertiesValid() throws Exception {
    super.testPropertiesValid();
    ValueHolder vh = (ValueHolder) component;

    // value
    vh.setValue("foo.bar");
    assertEquals("expected value", "foo.bar", vh.getValue());
    vh.setValue(null);
    assertNull("erased value", vh.getValue());

    // converter
    vh.setConverter(new LongConverter());
    assertTrue("expected converter", vh.getConverter() instanceof LongConverter);
    vh.setConverter(null);
    assertNull("erased converter", vh.getConverter());
  }