KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sourceforge > cruisecontrol > taglib > ArtifactsLinkTagTest


1 /********************************************************************************
2  * CruiseControl, a Continuous Integration Toolkit
3  * Copyright (c) 2001, ThoughtWorks, Inc.
4  * 651 W Washington Ave. Suite 600
5  * Chicago, IL 60661 USA
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * + Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  *
15  * + Redistributions in binary form must reproduce the above
16  * copyright notice, this list of conditions and the following
17  * disclaimer in the documentation and/or other materials provided
18  * with the distribution.
19  *
20  * + Neither the name of ThoughtWorks, Inc., CruiseControl, nor the
21  * names of its contributors may be used to endorse or promote
22  * products derived from this software without specific prior
23  * written permission.
24  *
25  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
29  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36  ********************************************************************************/

37 package net.sourceforge.cruisecontrol.taglib;
38
39 import junit.framework.Test;
40 import junit.framework.TestCase;
41 import junit.framework.TestSuite;
42 import net.sourceforge.cruisecontrol.LogFileSetupDecorator;
43 import net.sourceforge.cruisecontrol.mock.MockBodyContent;
44 import net.sourceforge.cruisecontrol.mock.MockPageContext;
45 import net.sourceforge.cruisecontrol.mock.MockServletConfig;
46 import net.sourceforge.cruisecontrol.mock.MockServletRequest;
47
48 import javax.servlet.jsp.JspException JavaDoc;
49 import javax.servlet.jsp.tagext.BodyTag JavaDoc;
50 import javax.servlet.jsp.tagext.Tag JavaDoc;
51
52 /**
53  * @author jfredrick
54  * @author <a HREF="mailto:hak@2mba.dk">Hack Kampbjorn</a>
55  */

56 public class ArtifactsLinkTagTest extends TestCase {
57
58     private ArtifactsLinkTag tag;
59     private MockPageContext pageContext;
60     private MockServletRequest request;
61
62     public static Test suite() {
63         return new LogFileSetupDecorator(new TestSuite(ArtifactsLinkTagTest.class));
64     }
65
66     protected void setUp() throws Exception JavaDoc {
67         request = new MockServletRequest("context", "servlet");
68
69         pageContext = new MockPageContext();
70         pageContext.setHttpServletRequest(request);
71
72         tag = new ArtifactsLinkTag();
73         tag.setPageContext(pageContext);
74
75         final MockServletConfig servletConfig = (MockServletConfig) pageContext.getServletConfig();
76         servletConfig.setInitParameter("logDir", LogFileSetupDecorator.LOG_DIR.getAbsolutePath());
77     }
78
79     protected void tearDown() {
80         tag.release();
81         tag = null;
82         pageContext.release();
83         pageContext = null;
84     }
85
86     public void testDoStartTag() throws JspException JavaDoc {
87         assertEquals(BodyTag.EVAL_BODY_TAG, tag.doStartTag());
88     }
89
90     public void testDoAfterBody() throws JspException JavaDoc {
91         MockBodyContent content = new MockBodyContent();
92         tag.setBodyContent(content);
93         assertEquals(Tag.SKIP_BODY, tag.doAfterBody());
94     }
95
96     public void testDoInitBody() throws JspException JavaDoc {
97         request.addParameter("log", "log20030611123100");
98         tag.doInitBody();
99         String JavaDoc url = (String JavaDoc) pageContext.getAttribute(ArtifactsLinkTag.URL_ATTRIBUTE);
100         assertEquals("artifacts/20030611123100", url);
101         request.removeParameter("log");
102     }
103
104 }
105
Popular Tags