Hello,

I regret bringing this topic up, but the new JavaScript code in RC5 is
encountering more HTMLUnit trouble.

I've pulled the RC5 jars into our application server and run our test
suite against it, and we saw about 5-10% of tests fail.

We have yet to run against the full TCK, but initial runs also show
failures and errors (see list 1). The majority of the failures/errors
are caused by either "missing formal parameter" or "syntax error".

This issue can be traced back to Rhino not supporting "rest
parameters" (Found https://github.com/mozilla/rhino/issues/652 via
https://github.com/HtmlUnit/htmlunit/issues/232 ).


[ERROR]
ee.jakarta.tck.faces.test.javaee6.viewParamNullValueAjax.Issue4550IT.testViewParamNullValueAjax
Time elapsed: 2.33 s <<< ERROR! ======= EXCEPTION START ======== Exception
class=[net.sourceforge.htmlunit.corejs.javascript.EvaluatorException]
com.gargoylesoftware.htmlunit.ScriptException: missing formal parameter (
http://localhost:9080/viewParamNullValueAjax/faces/jakarta.faces.resource/faces.js?ln=jakarta.faces#2)


Back to the topic of the TCK, the ajax tests (faces22/ajax,
faces23/ajax, etc) were ported over to use the selenium driver, but
other tests, which also use ajax, were not ported
(faces23/exactmapping, faces40/inputfile, etc).
Another portion of the TCK that has yet to be tested is the old-tck
(which has thousands of tests, some of which will be hit by these
script exceptions). *We'd be losing testing coverage with the new
scripts.*

If we remove the rest parameters, then our problems might be resolved.
It's not a guarantee and I'm not sure how feasible it would be.

Unfortunately, though, a revert is the best course of action as I
don't think challenging all of these previously working tests is a
sound approach.

My hope is to have a 4.0.0 release with the previous scripts. This
would then give us time to automate MyFaces to run against the TCK and
also move away from HTMLUnit.

The new scripts could then be merged at a later time (with more confidence).

1) List of New TCK Failures:
ee.jakarta.tck.faces.test.javaee6.viewParamNullValueAjax.Issue4550IT.testViewParamNullValueAjax
ee.jakarta.tck.faces.test.javaee8.cdi.Spec1351IT.testInjectValidator
ee.jakarta.tck.faces.test.javaee8.cdi.Spec1386IT.testInjectFlowMap
ee.jakarta.tck.faces.test.javaee8.commandScript.Spec613IT.test
ee.jakarta.tck.faces.test.servlet40.exactmapping.Spec1260IT.testLinkToNonExactMappedView
ee.jakarta.tck.faces.test.servlet40.exactmapping.Spec1260IT.testAjaxFromExactMappedView
ee.jakarta.tck.faces.test.servlet40.exactmapping.Spec1260IT.testExactMappedViewLoads
ee.jakarta.tck.faces.test.servlet40.exactmapping.Spec1260IT.testPostBackOnLinkedNonExactMappedView
ee.jakarta.tck.faces.test.servlet40.exactmapping.Spec1260IT.testPostBackToExactMappedView
ee.jakarta.tck.faces.test.servlet40.exactmapping.Spec1260IT.testResourceReferenceFromExactMappedView
ee.jakarta.tck.faces.test.servlet40.facelets.Issue4830IT.testUIRepeatResetValues
ee.jakarta.tck.faces.test.servlet40.facelets.Issue5078IT.testUIRepeatVisitTreeDuringInvokeApplication
ee.jakarta.tck.faces.test.javaee8.searchExpression.Issue4331IT.test
ee.jakarta.tck.faces.test.javaee8.searchExpression.Spec1238IT.test
ee.jakarta.tck.faces.test.javaee8.uiinput.Issue5081IT.testIssue4734
ee.jakarta.tck.faces.test.servlet50.inputfile.Spec1555IT.testMultipleSelectionNonAjax
ee.jakarta.tck.faces.test.servlet50.inputfile.Spec1555IT.testSingleSelectionNonAjax
ee.jakarta.tck.faces.test.servlet50.inputfile.Spec1555IT.testMultipleSelectionAjax
ee.jakarta.tck.faces.test.servlet50.inputfile.Spec1555IT.testSingleSelectionAjax

Thanks,

Volodymyr

Reply via email to