tests mvc compat

This commit is contained in:
Keith Donald
2009-03-02 15:07:25 +00:00
parent a7c3d1ed2f
commit 952d558500
3 changed files with 55 additions and 6 deletions

View File

@@ -30,18 +30,19 @@ package org.springframework.binding.validation;
public class DefaultSpringMvcValidationFailureMessageCodesFactory extends ValidationFailureMessageCodesFactory {
public String[] createMessageCodes(ValidationFailure failure, ValidationFailureModelContext modelContext) {
String constraintMessageCode = appendFailureMessageCodePrefix().append(failure.getConstraint()).append(
codeSeparator()).toString();
String constraintMessageCode = appendFailureMessageCodePrefix().append(codeSeparator()).append(
failure.getConstraint()).toString();
if (failure.getProperty() != null) {
String propertyConstraintMessageCode = appendFailureMessageCodePrefix().append(codeSeparator()).append(
failure.getConstraint()).append(modelContext.getModel()).append(codeSeparator()).append(
failure.getProperty()).append(codeSeparator()).toString();
failure.getConstraint()).append(codeSeparator()).append(modelContext.getModel()).append(
codeSeparator()).append(failure.getProperty()).toString();
String typeConstraintMessageCode = appendFailureMessageCodePrefix().append(codeSeparator()).append(
failure.getConstraint()).append(modelContext.getPropertyType().getName()).toString();
failure.getConstraint()).append(codeSeparator()).append(modelContext.getPropertyType().getName())
.toString();
return new String[] { propertyConstraintMessageCode, typeConstraintMessageCode, constraintMessageCode };
} else {
String objectConstraintMessageCode = appendFailureMessageCodePrefix().append(codeSeparator()).append(
failure.getConstraint()).append(modelContext.getModel()).append(codeSeparator()).toString();
failure.getConstraint()).append(codeSeparator()).append(modelContext.getModel()).toString();
return new String[] { objectConstraintMessageCode, constraintMessageCode };
}
}

View File

@@ -0,0 +1,24 @@
package org.springframework.binding.validation;
import junit.framework.TestCase;
public class DefaultSpringMvcValidationFailureMessageCodesFactoryTests extends TestCase {
private DefaultSpringMvcValidationFailureMessageCodesFactory factory = new DefaultSpringMvcValidationFailureMessageCodesFactory();
public void testCreateGeneralModelFailureMessageCodes() {
ValidationFailure failure = new ValidationFailureBuilder().constraint("invalid").build();
String[] codes = factory.createMessageCodes(failure, new ValidationFailureModelContext("testBean", null, null,
null));
assertEquals("validation.invalid.testBean", codes[0]);
assertEquals("validation.invalid", codes[1]);
}
public void testCreatePropertyFailureMessageCodes() {
ValidationFailure failure = new ValidationFailureBuilder().forProperty("foo").constraint("required").build();
String[] codes = factory.createMessageCodes(failure, new ValidationFailureModelContext("testBean", null,
String.class, null));
assertEquals("validation.required.testBean.foo", codes[0]);
assertEquals("validation.required.java.lang.String", codes[1]);
assertEquals("validation.required", codes[2]);
}
}

View File

@@ -0,0 +1,24 @@
package org.springframework.binding.validation;
import junit.framework.TestCase;
public class ValidationFailureMessageCodesFactoryTests extends TestCase {
private ValidationFailureMessageCodesFactory factory = new ValidationFailureMessageCodesFactory();
public void testCreateGeneralModelFailureMessageCodes() {
ValidationFailure failure = new ValidationFailureBuilder().constraint("invalid").build();
String[] codes = factory.createMessageCodes(failure, new ValidationFailureModelContext("testBean", null, null,
null));
assertEquals("validation.testBean.invalid", codes[0]);
assertEquals("validation.invalid", codes[1]);
}
public void testCreatePropertyFailureMessageCodes() {
ValidationFailure failure = new ValidationFailureBuilder().forProperty("foo").constraint("required").build();
String[] codes = factory.createMessageCodes(failure, new ValidationFailureModelContext("testBean", null,
String.class, null));
assertEquals("validation.testBean.foo.required", codes[0]);
assertEquals("validation.java.lang.String.required", codes[1]);
assertEquals("validation.required", codes[2]);
}
}