DefaultMessageContextTests.java :  » Workflow-Engines » spring-webflow-2.0.8 » org » springframework » binding » message » Java Open Source

Java Open Source » Workflow Engines » spring webflow 2.0.8 
spring webflow 2.0.8 » org » springframework » binding » message » DefaultMessageContextTests.java
package org.springframework.binding.message;

import java.io.Serializable;
import java.util.Locale;

import junit.framework.TestCase;

import org.springframework.context.support.StaticMessageSource;

public class DefaultMessageContextTests extends TestCase {
  private DefaultMessageContext context;

  protected void setUp() {
    StaticMessageSource messageSource = new StaticMessageSource();
    messageSource.addMessage("message", Locale.getDefault(), "Hello world resolved!");
    messageSource.addMessage("argmessage", Locale.getDefault(), "Hello world {0}!");
    context = new DefaultMessageContext(messageSource);
  }

  public void testCreateMessageContext() {
    context.addMessage(new MessageBuilder().defaultText("Hello world!").build());
    Message[] messages = context.getAllMessages();
    assertEquals(1, messages.length);
    assertEquals("Hello world!", messages[0].getText());
    assertEquals(Severity.INFO, messages[0].getSeverity());
    assertEquals(null, messages[0].getSource());
  }

  public void testResolveMessage() {
    context.addMessage(new MessageBuilder().warning().source(this).code("message").build());
    Message[] messages = context.getMessagesBySource(this);
    assertEquals(1, messages.length);
    assertEquals("Hello world resolved!", messages[0].getText());
    assertEquals(Severity.WARNING, messages[0].getSeverity());
    assertEquals(this, messages[0].getSource());
  }

  public void testResolveMessageDefaultText() {
    context.addMessage(new MessageBuilder().error().code("bogus").defaultText("Hello world fallback!").build());
    Message[] messages = context.getAllMessages();
    assertEquals(1, messages.length);
    assertEquals("Hello world fallback!", messages[0].getText());
    assertEquals(Severity.ERROR, messages[0].getSeverity());
    assertEquals(null, messages[0].getSource());
  }

  public void testResolveMessageWithArgs() {
    context.addMessage(new MessageBuilder().error().source(this).code("argmessage").arg("Keith").defaultText(
        "Hello world fallback!").build());
    Message[] messages = context.getAllMessages();
    assertEquals(1, messages.length);
    assertEquals("Hello world Keith!", messages[0].getText());
    assertEquals(Severity.ERROR, messages[0].getSeverity());
    assertEquals(this, messages[0].getSource());
  }

  public void testResolveMessageWithMultipleCodes() {
    context.addMessage(new MessageBuilder().error().source(this).code("bogus").code("argmessage").arg("Keith")
        .defaultText("Hello world fallback!").build());
    Message[] messages = context.getMessagesBySource(this);
    assertEquals(1, messages.length);
    assertEquals("Hello world Keith!", messages[0].getText());
    assertEquals(Severity.ERROR, messages[0].getSeverity());
    assertEquals(this, messages[0].getSource());
  }

  public void testSaveRestoreMessages() {
    context.addMessage(new MessageBuilder().defaultText("Info").build());
    context.addMessage(new MessageBuilder().error().defaultText("Error").build());
    context.addMessage(new MessageBuilder().warning().source(this).code("message").build());
    assertEquals(2, context.getMessagesBySource(null).length);
    assertEquals(1, context.getMessagesBySource(this).length);
    StateManageableMessageContext manageable = context;
    Serializable messages = manageable.createMessagesMemento();
    context = new DefaultMessageContext(context.getMessageSource());
    assertEquals(0, context.getAllMessages().length);
    manageable = context;
    manageable.restoreMessages(messages);
    assertEquals(2, context.getMessagesBySource(null).length);
    assertEquals(1, context.getMessagesBySource(this).length);
  }

  public void testMessageSequencing() {
    context.addMessage(new MessageBuilder().defaultText("Info").build());
    context.addMessage(new MessageBuilder().warning().source(this).code("message").build());
    context.addMessage(new MessageBuilder().error().defaultText("Error").build());
    Message[] messages = context.getAllMessages();
    assertEquals("Info", messages[0].getText());
    assertEquals("Error", messages[1].getText());
    assertEquals("Hello world resolved!", messages[2].getText());
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.