SWF-1247 Fix issues relating error codes in MessageContextErrors
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
package org.springframework.binding.message;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.easymock.EasyMock;
|
||||
import org.springframework.context.support.StaticMessageSource;
|
||||
import org.springframework.validation.MessageCodesResolver;
|
||||
|
||||
public class MessageContextErrorsMessageCodesTests extends TestCase {
|
||||
|
||||
private DefaultMessageContext context;
|
||||
|
||||
private String errorCode = "bar";
|
||||
|
||||
private String objectName = "object";
|
||||
|
||||
private MessageCodesResolver resolver;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
StaticMessageSource messageSource = new StaticMessageSource();
|
||||
messageSource.addMessage(errorCode, Locale.getDefault(), "doesntmatter");
|
||||
context = new DefaultMessageContext(messageSource);
|
||||
|
||||
resolver = EasyMock.createMock(MessageCodesResolver.class);
|
||||
}
|
||||
|
||||
public void testRejectUsesObjectName() throws Exception {
|
||||
EasyMock.expect(resolver.resolveMessageCodes(errorCode, objectName)).andReturn(new String[] {});
|
||||
EasyMock.replay(resolver);
|
||||
|
||||
Object object = new Object();
|
||||
MessageContextErrors errors = new MessageContextErrors(context, objectName, object, null, resolver, null);
|
||||
errors.reject(errorCode, "doesntmatter");
|
||||
|
||||
EasyMock.verify(resolver);
|
||||
}
|
||||
|
||||
public void testRejectValueUsesObjectName() throws Exception {
|
||||
EasyMock.expect(resolver.resolveMessageCodes(errorCode, objectName, "field", null)).andReturn(new String[] {});
|
||||
EasyMock.replay(resolver);
|
||||
|
||||
MessageContextErrors errors = new MessageContextErrors(context, objectName, new Object(), null, resolver, null);
|
||||
errors.rejectValue("field", errorCode, new Object[] {}, "doesntmatter");
|
||||
|
||||
EasyMock.verify(resolver);
|
||||
}
|
||||
|
||||
public void testRejectValueEmptyField() throws Exception {
|
||||
EasyMock.expect(resolver.resolveMessageCodes(errorCode, objectName)).andReturn(new String[] {});
|
||||
EasyMock.replay(resolver);
|
||||
|
||||
MessageContextErrors errors = new MessageContextErrors(context, objectName, new Object(), null, resolver, null);
|
||||
errors.rejectValue(null, errorCode, new Object[] {}, "doesntmatter");
|
||||
|
||||
EasyMock.verify(resolver);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,15 +12,24 @@ import org.springframework.validation.DefaultMessageCodesResolver;
|
||||
import org.springframework.validation.MapBindingResult;
|
||||
|
||||
public class MessageContextErrorsTests extends TestCase {
|
||||
public void testReject() {
|
||||
|
||||
private DefaultMessageContext context;
|
||||
private MessageContextErrors errors;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
StaticMessageSource messageSource = new StaticMessageSource();
|
||||
messageSource.addMessage("foo", Locale.getDefault(), "bar");
|
||||
messageSource.addMessage("bar", Locale.getDefault(), "{0}");
|
||||
|
||||
DefaultMessageContext context = new DefaultMessageContext(messageSource);
|
||||
Object object = new Object();
|
||||
MessageContextErrors errors = new MessageContextErrors(context, "object", object, null,
|
||||
new DefaultMessageCodesResolver(), null);
|
||||
context = new DefaultMessageContext(messageSource);
|
||||
|
||||
SpringELExpressionParser parser = new SpringELExpressionParser(new SpelExpressionParser());
|
||||
DefaultMessageCodesResolver resolver = new DefaultMessageCodesResolver();
|
||||
errors = new MessageContextErrors(context, "object", new Object(), parser, resolver, null);
|
||||
}
|
||||
|
||||
public void testReject() {
|
||||
errors.reject("foo");
|
||||
errors.reject("bogus", "baz");
|
||||
errors.reject("bar", new Object[] { "boop" }, null);
|
||||
@@ -42,44 +51,27 @@ public class MessageContextErrorsTests extends TestCase {
|
||||
}
|
||||
|
||||
public void testRejectValue() {
|
||||
StaticMessageSource messageSource = new StaticMessageSource();
|
||||
messageSource.addMessage("foo", Locale.getDefault(), "bar");
|
||||
messageSource.addMessage("bar", Locale.getDefault(), "{0}");
|
||||
|
||||
DefaultMessageContext context = new DefaultMessageContext(messageSource);
|
||||
Object object = new Object();
|
||||
MessageContextErrors errors = new MessageContextErrors(context, "object", object, null,
|
||||
new DefaultMessageCodesResolver(), null);
|
||||
errors.rejectValue("field", "foo");
|
||||
errors.rejectValue("field", "bogus", "baz");
|
||||
errors.rejectValue("field", "bar", new Object[] { "boop" }, null);
|
||||
errors.rejectValue("class", "foo");
|
||||
errors.rejectValue("class", "bogus", "baz");
|
||||
errors.rejectValue("class", "bar", new Object[] { "boop" }, null);
|
||||
|
||||
Message msg = context.getAllMessages()[0];
|
||||
assertEquals("field", msg.getSource());
|
||||
assertEquals("class", msg.getSource());
|
||||
assertEquals("bar", msg.getText());
|
||||
assertEquals(Severity.ERROR, msg.getSeverity());
|
||||
|
||||
msg = context.getAllMessages()[1];
|
||||
assertEquals("field", msg.getSource());
|
||||
assertEquals("class", msg.getSource());
|
||||
assertEquals("baz", msg.getText());
|
||||
assertEquals(Severity.ERROR, msg.getSeverity());
|
||||
|
||||
msg = context.getAllMessages()[2];
|
||||
assertEquals("field", msg.getSource());
|
||||
assertEquals("class", msg.getSource());
|
||||
assertEquals("boop", msg.getText());
|
||||
assertEquals(Severity.ERROR, msg.getSeverity());
|
||||
}
|
||||
|
||||
public void testGlobalError() {
|
||||
StaticMessageSource messageSource = new StaticMessageSource();
|
||||
messageSource.addMessage("foo", Locale.getDefault(), "bar");
|
||||
messageSource.addMessage("bar", Locale.getDefault(), "{0}");
|
||||
|
||||
DefaultMessageContext context = new DefaultMessageContext(messageSource);
|
||||
Object object = new Object();
|
||||
SpringELExpressionParser expressionParser = new SpringELExpressionParser(new SpelExpressionParser());
|
||||
MessageContextErrors errors = new MessageContextErrors(context, "object", object, expressionParser,
|
||||
new DefaultMessageCodesResolver(), null);
|
||||
errors.rejectValue(null, "bar", new Object[] { "boop" }, null);
|
||||
Message msg = context.getAllMessages()[0];
|
||||
assertEquals("", msg.getSource());
|
||||
@@ -88,14 +80,6 @@ public class MessageContextErrorsTests extends TestCase {
|
||||
}
|
||||
|
||||
public void testAddAllErrors() {
|
||||
StaticMessageSource messageSource = new StaticMessageSource();
|
||||
messageSource.addMessage("foo", Locale.getDefault(), "bar");
|
||||
messageSource.addMessage("bar", Locale.getDefault(), "{0}");
|
||||
|
||||
DefaultMessageContext context = new DefaultMessageContext(messageSource);
|
||||
Object object = new Object();
|
||||
MessageContextErrors errors = new MessageContextErrors(context, "object", object, null,
|
||||
new DefaultMessageCodesResolver(), null);
|
||||
MapBindingResult result = new MapBindingResult(new HashMap(), "object");
|
||||
result.reject("bar", new Object[] { "boop" }, null);
|
||||
result.rejectValue("field", "bar", new Object[] { "boop" }, null);
|
||||
|
||||
Reference in New Issue
Block a user