From a5b7ef1453adb6788a18ff4a945754c6130c1188 Mon Sep 17 00:00:00 2001 From: Keith Donald Date: Wed, 14 May 2008 12:18:22 +0000 Subject: [PATCH] message builder tests --- .../binding/message/MessageBuilder.java | 4 +- .../binding/message/MessageBuilderTests.java | 78 +++++++++++++++++++ 2 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 spring-binding/src/test/java/org/springframework/binding/message/MessageBuilderTests.java diff --git a/spring-binding/src/main/java/org/springframework/binding/message/MessageBuilder.java b/spring-binding/src/main/java/org/springframework/binding/message/MessageBuilder.java index d441e9b3..7567641e 100644 --- a/spring-binding/src/main/java/org/springframework/binding/message/MessageBuilder.java +++ b/spring-binding/src/main/java/org/springframework/binding/message/MessageBuilder.java @@ -111,7 +111,7 @@ public class MessageBuilder { if (codes == null) { return this; } - this.codes.add(Arrays.asList(codes)); + this.codes.addAll(Arrays.asList(codes)); return this; } @@ -136,7 +136,7 @@ public class MessageBuilder { if (args == null) { return this; } - this.args.add(Arrays.asList(args)); + this.args.addAll(Arrays.asList(args)); return this; } diff --git a/spring-binding/src/test/java/org/springframework/binding/message/MessageBuilderTests.java b/spring-binding/src/test/java/org/springframework/binding/message/MessageBuilderTests.java new file mode 100644 index 00000000..5221bb3a --- /dev/null +++ b/spring-binding/src/test/java/org/springframework/binding/message/MessageBuilderTests.java @@ -0,0 +1,78 @@ +package org.springframework.binding.message; + +import java.util.Locale; + +import junit.framework.TestCase; + +import org.springframework.context.NoSuchMessageException; +import org.springframework.context.support.StaticMessageSource; + +public class MessageBuilderTests extends TestCase { + private StaticMessageSource messageSource = new StaticMessageSource(); + private Locale locale = Locale.getDefault(); + private MessageBuilder builder = new MessageBuilder(); + + public void setUp() { + messageSource.addMessage("foo", locale, "bar"); + } + + public void testBuildDefaultText() { + MessageResolver resolver = builder.defaultText("foo").build(); + Message message = resolver.resolveMessage(messageSource, locale); + assertEquals("foo", message.getText()); + assertEquals(Severity.INFO, message.getSeverity()); + assertNull(message.getSource()); + } + + public void testBuildError() { + MessageResolver resolver = builder.error().defaultText("foo").build(); + Message message = resolver.resolveMessage(messageSource, locale); + assertEquals("foo", message.getText()); + assertEquals(Severity.ERROR, message.getSeverity()); + assertNull(message.getSource()); + } + + public void testBuildWarning() { + MessageResolver resolver = builder.warning().defaultText("foo").build(); + Message message = resolver.resolveMessage(messageSource, locale); + assertEquals("foo", message.getText()); + assertEquals(Severity.WARNING, message.getSeverity()); + assertNull(message.getSource()); + } + + public void testBuildNothing() { + MessageResolver resolver = builder.build(); + try { + resolver.resolveMessage(messageSource, locale); + fail("Should have failed"); + } catch (NoSuchMessageException e) { + + } + } + + public void testBuildCode() { + MessageResolver resolver = builder.error().code("foo").build(); + Message message = resolver.resolveMessage(messageSource, locale); + assertEquals("bar", message.getText()); + assertEquals(Severity.ERROR, message.getSeverity()); + assertNull(message.getSource()); + } + + public void testBuildCodes() { + MessageResolver resolver = builder.error().codes(new String[] { "foo" }).build(); + Message message = resolver.resolveMessage(messageSource, locale); + assertEquals("bar", message.getText()); + assertEquals(Severity.ERROR, message.getSeverity()); + assertNull(message.getSource()); + } + + public void testBuildCodesNull() { + MessageResolver resolver = builder.codes(null).build(); + try { + resolver.resolveMessage(messageSource, locale); + fail("Should have failed"); + } catch (NoSuchMessageException e) { + + } + } +}