Author: sebb Date: Wed Mar 25 20:21:05 2009 New Revision: 758429 URL: http://svn.apache.org/viewvc?rev=758429&view=rev Log: Support Compilable testing
Added: jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestCompiledScript.java (with props) Modified: jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngine.java Added: jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestCompiledScript.java URL: http://svn.apache.org/viewvc/jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestCompiledScript.java?rev=758429&view=auto ============================================================================== --- jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestCompiledScript.java (added) +++ jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestCompiledScript.java Wed Mar 25 20:21:05 2009 @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.bsf.utils; + +import javax.script.CompiledScript; +import javax.script.ScriptContext; +import javax.script.ScriptEngine; +import javax.script.ScriptException; + +/** + * Minimal CompiledScript implementation. + */ +public class TestCompiledScript extends CompiledScript { + + private final ScriptEngine engine; + private final String compiled; + + public TestCompiledScript(TestScriptEngine testScriptEngine, String script) { + engine = testScriptEngine; + compiled = script; + } + + public Object eval(ScriptContext context) throws ScriptException { + return compiled; + } + + public ScriptEngine getEngine() { + return engine; + } + +} Propchange: jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestCompiledScript.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestCompiledScript.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Modified: jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngine.java URL: http://svn.apache.org/viewvc/jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngine.java?rev=758429&r1=758428&r2=758429&view=diff ============================================================================== --- jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngine.java (original) +++ jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngine.java Wed Mar 25 20:21:05 2009 @@ -23,6 +23,9 @@ import javax.script.AbstractScriptEngine; import javax.script.Bindings; +import javax.script.Compilable; +import javax.script.CompiledScript; +import javax.script.Invocable; import javax.script.ScriptContext; import javax.script.ScriptEngineFactory; import javax.script.ScriptException; @@ -31,7 +34,7 @@ /** * Minimal Script engine used for JUnit tests. */ -public class TestScriptEngine extends AbstractScriptEngine { +public class TestScriptEngine extends AbstractScriptEngine implements Compilable, Invocable { public TestScriptEngine() { super(); @@ -52,6 +55,15 @@ public Object eval(Reader reader, ScriptContext context) throws ScriptException { + return eval(readerToString(reader), context); + } + + /** + * @param reader + * @return + * @throws ScriptException + */ + private String readerToString(Reader reader) throws ScriptException { StringBuffer sb = new StringBuffer(); char cbuf[] = new char[1024]; try { @@ -61,7 +73,7 @@ } catch (IOException e) { throw new ScriptException(e); } - return eval(sb.toString(), context); + return sb.toString(); } public Object eval(String script, ScriptContext context) @@ -73,4 +85,39 @@ return new TestScriptEngineFactory(); } + // Compilable methods + + public CompiledScript compile(String script) throws ScriptException { + return new TestCompiledScript(this, script); + } + + public CompiledScript compile(Reader reader) throws ScriptException { + String script = readerToString(reader); + return new TestCompiledScript(this, script); + } + + // Invokable methods + + public Object getInterface(Class clasz) { + // TODO Auto-generated method stub + return null; + } + + public Object getInterface(Object thiz, Class clasz) { + // TODO Auto-generated method stub + return null; + } + + public Object invokeFunction(String name, Object[] args) + throws ScriptException, NoSuchMethodException { + // TODO Auto-generated method stub + return null; + } + + public Object invokeMethod(Object thiz, String name, Object[] args) + throws ScriptException, NoSuchMethodException { + // TODO Auto-generated method stub + return null; + } + } --------------------------------------------------------------------- To unsubscribe, e-mail: bsf-dev-unsubscr...@jakarta.apache.org For additional commands, e-mail: bsf-dev-h...@jakarta.apache.org