assertTrue("Correct isError", status.isError()); assertTrue("Correct errorCodes", status.getErrorCodes().length == 2); assertTrue("Correct errorCode", "code1".equals(status.getErrorCode())); assertTrue("Correct errorCode", "code1".equals(status.getErrorCodes()[0])); assertTrue("Correct errorCode", "code2".equals(status.getErrorCodes()[1])); assertTrue("Correct isError", status.isError()); assertTrue("Correct errorCodes", status.getErrorCodes().length == 1); assertTrue("Correct errorCode", "code2".equals(status.getErrorCode())); assertTrue("Correct isError", status.isError()); assertTrue("Correct errorCodes", status.getErrorCodes().length == 3); assertTrue("Correct errorCode", "code1".equals(status.getErrorCode())); assertTrue("Correct errorCode", "code1".equals(status.getErrorCodes()[0])); assertTrue("Correct errorCode", "code2".equals(status.getErrorCodes()[1]));
@Override public String getErrorCode() { return this.bindStatus.getErrorCode(); }
@Test public void bindTagWithoutErrors() throws JspException { PageContext pc = createPageContext(); Errors errors = new ServletRequestDataBinder(new TestBean(), "tb").getBindingResult(); pc.getRequest().setAttribute(BindingResult.MODEL_KEY_PREFIX + "tb", errors); BindTag tag = new BindTag(); tag.setPageContext(pc); tag.setPath("tb"); assertTrue("Correct doStartTag return value", tag.doStartTag() == Tag.EVAL_BODY_INCLUDE); BindStatus status = (BindStatus) pc.getAttribute(BindTag.STATUS_VARIABLE_NAME, PageContext.REQUEST_SCOPE); assertTrue("Has status variable", status != null); assertTrue("Correct expression", status.getExpression() == null); assertTrue("Correct value", status.getValue() == null); assertTrue("Correct displayValue", "".equals(status.getDisplayValue())); assertTrue("Correct isError", !status.isError()); assertTrue("Correct errorCodes", status.getErrorCodes().length == 0); assertTrue("Correct errorMessages", status.getErrorMessages().length == 0); assertTrue("Correct errorCode", "".equals(status.getErrorCode())); assertTrue("Correct errorMessage", "".equals(status.getErrorMessage())); assertTrue("Correct errorMessagesAsString", "".equals(status.getErrorMessagesAsString(","))); }
assertTrue("Correct errorCodes", status.getErrorCodes().length == 2); assertTrue("Correct errorMessages", status.getErrorMessages().length == 2); assertTrue("Correct errorCode", "code1".equals(status.getErrorCode())); assertTrue("Correct errorCode", "code1".equals(status.getErrorCodes()[0])); assertTrue("Correct errorCode", "code2".equals(status.getErrorCodes()[1])); assertTrue("Correct errorCodes", status.getErrorCodes().length == 1); assertTrue("Correct errorMessages", status.getErrorMessages().length == 1); assertTrue("Correct errorCode", "code2".equals(status.getErrorCode())); assertTrue("Correct errorMessage", "message2".equals(status.getErrorMessage())); assertTrue("Correct errorMessagesAsString", "message2".equals(status.getErrorMessagesAsString(" - "))); assertTrue("Correct errorCodes", status.getErrorCodes().length == 3); assertTrue("Correct errorMessages", status.getErrorMessages().length == 3); assertTrue("Correct errorCode", "code1".equals(status.getErrorCode())); assertTrue("Correct errorCode", "code1".equals(status.getErrorCodes()[0])); assertTrue("Correct errorCode", "code2".equals(status.getErrorCodes()[1]));
assertTrue("Correct isError", status.isError()); assertTrue("Correct errorCodes", status.getErrorCodes().length == 1); assertTrue("Correct errorCode", "code1".equals(status.getErrorCode())); assertTrue("Correct isError", status.isError()); assertTrue("Correct errorCodes", status.getErrorCodes().length == 1); assertTrue("Correct errorCode", "code1".equals(status.getErrorCode()));
@Test public void bindTagWithNestedFieldErrors() throws JspException { PageContext pc = createPageContext(); TestBean tb = new TestBean(); tb.setName("name1"); TestBean spouse = new TestBean(); spouse.setName("name2"); tb.setSpouse(spouse); Errors errors = new ServletRequestDataBinder(tb, "tb").getBindingResult(); errors.rejectValue("spouse.name", "code1", "message1"); pc.getRequest().setAttribute(BindingResult.MODEL_KEY_PREFIX + "tb", errors); BindTag tag = new BindTag(); tag.setPageContext(pc); tag.setPath("tb.spouse.name"); assertTrue("Correct doStartTag return value", tag.doStartTag() == Tag.EVAL_BODY_INCLUDE); BindStatus status = (BindStatus) pc.getAttribute(BindTag.STATUS_VARIABLE_NAME, PageContext.REQUEST_SCOPE); assertTrue("Has status variable", status != null); assertTrue("Correct expression", "spouse.name".equals(status.getExpression())); assertTrue("Correct value", "name2".equals(status.getValue())); assertTrue("Correct displayValue", "name2".equals(status.getDisplayValue())); assertTrue("Correct isError", status.isError()); assertTrue("Correct errorCodes", status.getErrorCodes().length == 1); assertTrue("Correct errorMessages", status.getErrorMessages().length == 1); assertTrue("Correct errorCode", "code1".equals(status.getErrorCode())); assertTrue("Correct errorMessage", "message1".equals(status.getErrorMessage())); assertTrue("Correct errorMessagesAsString", "message1".equals(status.getErrorMessagesAsString(" - "))); }
assertTrue("Correct errorCodes", status.getErrorCodes().length == 1); assertTrue("Correct errorMessages", status.getErrorMessages().length == 1); assertTrue("Correct errorCode", "code1".equals(status.getErrorCode())); assertTrue("Correct errorMessage", "message1".equals(status.getErrorMessage())); assertTrue("Correct errorMessagesAsString", "message1".equals(status.getErrorMessagesAsString(","))); assertTrue("Correct errorCodes", status.getErrorCodes().length == 1); assertTrue("Correct errorMessages", status.getErrorMessages().length == 1); assertTrue("Correct errorCode", "code1".equals(status.getErrorCode())); assertTrue("Correct errorMessage", "message1".equals(status.getErrorMessage())); assertTrue("Correct errorMessagesAsString", "message1".equals(status.getErrorMessagesAsString(",")));