1 16 17 package org.springframework.web.servlet.tags; 18 19 import java.io.IOException ; 20 import java.util.Arrays ; 21 import java.util.List ; 22 23 import javax.servlet.ServletException ; 24 import javax.servlet.http.HttpServletRequest ; 25 import javax.servlet.jsp.JspException ; 26 import javax.servlet.jsp.PageContext ; 27 import javax.servlet.jsp.tagext.Tag ; 28 29 import org.springframework.context.MessageSourceResolvable; 30 import org.springframework.context.support.DefaultMessageSourceResolvable; 31 import org.springframework.web.servlet.support.RequestContext; 32 33 37 public class ThemeTagTests extends AbstractTagTests { 38 39 public void testThemeTag() throws JspException { 40 PageContext pc = createPageContext(); 41 final StringBuffer message = new StringBuffer (); 42 ThemeTag tag = new ThemeTag() { 43 protected void writeMessage(String msg) throws IOException { 44 message.append(msg); 45 } 46 }; 47 tag.setPageContext(pc); 48 tag.setCode("themetest"); 49 assertTrue("Correct doStartTag return value", tag.doStartTag() == Tag.EVAL_BODY_INCLUDE); 50 assertEquals("theme test message", message.toString()); 51 } 52 53 public void testRequestContext() throws ServletException { 54 PageContext pc = createPageContext(); 55 RequestContext rc = new RequestContext((HttpServletRequest ) pc.getRequest()); 56 assertEquals("theme test message", rc.getThemeMessage("themetest")); 57 assertEquals("theme test message", rc.getThemeMessage("themetest", (String []) null)); 58 assertEquals("theme test message", rc.getThemeMessage("themetest", "default")); 59 assertEquals("theme test message", rc.getThemeMessage("themetest", (Object []) null, "default")); 60 assertEquals("theme test message arg1", 61 rc.getThemeMessage("themetestArgs", new String [] {"arg1"})); 62 assertEquals("theme test message arg1", 63 rc.getThemeMessage("themetestArgs", Arrays.asList(new String [] {"arg1"}))); 64 assertEquals("default", rc.getThemeMessage("themetesta", "default")); 65 assertEquals("default", rc.getThemeMessage("themetesta", (List ) null, "default")); 66 MessageSourceResolvable resolvable = new DefaultMessageSourceResolvable(new String [] {"themetest"}); 67 assertEquals("theme test message", rc.getThemeMessage(resolvable)); 68 } 69 70 } 71 | Popular Tags |