You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2003/02/07 05:23:35 UTC

cvs commit: jakarta-tapestry/junit/src/net/sf/tapestry/junit/mock/c13 Home.java

hlship      2003/02/06 20:23:35

  Added:       junit/src/net/sf/tapestry/junit/mock/c13 Home.java
  Log:
  Add a set of unit tests for handling of the RedirectException.
  
  Revision  Changes    Path
  1.1                  jakarta-tapestry/junit/src/net/sf/tapestry/junit/mock/c13/Home.java
  
  Index: Home.java
  ===================================================================
  /*
   *  ====================================================================
   *  The Apache Software License, Version 1.1
   *
   *  Copyright (c) 2002 The Apache Software Foundation.  All rights
   *  reserved.
   *
   *  Redistribution and use in source and binary forms, with or without
   *  modification, are permitted provided that the following conditions
   *  are met:
   *
   *  1. Redistributions of source code must retain the above copyright
   *  notice, this list of conditions and the following disclaimer.
   *
   *  2. Redistributions in binary form must reproduce the above copyright
   *  notice, this list of conditions and the following disclaimer in
   *  the documentation and/or other materials provided with the
   *  distribution.
   *
   *  3. The end-user documentation included with the redistribution,
   *  if any, must include the following acknowledgment:
   *  "This product includes software developed by the
   *  Apache Software Foundation (http://www.apache.org/)."
   *  Alternately, this acknowledgment may appear in the software itself,
   *  if and wherever such third-party acknowledgments normally appear.
   *
   *  4. The names "Apache" and "Apache Software Foundation" and
   *  "Apache Tapestry" must not be used to endorse or promote products
   *  derived from this software without prior written permission. For
   *  written permission, please contact apache@apache.org.
   *
   *  5. Products derived from this software may not be called "Apache",
   *  "Apache Tapestry", nor may "Apache" appear in their name, without
   *  prior written permission of the Apache Software Foundation.
   *
   *  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 THE APACHE SOFTWARE FOUNDATION 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.
   *  ====================================================================
   *
   *  This software consists of voluntary contributions made by many
   *  individuals on behalf of the Apache Software Foundation.  For more
   *  information on the Apache Software Foundation, please see
   *  <http://www.apache.org/>.
   */
  package net.sf.tapestry.junit.mock.c13;
  
  import net.sf.tapestry.IRequestCycle;
  import net.sf.tapestry.RedirectException;
  import net.sf.tapestry.RequestCycleException;
  import net.sf.tapestry.html.BasePage;
  
  /**
   *  Page used to test internal and external redirects.  
   *
   *  @author Howard Lewis Ship
   *  @version $Id: Home.java,v 1.1 2003/02/07 04:23:35 hlship Exp $
   *  @since 2.4
   *
   **/
  
  public class Home extends BasePage
  {
  	public void internalRedirect(IRequestCycle cycle)
  	throws RequestCycleException
  	{
  		throw new RedirectException("static/Warning.html");
  	}
  	
  	public void externalRedirect(IRequestCycle cycle)
  	throws RequestCycleException
  	{
  		throw new RedirectException("http://jakarta.apache.org/tapestry");
  	}
  	
  	public void nullRedirect(IRequestCycle cycle)
  	throws RequestCycleException
  	{
  		// Special value, stands in for any resource that can't be found
  		// resulting in the ServletContext returning null for the
  		// dispatcher.
  		
  		throw new RedirectException("NULL");
  	}
  
  	public void servletException(IRequestCycle cycle)
  	throws RequestCycleException
  	{
  		// Special value, forces a ServletException to be thrown
  		// from within RequestDispatcher.forward()
  				
  		throw new RedirectException("FAIL_SERVLET");
  	}
  	
  	public void missing(IRequestCycle cycle)
  	throws RequestCycleException
  	{
  		// Specifying a missing file is an easy way to
  		// force an IOException ... note that the
  		// real Servlet API will return a null
  		// RequestDispatcher for a resource that
  		// doesn't exist.
  		
  		throw new RedirectException("Missing.html");
  	}
  	
  	public void index(IRequestCycle cycle)
  	throws RequestCycleException
  	{
  		throw new RedirectException(null);
  	}
  	
  	public void failExternal(IRequestCycle cycle)
  	throws RequestCycleException
  	{
  		throw new RedirectException("http://somehost/FAIL_IO");
  	}
  }