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