// 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; }
// 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()); }