package org.springframework.binding.message; import java.util.HashMap; import java.util.Locale; import junit.framework.TestCase; import org.springframework.binding.expression.spel.SpringELExpressionParser; import org.springframework.context.support.StaticMessageSource; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.validation.DefaultMessageCodesResolver; import org.springframework.validation.MapBindingResult; public class MessageContextErrorsTests extends TestCase { 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}"); 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); Message msg = context.getAllMessages()[0]; assertEquals(null, msg.getSource()); assertEquals("bar", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); msg = context.getAllMessages()[1]; assertEquals(null, msg.getSource()); assertEquals("baz", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); msg = context.getAllMessages()[2]; assertEquals(null, msg.getSource()); assertEquals("boop", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); } public void testRejectValue() { errors.rejectValue("class", "foo"); errors.rejectValue("class", "bogus", "baz"); errors.rejectValue("class", "bar", new Object[] { "boop" }, null); Message msg = context.getAllMessages()[0]; assertEquals("class", msg.getSource()); assertEquals("bar", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); msg = context.getAllMessages()[1]; assertEquals("class", msg.getSource()); assertEquals("baz", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); msg = context.getAllMessages()[2]; assertEquals("class", msg.getSource()); assertEquals("boop", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); } public void testGlobalError() { errors.rejectValue(null, "bar", new Object[] { "boop" }, null); Message msg = context.getAllMessages()[0]; assertEquals("", msg.getSource()); assertEquals("boop", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); } public void testAddAllErrors() { MapBindingResult result = new MapBindingResult(new HashMap<Object, Object>(), "object"); result.reject("bar", new Object[] { "boop" }, null); result.rejectValue("field", "bar", new Object[] { "boop" }, null); errors.addAllErrors(result); Message msg = context.getAllMessages()[0]; assertEquals(null, msg.getSource()); assertEquals("boop", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); msg = context.getAllMessages()[1]; assertEquals("field", msg.getSource()); assertEquals("boop", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); } public void testGetGlobalErrors() { } public void testGetFieldErrors() { } public void testGetFieldValue() { } }