@Override public Country parse(String text, Locale locale) throws ParseException { return new Country(text, text); } });
@Override public void setAsText(String text) throws IllegalArgumentException { setValue(Country.getCountryWithIsoCode(text)); } @Override
@Override public String getAsText() { return ((Country) getValue()).getIsoCode(); } });
@Test public void withList() throws Exception { this.tag.setPath("country"); this.tag.setItems(Country.getCountries()); assertList(true); }
@Override public String print(Country object, Locale locale) { return object.getName(); } @Override
@Test public void withResolvedList() throws Exception { this.tag.setPath("country"); this.tag.setItems(Country.getCountries()); assertList(true); }
@Override public String print(Country object, Locale locale) { return object.getName(); } @Override
@Test public void multipleExplicitlyFalse() throws Exception { this.tag.setPath("name"); this.tag.setItems(Country.getCountries()); this.tag.setItemValue("isoCode"); this.tag.setMultiple("false"); int result = this.tag.doStartTag(); assertEquals(Tag.SKIP_BODY, result); String output = getOutput(); output = "<doc>" + output + "</doc>"; SAXReader reader = new SAXReader(); Document document = reader.read(new StringReader(output)); Element rootElement = document.getRootElement(); assertEquals(1, rootElement.elements().size()); Element selectElement = rootElement.element("select"); assertEquals("select", selectElement.getName()); assertEquals("name", selectElement.attribute("name").getValue()); assertNull(selectElement.attribute("multiple")); List children = selectElement.elements(); assertEquals("Incorrect number of children", 4, children.size()); }
@Override public void setAsText(String text) throws IllegalArgumentException { setValue(Country.getCountryWithIsoCode(text)); } @Override
@Override public Country parse(String text, Locale locale) throws ParseException { return new Country(text, text); } });
e = (Element) selectElement.selectSingleNode("option[@value = '" + austria.getIsoCode() + "']"); assertNotNull("Option node not found with Country ISO code value [" + austria.getIsoCode() + "].", e); assertEquals("AT node not selected.", "selected", e.attribute("selected").getValue()); assertEquals("AT Locale displayLanguage property not used for option label.", LOCALE_AT.getDisplayLanguage(), e.getData()); e = (Element) selectElement.selectSingleNode("option[@value = '" + usa.getIsoCode() + "']"); assertNotNull("Option node not found with Country ISO code value [" + usa.getIsoCode() + "].", e); assertEquals("US node not selected.", "selected", e.attribute("selected").getValue()); assertEquals("US Locale displayLanguage property not used for option label.",
@Test public void multipleWithBooleanFalse() throws Exception { this.tag.setPath("name"); this.tag.setItems(Country.getCountries()); this.tag.setItemValue("isoCode"); this.tag.setMultiple(false); int result = this.tag.doStartTag(); assertEquals(Tag.SKIP_BODY, result); String output = getOutput(); output = "<doc>" + output + "</doc>"; SAXReader reader = new SAXReader(); Document document = reader.read(new StringReader(output)); Element rootElement = document.getRootElement(); assertEquals(1, rootElement.elements().size()); Element selectElement = rootElement.element("select"); assertEquals("select", selectElement.getName()); assertEquals("name", selectElement.attribute("name").getValue()); assertNull(selectElement.attribute("multiple")); List children = selectElement.elements(); assertEquals("Incorrect number of children", 4, children.size()); }
@Override public String getAsText() { return ((Country) getValue()).getName(); } });
@Override public void setAsText(String text) throws IllegalArgumentException { setValue(Country.getCountryWithIsoCode(text)); } @Override
@Test public void multipleForCollection() throws Exception { this.bean.setSomeList(new ArrayList()); this.tag.setPath("someList"); this.tag.setItems(Country.getCountries()); this.tag.setItemValue("isoCode"); int result = this.tag.doStartTag(); assertEquals(Tag.SKIP_BODY, result); String output = getOutput(); output = "<doc>" + output + "</doc>"; SAXReader reader = new SAXReader(); Document document = reader.read(new StringReader(output)); Element rootElement = document.getRootElement(); assertEquals(2, rootElement.elements().size()); Element selectElement = rootElement.element("select"); assertEquals("select", selectElement.getName()); assertEquals("someList", selectElement.attribute("name").getValue()); assertEquals("multiple", selectElement.attribute("multiple").getValue()); List children = selectElement.elements(); assertEquals("Incorrect number of children", 4, children.size()); Element inputElement = rootElement.element("input"); assertNotNull(inputElement); }
@Override public String getAsText() { Country value = (Country) getValue(); if (value==null) { return ""; } return value.getName(); } });
@Override public void setAsText(String text) throws IllegalArgumentException { setValue(Country.getCountryWithIsoCode(text)); } @Override
@Test public void multipleExplicitlyTrue() throws Exception { this.tag.setPath("name"); this.tag.setItems(Country.getCountries()); this.tag.setItemValue("isoCode"); this.tag.setMultiple("true"); int result = this.tag.doStartTag(); assertEquals(Tag.SKIP_BODY, result); String output = getOutput(); output = "<doc>" + output + "</doc>"; SAXReader reader = new SAXReader(); Document document = reader.read(new StringReader(output)); Element rootElement = document.getRootElement(); assertEquals(2, rootElement.elements().size()); Element selectElement = rootElement.element("select"); assertEquals("select", selectElement.getName()); assertEquals("name", selectElement.attribute("name").getValue()); assertEquals("multiple", selectElement.attribute("multiple").getValue()); List children = selectElement.elements(); assertEquals("Incorrect number of children", 4, children.size()); Element inputElement = rootElement.element("input"); assertNotNull(inputElement); }
@Override public String getAsText() { return ((Country) getValue()).getName(); } });