webwork/src/test/webwork/view/taglib LogicTagsWebTestCase.java,NONE,1.1 UrlWebTestCase.java,NONE,1.1 LogicTagsTestCase.java,1.1,NONE UrlTestCase.java,1.2,NONE

[email protected] Sat, 01 Nov 2003 17:17:40 -0800
Newsgroups gmane.comp.java.open-symphony.cvs
Message-ID <[email protected]>
Update of /cvsroot/opensymphony/webwork/src/test/webwork/view/taglib
In directory sc8-pr-cvs1:/tmp/cvs-serv6764/webwork/view/taglib

Added Files:
	LogicTagsWebTestCase.java UrlWebTestCase.java 
Removed Files:
	LogicTagsTestCase.java UrlTestCase.java 
Log Message:
Got rid of complex and unintelligible mock testcase, it's just too badly written
Added BeanUtilTestCase
Renamed all testcases that require a server to *WebTestCase.java


--- NEW FILE: LogicTagsWebTestCase.java ---
/*
 * WebWork, Web Application Framework
 *
 * Distributable under Apache license.
 * See terms of license at opensource.org
 */
package webwork.view.taglib;

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 com.meterware.httpunit.WebTable;
import webwork.view.WebTestCase;

/**
 * @author Maurice C. Parker ([email protected])
 */
public class LogicTagsWebTestCase extends WebTestCase {

	public LogicTagsWebTestCase(String testName) {
		super(testName);
	}

	public void testIfTags() {

		WebConversation conversation = new WebConversation();
		WebRequest request = new GetMethodWebRequest(TEST_HOME + "expr.jsp");
		WebResponse response = null;

		try {
			response = conversation.getResponse(request);
		} catch (Exception e) {
			fail(e);
		}

		WebTable table = null;
		try {
			table = response.getTables()[0];
		} catch (SAXException e) {
			fail(e);
		}

		for (int i = 1; i < table.getRowCount(); i++) {
			if (table.asText()[i][3].equals("X")) {
				assertEquals("test " + i + " failed", 0, table.asText()[i][2].trim().length());
			} else {
				assertEquals("test " + i + " failed", "Success", table.asText()[i][2].trim());
			}
		}
	}

	public static void main(String[] args) {
		TestRunner.run(LogicTagsWebTestCase.class);
	}

}

--- NEW FILE: UrlWebTestCase.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.WebTestCase;

/**
 * @author Maurice C. Parker ([email protected])
 */
public class UrlWebTestCase extends WebTestCase {

	public UrlWebTestCase(String testName) {
		super(testName);
	}

	public void testNoParameters() {

		WebConversation conversation = new WebConversation();
		WebRequest request = new GetMethodWebRequest(TEST_HOME + "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 + "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 + "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 + "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 + "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 + "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;
			}
		}

	}

}

--- LogicTagsTestCase.java DELETED ---

--- UrlTestCase.java DELETED ---




-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/