[jboss-user] [JBoss Seam] - Issues with SeamTest and Pageflow

marcioendo do-not-reply at jboss.com
Wed Oct 25 13:53:00 EDT 2006


I have just upgraded Seam to 1.1BETA1 and some of my jPDL pageflow unit tests have stopped working. Here are some issues:

First: if you don't define a 'redirect' tag for each page node, you get a NPE:

Pageflow.java:

  |    private void navigate(FacesContext context) 
  |    {
  |       Page page = getPage();
  |       if ( !page.isRedirect() )
  |       {
  |          UIViewRoot viewRoot = context.getApplication().getViewHandler()
  |                .createView( context, page.getViewId() );
  |          context.setViewRoot(viewRoot);
  |       }
  |       else
  |       {
  |          Manager.instance().redirect( page.getViewId() );
  |       }
  | 
  |       counter++;
  |       setDirty();
  |    }
  | 

viewRoot is null as the following method is called

MockViewHandler.java

  | 	@Override
  | 	public UIViewRoot createView(FacesContext ctx, String viewId) {
  | 		return null;
  | 	}
  | 

and NPE occurs when it tries to call getViewId() in getViewRoot():

Pages.java

  |    public boolean callAction()
  |    {
  |       boolean result = false;
  |       FacesContext facesContext = FacesContext.getCurrentInstance();
  |       String viewId = facesContext.getViewRoot().getViewId();
  |       if (viewId!=null)
  |       {
  |          for (String wildcard: wildcardViewIds)
  |          {
  |             if ( viewId.startsWith( wildcard.substring(0, wildcard.length()-1) ) )
  |             {
  |                result = callAction(facesContext, wildcard) || result;
  |             }
  |          }
  |       }
  |       result = callAction(facesContext, viewId) || result;
  |       return result;
  |    }
  | 

And, for some reason, the method renderResponse() in SeamTest.Script is not being called whenever you set an outcome in invokeApplication(). Don't know exactly why this is happening yet.

My testing environment has EJB3_RC9, MyFaces 1.1.4 and Seam1.1B1. It also happens with the environment provided in Seam1.1.B1 package.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3980792#3980792

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3980792



More information about the jboss-user mailing list