We have a set of HTMLUnit tests that are failing since the most recent
changes to the javascript runtime files. It appears to be around the
"_mfProto" value which was added on 5/25. We were not seeing these
problems in earlier snapshots.
All seems to be working ok when the tests are executed manually in a
browser, however HTMLUnit seems to be choking when doing its javascript
validation of jsf.js.
We might be able to work around this by setting
webClient.setThrowExceptionOnScriptError(false) in our testcase, but
that is not ideal. I wanted to raise this to the mailing list and to
Werner in particular since he is most familiar with these scripts.
Please let me know if you'd like me to go ahead and open a JIRA issue.
Here is a snippet of the exception stack that we are seeing. I can
attach the full stack if necessary. This can be reproduced on even a
very simple testcase like a counter button which updates an outputText
field using f:ajax.
net.sourceforge.htmlunit.corejs.javascript.EcmaError: TypeError: Cannot
set property "_mfProto" of null to "null"
(http://localhost:8080/JSF20AJAXTag/javax.faces.resource/jsf.js.jsf?ln=javax.faces#50)
at
net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3753)
at
net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3731)
at
net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3759)
at
net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError3(ScriptRuntime.java:3785)
at
net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.undefWriteError(ScriptRuntime.java:3807)
at
net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.setObjectElem(ScriptRuntime.java:1578)
at
net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1450)
at
script(http://localhost:8080/JSF20AJAXTag/javax.faces.resource/jsf.js.jsf?ln=javax.faces:50)
at
script(http://localhost:8080/JSF20AJAXTag/javax.faces.resource/jsf.js.jsf?ln=javax.faces:47)
at
script(http://localhost:8080/JSF20AJAXTag/javax.faces.resource/jsf.js.jsf?ln=javax.faces:64)
at
net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:845)
at
net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
Thanks,
Mike