dev@javaserverfaces.java.net

Re: [mojarra~git:22fb7da2] JAVASERVERFACES-4092 - [Port 2.1] JAVASERVERFACES-3031 not fixed when usi

From: manfred riem <manfred.riem_at_oracle.com>
Date: Wed, 20 Jan 2016 08:56:18 -0600

Hi Vernon,

No they were passing.

Thanks!

Kind regards,
Manfred Riem

On 1/19/16, 10:06 AM, Vernon Singleton wrote:
> Are they failing for the 2.1.29 branch right now?
>
> On Tue, Jan 19, 2016 at 9:44 AM, manfred riem <manfred.riem_at_oracle.com
> <mailto:manfred.riem_at_oracle.com>> wrote:
>
> Hi Vernon,
>
> Yes CI test are being run.
>
> Thanks!
>
> Kind regards,
> Manfred Riem
>
> On 1/18/16, 8:52 AM, Vernon Singleton wrote:
>> Hi Manfred and dev,
>>
>> So, is the 2.1.29 branch getting tested by one of the CI servers?
>>
>> - Vernon
>>
>> On Fri, Jan 15, 2016 at 9:09 AM, manfred riem
>> <manfred.riem_at_oracle.com <mailto:manfred.riem_at_oracle.com>> wrote:
>>
>> Hi Vernon,
>>
>> CC'ing dev alias as we should really be using it for open
>> communication.
>>
>> You are using Glassfish to run the tests right?
>>
>> Thanks!
>>
>> Kind regards,
>> Manfred Riem
>>
>> On 1/14/16, 5:29 PM, Vernon Singleton wrote:
>>> Hi Manfred,
>>>
>>> On Thu, Jan 14, 2016 at 10:23 AM, manfred riem
>>> <manfred.riem_at_oracle.com <mailto:manfred.riem_at_oracle.com>>
>>> wrote:
>>>
>>> Hi Vernon,
>>>
>>> I assume you made sure all the tests pass locally before
>>> committing?
>>>
>>>
>>> I am not able to get the "Agnostic - Application - Basic"
>>> tests to pass even without the commit ... getting the
>>> following failure:
>>>
>>> Running
>>> com.sun.faces.test.agnostic.application.ApplicationImplConfigIT
>>> Jan 14, 2016 6:20:08 PM
>>> com.gargoylesoftware.htmlunit.WebClient printContentIfNecessary
>>> INFO: statusCode=[500] contentType=[text/plain]
>>> Jan 14, 2016 6:20:08 PM
>>> com.gargoylesoftware.htmlunit.WebClient printContentIfNecessary
>>> INFO:
>>>
>>> Message:
>>> PWC6033: Error in Javac compilation for JSP
>>> PWC6197: An error occurred at line: 48 in the jsp file:
>>> /appConfig.jsp
>>> PWC6199: Generated servlet error:
>>> package com.sun.faces.taglib.jsf_core does not exist
>>>
>>> Any idea what causes this?
>>>
>>> - Vernon
>>>
>>>
>>>
>>> Thanks!
>>>
>>> Kind regards,
>>> Manfred Riem
>>>
>>> On 1/12/16, 12:33 PM, vsingleton_at_java.net
>>> <mailto:vsingleton_at_java.net> wrote:
>>>
>>> Project: mojarra
>>> Repository: git
>>> Revision: 22fb7da2ff9a1140c9342a967f1a4e39582849cf
>>> Author: vsingleton
>>> Date: 2016-01-12 18:26:36 UTC
>>> Link:
>>>
>>> Log Message:
>>> ------------
>>> JAVASERVERFACES-4092 - [Port 2.1]
>>> JAVASERVERFACES-3031 not fixed when using f:param
>>> without AJAX
>>>
>>>
>>>
>>> Revisions:
>>> ----------
>>> 22fb7da2ff9a1140c9342a967f1a4e39582849cf
>>>
>>>
>>> Modified Paths:
>>> ---------------
>>> jsf-ri/src/main/java/com/sun/faces/renderkit/RenderKitUtils.java
>>> test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/UserBean.java
>>> test/agnostic/ajax-namespace/src/main/webapp/WEB-INF/faces-config.xml
>>> test/agnostic/ajax-namespace/src/main/webapp/index.xhtml
>>> test/agnostic/ajax-namespace/src/test/java/com/sun/faces/test/agnostic/ajax_namespace/Issue3031IT.java
>>>
>>>
>>> Added Paths:
>>> ------------
>>> test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/ExternalContextFactoryImpl.java
>>> test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/ExternalContextNamespaceImpl.java
>>> test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/NamespacedRequestParameterMap.java
>>>
>>>
>>> Diffs:
>>> ------
>>> ---
>>> a/jsf-ri/src/main/java/com/sun/faces/renderkit/RenderKitUtils.java
>>> +++
>>> b/jsf-ri/src/main/java/com/sun/faces/renderkit/RenderKitUtils.java
>>> @@ -65,6 +65,8 @@ import
>>> javax.faces.render.ResponseStateManager;
>>> import javax.faces.render.Renderer;
>>>
>>> import com.sun.faces.RIConstants;
>>> +import com.sun.faces.config.WebConfiguration;
>>> +import
>>> com.sun.faces.config.WebConfiguration.BooleanWebContextInitParameter;
>>> import com.sun.faces.facelets.util.DevTools;
>>> import com.sun.faces.util.FacesLogger;
>>> import com.sun.faces.util.Util;
>>> @@ -151,7 +153,7 @@ public class RenderKitUtils {
>>>
>>>
>>> protected static final Logger LOGGER =
>>> FacesLogger.RENDERKIT.getLogger();
>>> -
>>> +
>>>
>>> //
>>> ------------------------------------------------------------
>>> Constructors
>>>
>>> @@ -1562,8 +1564,21 @@ public class RenderKitUtils {
>>> appendProperty(builder, componentClientId,
>>> componentClientId);
>>>
>>> if ((null != params)&& (!params.isEmpty())) {
>>> +
>>> + String namingContainerId = "";
>>> +
>>> + WebConfiguration webConfig =
>>> WebConfiguration.getInstance();
>>> + boolean namespaceParameters =
>>> webConfig.isOptionEnabled(BooleanWebContextInitParameter.NamespaceParameters);
>>> +
>>> + if (namespaceParameters) {
>>> + UIViewRoot viewRoot =
>>> context.getViewRoot();
>>> + if (viewRoot instanceof
>>> NamingContainer) {
>>> + namingContainerId =
>>> viewRoot.getContainerClientId(context);
>>> + }
>>> + }
>>> +
>>> for (ClientBehaviorContext.Parameter
>>> param : params) {
>>> - appendProperty(builder,
>>> param.getName(), param.getValue());
>>> + appendProperty(builder,
>>> namingContainerId + param.getName(), param.getValue());
>>> }
>>> }
>>>
>>> --- /dev/null
>>> +++
>>> b/test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/ExternalContextFactoryImpl.java
>>> @@ -0,0 +1,83 @@
>>> +/*
>>> + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS
>>> HEADER.
>>> + *
>>> + * Copyright (c) 1997-2012 Oracle and/or its
>>> affiliates. All rights reserved.
>>> + *
>>> + * The contents of this file are subject to the
>>> terms of either the GNU
>>> + * General Public License Version 2 only ("GPL") or
>>> the Common Development
>>> + * and Distribution License("CDDL") (collectively,
>>> the "License"). You
>>> + * may not use this file except in compliance with
>>> the License. You can
>>> + * obtain a copy of the License at
>>> + *
>>> https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
>>> + * or packager/legal/LICENSE.txt. See the License
>>> for the specific
>>> + * language governing permissions and limitations
>>> under the License.
>>> + *
>>> + * When distributing the software, include this
>>> License Header Notice in each
>>> + * file and include the License file at
>>> packager/legal/LICENSE.txt.
>>> + *
>>> + * GPL Classpath Exception:
>>> + * Oracle designates this particular file as
>>> subject to the "Classpath"
>>> + * exception as provided by Oracle in the GPL
>>> Version 2 section of the License
>>> + * file that accompanied this code.
>>> + *
>>> + * Modifications:
>>> + * If applicable, add the following below the
>>> License Header, with the fields
>>> + * enclosed by brackets [] replaced by your own
>>> identifying information:
>>> + * "Portions Copyright [year] [name of copyright
>>> owner]"
>>> + *
>>> + * Contributor(s):
>>> + * If you wish your version of this file to be
>>> governed by only the CDDL or
>>> + * only the GPL Version 2, indicate your decision
>>> by adding "[Contributor]
>>> + * elects to include this software in this
>>> distribution under the [CDDL or GPL
>>> + * Version 2] license." If you don't indicate a
>>> single choice of license, a
>>> + * recipient has the option to distribute your
>>> version of this file under
>>> + * either the CDDL, the GPL Version 2 or to extend
>>> the choice of license to
>>> + * its licensees as provided above. However, if
>>> you add GPL Version 2 code
>>> + * and therefore, elected the GPL Version 2
>>> license, then the option applies
>>> + * only if the new code is made subject to such
>>> option by the copyright
>>> + * holder.
>>> +
>>> + */
>>> +
>>> +package com.sun.faces.test.agnostic.ajax_namespace;
>>> +
>>> +import javax.faces.FacesException;
>>> +import javax.faces.application.Application;
>>> +import javax.faces.application.ApplicationFactory;
>>> +import javax.faces.context.ExternalContext;
>>> +import javax.faces.context.ExternalContextFactory;
>>> +import javax.servlet.ServletContext;
>>> +import javax.servlet.ServletRequest;
>>> +import javax.servlet.ServletResponse;
>>> +
>>> +import com.sun.faces.context.ExternalContextImpl;
>>> +
>>> +public class ExternalContextFactoryImpl extends
>>> ExternalContextFactory {
>>> + private final ExternalContextFactory parent;
>>> +
>>> + public
>>> ExternalContextFactoryImpl(ExternalContextFactory
>>> parent) {
>>> + this.parent = parent;
>>> + }
>>> +
>>> + @Override
>>> + public ExternalContextFactory getWrapped() {
>>> + return parent;
>>> + }
>>> +
>>> + public ExternalContext
>>> getExternalContext(Object context, Object request,
>>> + Object response) throws
>>> FacesException {
>>> + ExternalContext extContext = new
>>> ExternalContextNamespaceImpl(
>>> + new
>>> ExternalContextImpl((ServletContext) context,
>>> +
>>> (ServletRequest) request, (ServletResponse) response));
>>> +
>>> + if (request instanceof ServletRequest) {
>>> + ((ServletRequest) request)
>>> + .setAttribute(
>>> +
>>>
>>> com.sun.faces.context.ExternalContextFactoryImpl.DEFAULT_EXTERNAL_CONTEXT_KEY,
>>> +
>>> extContext);
>>> + }
>>> +
>>> + return extContext;
>>> + }
>>> +
>>> +}
>>> \ No newline at end of file
>>> --- /dev/null
>>> +++
>>> b/test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/ExternalContextNamespaceImpl.java
>>> @@ -0,0 +1,75 @@
>>> +/*
>>> + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS
>>> HEADER.
>>> + *
>>> + * Copyright (c) 1997-2012 Oracle and/or its
>>> affiliates. All rights reserved.
>>> + *
>>> + * The contents of this file are subject to the
>>> terms of either the GNU
>>> + * General Public License Version 2 only ("GPL") or
>>> the Common Development
>>> + * and Distribution License("CDDL") (collectively,
>>> the "License"). You
>>> + * may not use this file except in compliance with
>>> the License. You can
>>> + * obtain a copy of the License at
>>> + *
>>> https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
>>> + * or packager/legal/LICENSE.txt. See the License
>>> for the specific
>>> + * language governing permissions and limitations
>>> under the License.
>>> + *
>>> + * When distributing the software, include this
>>> License Header Notice in each
>>> + * file and include the License file at
>>> packager/legal/LICENSE.txt.
>>> + *
>>> + * GPL Classpath Exception:
>>> + * Oracle designates this particular file as
>>> subject to the "Classpath"
>>> + * exception as provided by Oracle in the GPL
>>> Version 2 section of the License
>>> + * file that accompanied this code.
>>> + *
>>> + * Modifications:
>>> + * If applicable, add the following below the
>>> License Header, with the fields
>>> + * enclosed by brackets [] replaced by your own
>>> identifying information:
>>> + * "Portions Copyright [year] [name of copyright
>>> owner]"
>>> + *
>>> + * Contributor(s):
>>> + * If you wish your version of this file to be
>>> governed by only the CDDL or
>>> + * only the GPL Version 2, indicate your decision
>>> by adding "[Contributor]
>>> + * elects to include this software in this
>>> distribution under the [CDDL or GPL
>>> + * Version 2] license." If you don't indicate a
>>> single choice of license, a
>>> + * recipient has the option to distribute your
>>> version of this file under
>>> + * either the CDDL, the GPL Version 2 or to extend
>>> the choice of license to
>>> + * its licensees as provided above. However, if
>>> you add GPL Version 2 code
>>> + * and therefore, elected the GPL Version 2
>>> license, then the option applies
>>> + * only if the new code is made subject to such
>>> option by the copyright
>>> + * holder.
>>> +
>>> + */
>>> +
>>> +package com.sun.faces.test.agnostic.ajax_namespace;
>>> +
>>> +import java.util.Collections;
>>> +import java.util.Map;
>>> +
>>> +import javax.faces.context.ExternalContext;
>>> +import javax.faces.context.ExternalContextWrapper;
>>> +import javax.servlet.ServletRequest;
>>> +
>>> +import com.sun.faces.context.RequestParameterMap;
>>> +
>>> +public class ExternalContextNamespaceImpl extends
>>> ExternalContextWrapper {
>>> +
>>> + private final ExternalContext parent;
>>> + private Map<String, String>
>>> requestParameterMap = null;
>>> +
>>> + public
>>> ExternalContextNamespaceImpl(ExternalContext
>>> externalContext) {
>>> + parent = externalContext;
>>> + }
>>> +
>>> + public ExternalContext getWrapped() {
>>> + return parent;
>>> + }
>>> +
>>> + public Map<String, String>
>>> getRequestParameterMap() {
>>> + if (null == requestParameterMap) {
>>> + requestParameterMap =
>>> Collections
>>> +
>>> .unmodifiableMap(new NamespacedRequestParameterMap(
>>> +
>>> ((ServletRequest) getWrapped().getRequest())));
>>> + }
>>> + return requestParameterMap;
>>> + }
>>> +
>>> +}
>>> \ No newline at end of file
>>> --- /dev/null
>>> +++
>>> b/test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/NamespacedRequestParameterMap.java
>>> @@ -0,0 +1,88 @@
>>> +/*
>>> + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS
>>> HEADER.
>>> + *
>>> + * Copyright (c) 1997-2012 Oracle and/or its
>>> affiliates. All rights reserved.
>>> + *
>>> + * The contents of this file are subject to the
>>> terms of either the GNU
>>> + * General Public License Version 2 only ("GPL") or
>>> the Common Development
>>> + * and Distribution License("CDDL") (collectively,
>>> the "License"). You
>>> + * may not use this file except in compliance with
>>> the License. You can
>>> + * obtain a copy of the License at
>>> + *
>>> https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
>>> + * or packager/legal/LICENSE.txt. See the License
>>> for the specific
>>> + * language governing permissions and limitations
>>> under the License.
>>> + *
>>> + * When distributing the software, include this
>>> License Header Notice in each
>>> + * file and include the License file at
>>> packager/legal/LICENSE.txt.
>>> + *
>>> + * GPL Classpath Exception:
>>> + * Oracle designates this particular file as
>>> subject to the "Classpath"
>>> + * exception as provided by Oracle in the GPL
>>> Version 2 section of the License
>>> + * file that accompanied this code.
>>> + *
>>> + * Modifications:
>>> + * If applicable, add the following below the
>>> License Header, with the fields
>>> + * enclosed by brackets [] replaced by your own
>>> identifying information:
>>> + * "Portions Copyright [year] [name of copyright
>>> owner]"
>>> + *
>>> + * Contributor(s):
>>> + * If you wish your version of this file to be
>>> governed by only the CDDL or
>>> + * only the GPL Version 2, indicate your decision
>>> by adding "[Contributor]
>>> + * elects to include this software in this
>>> distribution under the [CDDL or GPL
>>> + * Version 2] license." If you don't indicate a
>>> single choice of license, a
>>> + * recipient has the option to distribute your
>>> version of this file under
>>> + * either the CDDL, the GPL Version 2 or to extend
>>> the choice of license to
>>> + * its licensees as provided above. However, if
>>> you add GPL Version 2 code
>>> + * and therefore, elected the GPL Version 2
>>> license, then the option applies
>>> + * only if the new code is made subject to such
>>> option by the copyright
>>> + * holder.
>>> +
>>> + */
>>> +
>>> +package com.sun.faces.test.agnostic.ajax_namespace;
>>> +
>>> +import java.util.Collection;
>>> +import java.util.Collections;
>>> +import java.util.Iterator;
>>> +import java.util.Map;
>>> +import java.util.Set;
>>> +
>>> +import javax.servlet.ServletRequest;
>>> +
>>> +import com.sun.faces.context.RequestParameterMap;
>>> +import com.sun.faces.util.Util;
>>> +
>>> +public class NamespacedRequestParameterMap extends
>>> RequestParameterMap {
>>> +
>>> + private final ServletRequest request;
>>> +
>>> + public
>>> NamespacedRequestParameterMap(ServletRequest request) {
>>> + super(request);
>>> + this.request = request;
>>> + }
>>> +
>>> + @Override
>>> + public String get(Object key) {
>>> + String mapKey = key.toString();
>>> +
>>> + String value =
>>> request.getParameter(getNamingContainerId() + mapKey);
>>> +
>>> + if (value == null&&
>>> !mapKey.equals("param")) {
>>> + value =
>>> request.getParameter(mapKey);
>>> + }
>>> + return value;
>>> + }
>>> +
>>> + @Override
>>> + public boolean containsKey(Object key) {
>>> + String mapKey = key.toString();
>>> + boolean contains =
>>> (request.getParameter(getNamingContainerId()
>>> + + mapKey) != null);
>>> +
>>> + if (!contains&&
>>> !mapKey.equals("param")) {
>>> + contains =
>>> (request.getParameter(mapKey) != null);
>>> + }
>>> +
>>> + return contains;
>>> + }
>>> +}
>>> \ No newline at end of file
>>> ---
>>> a/test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/UserBean.java
>>> +++
>>> b/test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/UserBean.java
>>> @@ -2,13 +2,14 @@ package
>>> com.sun.faces.test.agnostic.ajax_namespace;
>>>
>>> import java.io.Serializable;
>>> import java.util.Date;
>>> -
>>> +import java.util.Map;
>>>
>>> import javax.faces.application.FacesMessage;
>>> import javax.faces.bean.ManagedBean;
>>> import javax.faces.bean.SessionScoped;
>>> import javax.faces.component.UIComponent;
>>> import javax.faces.context.FacesContext;
>>> +import javax.faces.event.ActionEvent;
>>> import javax.faces.validator.ValidatorException;
>>>
>>> @ManagedBean
>>> @@ -90,5 +91,15 @@ public class UserBean implements
>>> Serializable {
>>>
>>> FacesContext.getCurrentInstance().addMessage(null,
>>> doneMessage);
>>> return "done";
>>> }
>>> +
>>> + public void paramActionListener (ActionEvent
>>> actionEvent) {
>>> + Map<String, String> params =
>>> +
>>> FacesContext.getCurrentInstance().getExternalContext().
>>> + getRequestParameterMap();
>>> + String paramValue = params.get("param");
>>> + if (paramValue != null) {
>>> + this.lastName = this.lastName + " "
>>> + params.get("param");
>>> + }
>>> + }
>>> }
>>>
>>> ---
>>> a/test/agnostic/ajax-namespace/src/main/webapp/WEB-INF/faces-config.xml
>>> +++
>>> b/test/agnostic/ajax-namespace/src/main/webapp/WEB-INF/faces-config.xml
>>> @@ -3,5 +3,6 @@
>>> <faces-config
>>> xmlns="http://java.sun.com/xml/ns/javaee"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.1"
>>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd">
>>> <factory>
>>> <application-factory>com.sun.faces.test.agnostic.ajax_namespace.ApplicationFactoryImpl</application-factory>
>>> +<external-context-factory>com.sun.faces.test.agnostic.ajax_namespace.ExternalContextFactoryImpl</external-context-factory>
>>> </factory>
>>> </faces-config>
>>> \ No newline at end of file
>>> ---
>>> a/test/agnostic/ajax-namespace/src/main/webapp/index.xhtml
>>> +++
>>> b/test/agnostic/ajax-namespace/src/main/webapp/index.xhtml
>>> @@ -61,12 +61,33 @@
>>>
>>> <br />
>>>
>>> +<h:form id="ajaxFormParams" prependId="false">
>>> + <h:inputText id="ajaxInputParams"
>>> value="#{userBean.lastName}" />
>>> +<h:outputText id="ajaxOutputParams"
>>> value="#{userBean.lastName}" />
>>> +<h:commandButton id="ajaxSubmitParams"
>>> value="submit"
>>> actionListener="#{userBean.paramActionListener}">
>>> + <f:ajax render="@form" execute="@form"/>
>>> + <f:param name="param" value="value"/>
>>> +</h:commandButton>
>>> +</h:form>
>>> +
>>> +<br />
>>> +
>>> <h:form id="nonAjaxForm" prependId="false">
>>> <h:inputText id="nonAjaxInput"
>>> value="#{userBean.lastName}" />
>>> <h:outputText id="nonAjaxOutput"
>>> value="#{userBean.lastName}" />
>>> <h:commandButton id="nonAjaxSubmit" value="submit" />
>>> </h:form>
>>>
>>> +<br />
>>> +
>>> +<h:form id="nonAjaxFormParams" prependId="false">
>>> +<h:inputText id="nonAjaxInputParams"
>>> value="#{userBean.lastName}" />
>>> +<h:outputText id="nonAjaxOutputParams"
>>> value="#{userBean.lastName}" />
>>> +<h:commandButton id="nonAjaxSubmitParams"
>>> value="submit"
>>> actionListener="#{userBean.paramActionListener}">
>>> + <f:param name="param" value="value"/>
>>> +</h:commandButton>
>>> +</h:form>
>>> +
>>> </body>
>>>
>>> </f:view>
>>> ---
>>> a/test/agnostic/ajax-namespace/src/test/java/com/sun/faces/test/agnostic/ajax_namespace/Issue3031IT.java
>>> +++
>>> b/test/agnostic/ajax-namespace/src/test/java/com/sun/faces/test/agnostic/ajax_namespace/Issue3031IT.java
>>> @@ -114,6 +114,26 @@ public class Issue3031IT {
>>> }
>>>
>>> @Test
>>> + public void testAjaxWithParams() throws Exception {
>>> + HtmlPage page = webClient.getPage(webUrl);
>>> +
>>> + HtmlElement input = (HtmlElement)
>>> page.getElementById("MyNamingContainerj_id1:ajaxInputParams");
>>> + assertTrue(null != input);
>>> + assertTrue(input instanceof HtmlTextInput);
>>> + HtmlTextInput textInput = (HtmlTextInput)
>>> input;
>>> + textInput.setText("MyText");
>>> +
>>> + HtmlSubmitInput button = (HtmlSubmitInput)
>>> page.getElementById("MyNamingContainerj_id1:ajaxSubmitParams");
>>> + page = button.click();
>>> + webClient.waitForBackgroundJavaScript(60000);
>>> +
>>> + HtmlElement output = (HtmlElement)
>>> page.getElementById("MyNamingContainerj_id1:ajaxOutputParams");
>>> + assertTrue(output.asText().contains("MyText
>>> value"));
>>> +
>>> +
>>> + }
>>> +
>>> + @Test
>>> public void testNonAjax() throws Exception {
>>> HtmlPage page = webClient.getPage(webUrl);
>>>
>>> @@ -132,4 +152,22 @@ public class Issue3031IT {
>>>
>>> }
>>>
>>> + @Test
>>> + public void testNonAjaxWithParams() throws
>>> Exception {
>>> + HtmlPage page = webClient.getPage(webUrl);
>>> +
>>> + HtmlElement input = (HtmlElement)
>>> page.getElementById("MyNamingContainerj_id1:nonAjaxInputParams");
>>> + assertTrue(null != input);
>>> + assertTrue(input instanceof HtmlTextInput);
>>> + HtmlTextInput textInput = (HtmlTextInput)
>>> input;
>>> + textInput.setText("MyNonAjaxText");
>>> +
>>> + HtmlSubmitInput button = (HtmlSubmitInput)
>>> page.getElementById("MyNamingContainerj_id1:nonAjaxSubmitParams");
>>> + page = button.click();
>>> +
>>> + HtmlElement output = (HtmlElement)
>>> page.getElementById("MyNamingContainerj_id1:nonAjaxOutputParams");
>>> +
>>> assertTrue(output.asText().contains("MyNonAjaxText
>>> value"));
>>> +
>>> +
>>> + }
>>> }
>>>
>>>
>>>
>>>
>>>
>>
>