jsr372-experts@javaserverfaces-spec-public.java.net

[jsr372-experts] Re: [SPEC-1238] request for review (was: Re: [PROPOSAL] CDI integration for UIComponent instances in JSF 2.3)

From: Edward Burns <edward.burns_at_oracle.com>
Date: Tue, 17 Jan 2017 09:07:15 -0800

>>>>> On Sat, 14 Jan 2017 22:31:50 +0100, Bauke Scholtz <balusc_at_gmail.com> said:
BalusC> This is a bug in the test itself. The <h:outputLabel for="test">
BalusC> is wrong. There doesn't exist a component with id="text".

>>>>> On Sun, 15 Jan 2017 23:11:23 -0800, Edward Burns <edward.burns_at_oracle.com> said:

EB> Yes, Thomas recommended a similar approach. That's what I did.

EB> <<< FAILURE! - in com.sun.faces.test.servlet30.facelets.Issue3152IT

EB> This was also an erroneous test. The ids of the "render" attribute of
EB> f:ajax are comma separated, not space separated. Nonetheless, I still
EB> opted to keep the test unchanged and had it fall back to the old
EB> behavior. See AjaxBehaviorRenderer.

EB> I have committed this now as 3ab4cf8. I really hope this doesn't break
EB> the tree!

Ok, all the jobs are still clean, except for
"2_3_x-gf-5_0-production-fss-server-serialize".

Here is the test output:

Error Message

Expected: <null> but was: HtmlTableRow[<tr id="trafter">]

Stacktrace

junit.framework.AssertionFailedError: Expected: <null> but was: HtmlTableRow[<tr id="trafter">]
        at junit.framework.Assert.fail(Assert.java:57)
        at junit.framework.Assert.assertTrue(Assert.java:22)
        at junit.framework.Assert.assertNull(Assert.java:277)
        at junit.framework.Assert.assertNull(Assert.java:268)
        at junit.framework.TestCase.assertNull(TestCase.java:438)
        at com.sun.faces.test.servlet30.systest.AjaxInsertDeleteITCase.testInsertDelete(AjaxInsertDeleteITCase.java:124)

Please note that this test *did* pass for the other permutations of the
context params:

    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>${webapp.projectStage}</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
        <param-value>${webapp.partialStateSaving}</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>${webapp.stateSavingMethod}</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.SERIALIZE_SERVER_STATE</param-name>
        <param-value>${webapp.serializeServerState}</param-value>
    </context-param>

The values for the failure are

Production
false
server
true

The test is at
"test/servlet30/systest/src/test/java/com/sun/faces/test/servlet30/systest/AjaxInsertDeleteITCase.java"

ACTION: I will leave the feature in, but I need someone, probably
Thomas, to retry this test with those parameters. We don't run this
particular set of parameters against GlassFish 4.1.1, so you need to use
GlassFish trunk. For your convenience, I have uploaded it to [1]. You
will need to overwrite the javax.faces.jar with the Mojarra under test.

Ed

-- 
| edward.burns_at_oracle.com | office: +1 407 458 0017
|  5 business days until planned start of JSF 2.3 Public Review
| 25 business days until DevNexus 2017
| 50 business days until JavaLand 2017
[1] https://java.net/projects/javaserverfaces-spec-public/downloads/download/JSF_2_3/Public%20Review/glassfish-5.0-20161212.zip