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

📄 urlwebtestcase.java

📁 webwork source
💻 JAVA
字号:
/* * WebWork, Web Application Framework * * Distributable under Apache license. * See terms of license at opensource.org */package webwork.view.taglib;import java.util.Map;import javax.servlet.http.HttpUtils;import junit.textui.TestRunner;import org.xml.sax.SAXException;import com.meterware.httpunit.GetMethodWebRequest;import com.meterware.httpunit.WebConversation;import com.meterware.httpunit.WebRequest;import com.meterware.httpunit.WebResponse;import webwork.view.WebSupport;/** * @author Maurice C. Parker (maurice@vineyardenterprise.com) */public class UrlWebTestCase extends WebSupport {	public UrlWebTestCase(String testName) {		super(testName);	}	public void testNoParameters() {		WebConversation conversation = new WebConversation();		WebRequest request = new GetMethodWebRequest(TEST_HOME + "tests/url.jsp");		WebResponse response = null;		try {			response = conversation.getResponse(request);		} catch (Exception e) {			fail(e);		}		String[][] table = null;		try {			table = response.getTables()[0].asText();		} catch (SAXException e) {			fail(e);		}		ParsedURL parsedUrl = new ParsedURL(table[0][1]);		assertEquals("test 1 had an invalid url", TEST_CONTEXT + "tests/url.jsp", parsedUrl.getTarget());		assertNull("test 1 shouldn't have any parameters", parsedUrl.getParameters());		parsedUrl = new ParsedURL(table[1][1]);		assertEquals("test 2 had an invalid url", "next.action", parsedUrl.getTarget());		assertNull("test 2 shouldn't have any parameters", parsedUrl.getParameters());		parsedUrl = new ParsedURL(table[2][1]);		assertEquals("test 3 had an invalid url", "http://www.google.com/search", parsedUrl.getTarget());		assertEquals("test 3 - invalid nbr of parameters", 3, parsedUrl.getParameters().size());		checkParameters(parsedUrl.getParameters());		parsedUrl = new ParsedURL(table[3][1]);		assertEquals("test 4 had an invalid url", "next.action", parsedUrl.getTarget());		assertEquals("test 4 - invalid nbr of parameters", 3, parsedUrl.getParameters().size());		checkParameters(parsedUrl.getParameters());		parsedUrl = new ParsedURL(table[4][1]);		assertEquals("test 5 had an invalid url", TEST_CONTEXT + "tests/url.jsp", parsedUrl.getTarget());		assertEquals("test 5 - invalid nbr of parameters", 3, parsedUrl.getParameters().size());		checkParameters(parsedUrl.getParameters());	}	private void checkParameters(Map parameters) {		assertEquals("param1 is invalid", "value1", ((String[])parameters.get("param1"))[0]);		assertEquals("param2 is invalid", "value2", ((String[])parameters.get("param2"))[0]);		assertEquals("param3 is invalid", "value3", ((String[])parameters.get("param3"))[0]);	}	public void testParameters() {		WebConversation conversation = new WebConversation();		WebRequest request = new GetMethodWebRequest(TEST_HOME + "tests/url.jsp?foo=bar");		WebResponse response = null;		try {			response = conversation.getResponse(request);		} catch (Exception e) {			fail(e);		}		String[][] table = null;		try {			table = response.getTables()[0].asText();		} catch (SAXException e) {			fail(e);		}		ParsedURL parsedUrl = new ParsedURL(table[0][1]);		assertEquals("test 1 had an invalid url", TEST_CONTEXT + "tests/url.jsp", parsedUrl.getTarget());		assertEquals("test 1 shouldn't have any parameters", 1, parsedUrl.getParameters().size());		assertEquals("parameter foo is invalid", "bar", ((String[])parsedUrl.getParameters().get("foo"))[0]);		parsedUrl = new ParsedURL(table[1][1]);		assertEquals("test 2 had an invalid url", "next.action", parsedUrl.getTarget());		assertNull("test 2 shouldn't have any parameters", parsedUrl.getParameters());		parsedUrl = new ParsedURL(table[2][1]);		assertEquals("test 3 had an invalid url", "http://www.google.com/search", parsedUrl.getTarget());		assertEquals("test 3 - invalid nbr of parameters", 3, parsedUrl.getParameters().size());		checkParameters(parsedUrl.getParameters());		parsedUrl = new ParsedURL(table[3][1]);		assertEquals("test 4 had an invalid url", "next.action", parsedUrl.getTarget());		assertEquals("test 4 - invalid nbr of parameters", 3, parsedUrl.getParameters().size());		checkParameters(parsedUrl.getParameters());		parsedUrl = new ParsedURL(table[4][1]);		assertEquals("test 5 had an invalid url", TEST_CONTEXT + "tests/url.jsp", parsedUrl.getTarget());		assertEquals("test 5 - invalid nbr of parameters", 4, parsedUrl.getParameters().size());		checkParameters(parsedUrl.getParameters());		assertEquals("parameter foo is invalid", "bar", ((String[])parsedUrl.getParameters().get("foo"))[0]);	}	public static void main(String[] args) {		TestRunner.run(UrlWebTestCase.class);	}	private class ParsedURL {		private String target;		private Map parameters;		public Map getParameters() {			return parameters;		}		public String getTarget() {			return target;		}		public ParsedURL(String url) {			url = url.trim();			if (url.indexOf(';') > -1) {				StringBuffer buffer = new StringBuffer(url.substring(0, url.indexOf(';')));				if (url.indexOf('?') > -1) {					buffer.append(url.substring(url.indexOf('?'), url.length()));				}				url = buffer.toString();			}			if (url.indexOf('?') > -1) {				target = url.substring(0, url.indexOf('?'));				String params = url.substring(url.indexOf('?') + 1, url.length());				parameters = HttpUtils.parseQueryString(params);			} else {				target = url;			}		}	}}

⌨️ 快捷键说明

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