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

[email protected] Fri, 31 Oct 2003 23:17:03 -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-serv25627/test/webwork/view/taglib

Added Files:
	LogicTagsTestCase.java UrlTestCase.java 
Log Message:
Moved test classes to test tree


--- NEW FILE: LogicTagsTestCase.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.WebViewTestCase;

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

	public LogicTagsTestCase(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(LogicTagsTestCase.class);
	}

}

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

import java.util.Hashtable;

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.WebViewTestCase;

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

	public UrlTestCase(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(Hashtable 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(UrlTestCase.class);
	}

	private class ParsedURL {

		private String target;
		private Hashtable parameters;

		public Hashtable 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;
			}
		}

	}

}




-------------------------------------------------------
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/