⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jworksparameterparsertest.java

📁 jworks program
💻 JAVA
字号:
/**
 * $RCSfile: JWorksParameterParserTest.java,v $
 * $Revision: 1.2 $
 * $Date: 2004/08/26 11:10:26 $
 *
 * Copyright (C) 2002-2004 softme.org (Softme Studio). All rights reserved.
 * ===================================================================
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL COOLSERVLETS INC. OR
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 * ====================================================================
 */

package org.softme.jworks.util.parser;

import javax.servlet.http.HttpServletRequest;

import org.apache.turbine.util.TurbineConfig;
import org.jmock.Mock;
import org.jmock.MockObjectTestCase;
import org.softme.jworks.util.parser.JWorksParameterParser;

/**
 * 测试JWorksParameterParser对象
 * 
 * @author <a href="mailto:brokendoor@sina.com">boon xiong </a>
 * @version CVS $Revision: 1.2 $ $Date: 2004/08/26 11:10:26 $
 */
public class JWorksParameterParserTest extends MockObjectTestCase {
	private JWorksParameterParser pp;

	private Mock requestMock = mock(HttpServletRequest.class);

	private HttpServletRequest request = (HttpServletRequest) requestMock
			.proxy();

	/*
	 * @see TestCase#setUp()
	 */
	protected void setUp() throws Exception {
		super.setUp();
		pp = new JWorksParameterParser();
		TurbineConfig tc = null;
		tc = new TurbineConfig(".", "WEB-INF/conf/jworks.properties");
		tc.initialize();

		//        pp.setRequest(request);
	}

	/*
	 * Class under test for String getActionName(HttpServletRequest)
	 */
	public void testGetActionNameHttpServletRequest() {
		String actionName = "foo.action";
		// 通过jmock设置request对象
		requestMock.expects(once()).method("getPathInfo").will(
				returnValue(null));
		requestMock.expects(once()).method("getServletPath").will(
				returnValue("/namespace/foo.action"));
		assertEquals(actionName, pp.getActionName(request));
	}

	/*
	 * Class under test for String getActionName(String)
	 */
	public void testGetActionNameString() {
		String actionName = "foo";
		String servletPath = "/namespace/foo.action";
		assertEquals(actionName, pp.getActionName(servletPath));
	}

	public void testIsJWorksActionHttpServletRequest() {
		// 通过jmock设置request对象
		//        requestMock.expects(once()).method("getAttribute").with(eq("javax.servlet.include.servlet_path")).will(returnValue(null));
		requestMock.expects(once()).method("getPathInfo").will(
				returnValue(null));
		requestMock.expects(once()).method("getServletPath").will(
				returnValue("/namespace/foo.action"));
		assertTrue(pp.isJWorksAction(request));

	}

	/*
	 * Class under test for String getString(String)
	 */
	public void testGetStringbyNameWithTurbineAction() {
		String actionName = null;
		// 通过jmock设置request对象		
		requestMock.expects(atLeastOnce()).method("getPathInfo").will(returnValue(null));
		requestMock.expects(once()).method("getServletPath").will(returnValue("/namespace/foo"));
		requestMock.expects(once()).method("getCharacterEncoding").will(returnValue("GBK"));
		requestMock.expects(once()).method("getHeader").will(returnValue("test only"));
		requestMock.expects(once()).method("getParameterNames").will(returnValue(null));
		
		pp.setRequest(request);
		assertEquals(actionName, pp.getString("action"));

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -