Update of /cvsroot/httpunit/httpunit/src/com/meterware/httpunit
In directory usw-pr-cvs1:/tmp/cvs-serv32474/src/com/meterware/httpunit
Modified Files:
HttpUnitOptions.java SubmitButton.java WebResponse.java
Log Message:
Force graceful degregation when Rhino is missing
Index: HttpUnitOptions.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/src/com/meterware/httpunit/HttpUnitOptions.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- HttpUnitOptions.java 8 Aug 2002 20:47:21 -0000 1.23
+++ HttpUnitOptions.java 20 Aug 2002 15:09:28 -0000 1.24
@@ -376,7 +376,8 @@
if (_scriptingEngine == null) {
try {
Class factoryClass = Class.forName( _scriptEngineClassName );
- _scriptingEngine = (ScriptingEngineFactory) factoryClass.newInstance();
+ final ScriptingEngineFactory factory = (ScriptingEngineFactory) factoryClass.newInstance();
+ _scriptingEngine = factory.isEnabled() ? factory : NULL_SCRIPTING_ENGINE_FACTORY;
} catch (ClassNotFoundException e) {
disableScripting( e, "Unable to find scripting engine factory class " );
} catch (InstantiationException e) {
@@ -416,6 +417,7 @@
private static final String DEFAULT_CONTENT_TYPE = "text/plain";
private static final ScriptingEngineFactory NULL_SCRIPTING_ENGINE_FACTORY = new ScriptingEngineFactory() {
+ public boolean isEnabled() { return false; }
public void associate( WebResponse response ) {
}
};
Index: SubmitButton.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/src/com/meterware/httpunit/SubmitButton.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- SubmitButton.java 19 Aug 2002 18:52:26 -0000 1.11
+++ SubmitButton.java 20 Aug 2002 15:09:28 -0000 1.12
@@ -45,7 +45,7 @@
* submits the form.
*/
public void click() throws IOException, SAXException {
- _form.submit( this );
+ if (doOnClickEvent()) _form.submit( this );
}
Index: WebResponse.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/src/com/meterware/httpunit/WebResponse.java,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -r1.73 -r1.74
--- WebResponse.java 8 Aug 2002 20:47:21 -0000 1.73
+++ WebResponse.java 20 Aug 2002 15:09:28 -0000 1.74
@@ -481,6 +481,7 @@
* Returns the next javascript alert and removes it from the queue.
*/
public String popNextAlert() {
+ if (_alerts.isEmpty()) throw new IllegalStateException( "Tried to pop a non-existent alert" );
return (String) _alerts.removeFirst();
}
|