📄 customeditortests.java
字号:
editor.setAsText(invalidDate);
fail("Exception should be thrown because this is an invalid date");
}
catch (IllegalArgumentException ex) {
// expected
assertTrue(ex.getMessage().indexOf("10") != -1);
}
}
public void testCustomNumberEditor() {
CustomNumberEditor editor = new CustomNumberEditor(Integer.class, false);
editor.setAsText("5");
assertEquals(new Integer(5), editor.getValue());
assertEquals("5", editor.getAsText());
editor.setValue(null);
assertEquals(null, editor.getValue());
assertEquals("", editor.getAsText());
}
public void testCustomNumberEditorWithHex() {
CustomNumberEditor editor = new CustomNumberEditor(Integer.class, false);
editor.setAsText("0x" + Integer.toHexString(64));
assertEquals(new Integer(64), editor.getValue());
}
public void testCustomNumberEditorWithEmptyAsNull() {
CustomNumberEditor editor = new CustomNumberEditor(Integer.class, true);
editor.setAsText("5");
assertEquals(new Integer(5), editor.getValue());
assertEquals("5", editor.getAsText());
editor.setAsText("");
assertEquals(null, editor.getValue());
assertEquals("", editor.getAsText());
editor.setValue(null);
assertEquals(null, editor.getValue());
assertEquals("", editor.getAsText());
}
public void testStringTrimmerEditor() {
StringTrimmerEditor editor = new StringTrimmerEditor(false);
editor.setAsText("test");
assertEquals("test", editor.getValue());
assertEquals("test", editor.getAsText());
editor.setAsText(" test ");
assertEquals("test", editor.getValue());
assertEquals("test", editor.getAsText());
editor.setAsText("");
assertEquals("", editor.getValue());
assertEquals("", editor.getAsText());
editor.setValue(null);
assertEquals("", editor.getAsText());
editor.setAsText(null);
assertEquals("", editor.getAsText());
}
public void testStringTrimmerEditorWithEmptyAsNull() {
StringTrimmerEditor editor = new StringTrimmerEditor(true);
editor.setAsText("test");
assertEquals("test", editor.getValue());
assertEquals("test", editor.getAsText());
editor.setAsText(" test ");
assertEquals("test", editor.getValue());
assertEquals("test", editor.getAsText());
editor.setAsText(" ");
assertEquals(null, editor.getValue());
assertEquals("", editor.getAsText());
editor.setValue(null);
assertEquals("", editor.getAsText());
}
public void testStringTrimmerEditorWithCharsToDelete() {
StringTrimmerEditor editor = new StringTrimmerEditor("\r\n\f", false);
editor.setAsText("te\ns\ft");
assertEquals("test", editor.getValue());
assertEquals("test", editor.getAsText());
editor.setAsText(" test ");
assertEquals("test", editor.getValue());
assertEquals("test", editor.getAsText());
editor.setAsText("");
assertEquals("", editor.getValue());
assertEquals("", editor.getAsText());
editor.setValue(null);
assertEquals("", editor.getAsText());
}
public void testStringTrimmerEditorWithCharsToDeleteAndEmptyAsNull() {
StringTrimmerEditor editor = new StringTrimmerEditor("\r\n\f", true);
editor.setAsText("te\ns\ft");
assertEquals("test", editor.getValue());
assertEquals("test", editor.getAsText());
editor.setAsText(" test ");
assertEquals("test", editor.getValue());
assertEquals("test", editor.getAsText());
editor.setAsText(" \n\f ");
assertEquals(null, editor.getValue());
assertEquals("", editor.getAsText());
editor.setValue(null);
assertEquals("", editor.getAsText());
}
public void testIndexedPropertiesWithCustomEditorForType() {
IndexedTestBean bean = new IndexedTestBean();
BeanWrapper bw = new BeanWrapperImpl(bean);
bw.registerCustomEditor(String.class, new PropertyEditorSupport() {
public void setAsText(String text) throws IllegalArgumentException {
setValue("prefix" + text);
}
});
TestBean tb0 = bean.getArray()[0];
TestBean tb1 = bean.getArray()[1];
TestBean tb2 = ((TestBean) bean.getList().get(0));
TestBean tb3 = ((TestBean) bean.getList().get(1));
TestBean tb4 = ((TestBean) bean.getMap().get("key1"));
TestBean tb5 = ((TestBean) bean.getMap().get("key2"));
assertEquals("name0", tb0.getName());
assertEquals("name1", tb1.getName());
assertEquals("name2", tb2.getName());
assertEquals("name3", tb3.getName());
assertEquals("name4", tb4.getName());
assertEquals("name5", tb5.getName());
assertEquals("name0", bw.getPropertyValue("array[0].name"));
assertEquals("name1", bw.getPropertyValue("array[1].name"));
assertEquals("name2", bw.getPropertyValue("list[0].name"));
assertEquals("name3", bw.getPropertyValue("list[1].name"));
assertEquals("name4", bw.getPropertyValue("map[key1].name"));
assertEquals("name5", bw.getPropertyValue("map[key2].name"));
assertEquals("name4", bw.getPropertyValue("map['key1'].name"));
assertEquals("name5", bw.getPropertyValue("map[\"key2\"].name"));
MutablePropertyValues pvs = new MutablePropertyValues();
pvs.addPropertyValue("array[0].name", "name5");
pvs.addPropertyValue("array[1].name", "name4");
pvs.addPropertyValue("list[0].name", "name3");
pvs.addPropertyValue("list[1].name", "name2");
pvs.addPropertyValue("map[key1].name", "name1");
pvs.addPropertyValue("map['key2'].name", "name0");
bw.setPropertyValues(pvs);
assertEquals("prefixname5", tb0.getName());
assertEquals("prefixname4", tb1.getName());
assertEquals("prefixname3", tb2.getName());
assertEquals("prefixname2", tb3.getName());
assertEquals("prefixname1", tb4.getName());
assertEquals("prefixname0", tb5.getName());
assertEquals("prefixname5", bw.getPropertyValue("array[0].name"));
assertEquals("prefixname4", bw.getPropertyValue("array[1].name"));
assertEquals("prefixname3", bw.getPropertyValue("list[0].name"));
assertEquals("prefixname2", bw.getPropertyValue("list[1].name"));
assertEquals("prefixname1", bw.getPropertyValue("map[\"key1\"].name"));
assertEquals("prefixname0", bw.getPropertyValue("map['key2'].name"));
}
public void testIndexedPropertiesWithCustomEditorForProperty() {
IndexedTestBean bean = new IndexedTestBean(false);
BeanWrapper bw = new BeanWrapperImpl(bean);
bw.registerCustomEditor(String.class, "array.name", new PropertyEditorSupport() {
public void setAsText(String text) throws IllegalArgumentException {
setValue("array" + text);
}
});
bw.registerCustomEditor(String.class, "list.name", new PropertyEditorSupport() {
public void setAsText(String text) throws IllegalArgumentException {
setValue("list" + text);
}
});
bw.registerCustomEditor(String.class, "map.name", new PropertyEditorSupport() {
public void setAsText(String text) throws IllegalArgumentException {
setValue("map" + text);
}
});
bean.populate();
TestBean tb0 = bean.getArray()[0];
TestBean tb1 = bean.getArray()[1];
TestBean tb2 = ((TestBean) bean.getList().get(0));
TestBean tb3 = ((TestBean) bean.getList().get(1));
TestBean tb4 = ((TestBean) bean.getMap().get("key1"));
TestBean tb5 = ((TestBean) bean.getMap().get("key2"));
assertEquals("name0", tb0.getName());
assertEquals("name1", tb1.getName());
assertEquals("name2", tb2.getName());
assertEquals("name3", tb3.getName());
assertEquals("name4", tb4.getName());
assertEquals("name5", tb5.getName());
assertEquals("name0", bw.getPropertyValue("array[0].name"));
assertEquals("name1", bw.getPropertyValue("array[1].name"));
assertEquals("name2", bw.getPropertyValue("list[0].name"));
assertEquals("name3", bw.getPropertyValue("list[1].name"));
assertEquals("name4", bw.getPropertyValue("map[key1].name"));
assertEquals("name5", bw.getPropertyValue("map[key2].name"));
assertEquals("name4", bw.getPropertyValue("map['key1'].name"));
assertEquals("name5", bw.getPropertyValue("map[\"key2\"].name"));
MutablePropertyValues pvs = new MutablePropertyValues();
pvs.addPropertyValue("array[0].name", "name5");
pvs.addPropertyValue("array[1].name", "name4");
pvs.addPropertyValue("list[0].name", "name3");
pvs.addPropertyValue("list[1].name", "name2");
pvs.addPropertyValue("map[key1].name", "name1");
pvs.addPropertyValue("map['key2'].name", "name0");
bw.setPropertyValues(pvs);
assertEquals("arrayname5", tb0.getName());
assertEquals("arrayname4", tb1.getName());
assertEquals("listname3", tb2.getName());
assertEquals("listname2", tb3.getName());
assertEquals("mapname1", tb4.getName());
assertEquals("mapname0", tb5.getName());
assertEquals("arrayname5", bw.getPropertyValue("array[0].name"));
assertEquals("arrayname4", bw.getPropertyValue("array[1].name"));
assertEquals("listname3", bw.getPropertyValue("list[0].name"));
assertEquals("listname2", bw.getPropertyValue("list[1].name"));
assertEquals("mapname1", bw.getPropertyValue("map[\"key1\"].name"));
assertEquals("mapname0", bw.getPropertyValue("map['key2'].name"));
}
public void testIndexedPropertiesWithIndividualCustomEditorForProperty() {
IndexedTestBean bean = new IndexedTestBean(false);
BeanWrapper bw = new BeanWrapperImpl(bean);
bw.registerCustomEditor(String.class, "array[0].name", new PropertyEditorSupport() {
public void setAsText(String text) throws IllegalArgumentException {
setValue("array0" + text);
}
});
bw.registerCustomEditor(String.class, "array[1].name", new PropertyEditorSupport() {
public void setAsText(String text) throws IllegalArgumentException {
setValue("array1" + text);
}
});
bw.registerCustomEditor(String.class, "list[0].name", new PropertyEditorSupport() {
public void setAsText(String text) throws IllegalArgumentException {
setValue("list0" + text);
}
});
bw.registerCustomEditor(String.class, "list[1].name", new PropertyEditorSupport() {
public void setAsText(String text) throws IllegalArgumentException {
setValue("list1" + text);
}
});
bw.registerCustomEditor(String.class, "map[key1].name", new PropertyEditorSupport() {
public void setAsText(String text) throws IllegalArgumentException {
setValue("mapkey1" + text);
}
});
bw.registerCustomEditor(String.class, "map[key2].name", new PropertyEditorSupport() {
public void setAsText(String text) throws IllegalArgumentException {
setValue("mapkey2" + text);
}
});
bean.populate();
TestBean tb0 = bean.getArray()[0];
TestBean tb1 = bean.getArray()[1];
TestBean tb2 = ((TestBean) bean.getList().get(0));
TestBean tb3 = ((TestBean) bean.getList().get(1));
TestBean tb4 = ((TestBean) bean.getMap().get("key1"));
TestBean tb5 = ((TestBean) bean.getMap().get("key2"));
assertEquals("name0", tb0.getName());
assertEquals("name1", tb1.getName());
assertEquals("name2", tb2.getName());
assertEquals("name3", tb3.getName());
assertEquals("name4", tb4.getName());
assertEquals("name5", tb5.getName());
assertEquals("name0", bw.getPropertyValue("array[0].name"));
assertEquals("name1", bw.getPropertyValue("array[1].name"));
assertEquals("name2", bw.getPropertyValue("list[0].name"));
assertEquals("name3", bw.getPropertyValue("list[1].name"));
assertEquals("name4", bw.getPropertyValue("map[key1].name"));
assertEquals("name5", bw.getPropertyValue("map[key2].name"));
assertEquals("name4", bw.getPropertyValue("map['key1'].name"));
assertEquals("name5", bw.getPropertyValue("map[\"key2\"].name"));
MutablePropertyValues pvs = new MutablePropertyValues();
pvs.addPropertyValue("array[0].name", "name5");
pvs.addPropertyValue("array[1].name", "name4");
pvs.addPropertyValue("list[0].name", "name3");
pvs.addPropertyValue("list[1].name", "name2");
pvs.addPropertyValue("map[key1].name", "name1");
pvs.addPropertyValue("map['key2'].name", "name0");
bw.setPropertyValues(pvs);
assertEquals("array0name5", tb0.getName());
assertEquals("array1name4", tb1.getName());
assertEquals("list0name3", tb2.getName());
assertEquals("list1name2", tb3.getName());
assertEquals("mapkey1name1", tb4.getName());
assertEquals("mapkey2name0", tb5.getName());
assertEquals("array0name5", bw.getPropertyValue("array[0].name"));
assertEquals("array1name4", bw.getPropertyValue("array[1].name"));
assertEquals("list0name3", bw.getPropertyValue("list[0].name"));
assertEquals("list1name2", bw.getPropertyValue("list[1].name"));
assertEquals("mapkey1name1", bw.getPropertyValue("map[\"key1\"].name"));
assertEquals("mapkey2name0", bw.getPropertyValue("map['key2'].name"));
}
public void testNestedIndexedPropertiesWithCustomEditorForProperty() {
IndexedTestBean bean = new IndexedTestBean();
TestBean tb0 = bean.getArray()[0];
TestBean tb1 = bean.getArray()[1];
TestBean tb2 = ((TestBean) bean.getList().get(0));
TestBean tb3 = ((TestBean) bean.getList().get(1));
TestBean tb4 = ((TestBean) bean.getMap().get("key1"));
TestBean tb5 = ((TestBean) bean.getMap().get("key2"));
tb0.setNestedIndexedBean(new IndexedTestBean());
tb1.setNestedIndexedBean(new IndexedTestBean());
tb2.setNestedIndexedBean(new IndexedTestBean());
tb3.setNestedIndexedBean(new IndexedTestBean());
tb4.setNestedIndexedBean(new IndexedTestBean());
tb5.setNestedIndexedBean(new IndexedTestBean());
BeanWrapper bw = new BeanWrapperImpl(bean);
bw.registerCustomEditor(String.class, "array.nestedIndexedBean.array.name", new PropertyEditorSupport() {
public void setAsText(String text) throws IllegalArgumentException {
setValue("array" + text);
}
public String getAsText() {
return ((String) getValue()).substring(5);
}
});
bw.registerCustomEditor(String.class, "list.nestedIndexedBean.list.name", new PropertyEditorSupport() {
public void setAsText(String text) throws IllegalArgumentException {
setValue("list" + text);
}
public String getAsText() {
return ((String) getValue()).substring(4);
}
});
bw.registerCustomEditor(String.class, "map.nestedIndexedBean.map.name", new PropertyEditorSupport() {
public void setAsText(String text) throws IllegalArgumentException {
setValue("map" + text);
}
public String getAsText() {
return ((String) getValue()).substring(4);
}
});
assertEquals("name0", tb0.getName());
assertEquals("name1", tb1.getName());
assertEquals("name2", tb2.getName());
assertEquals("name3", tb3.getName());
assertEquals("name4", tb4.getName());
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -