You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bsf-dev@jakarta.apache.org by se...@apache.org on 2009/03/25 03:28:00 UTC
svn commit: r758131 - in /jakarta/bsf/trunk/bsf3:
bsf-api/src/test/java/org/apache/bsf/
bsf-api/src/test/java/org/apache/bsf/utils/
bsf-engines/src/main/resources/META-INF/services/
Author: sebb
Date: Wed Mar 25 02:27:59 2009
New Revision: 758131
URL: http://svn.apache.org/viewvc?rev=758131&view=rev
Log:
Add rudimentary JUnit scripting engine and tests
Added:
jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/ScriptEngineManagerTest.java (with props)
jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/
jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngine.java (with props)
jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngineFactory.java (with props)
Modified:
jakarta/bsf/trunk/bsf3/bsf-engines/src/main/resources/META-INF/services/javax.script.ScriptEngineFactory
Added: jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/ScriptEngineManagerTest.java
URL: http://svn.apache.org/viewvc/jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/ScriptEngineManagerTest.java?rev=758131&view=auto
==============================================================================
--- jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/ScriptEngineManagerTest.java (added)
+++ jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/ScriptEngineManagerTest.java Wed Mar 25 02:27:59 2009
@@ -0,0 +1,114 @@
+/*
+ * 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;
+
+import java.util.List;
+
+import javax.script.ScriptEngine;
+import javax.script.ScriptEngineManager;
+
+import org.apache.bsf.utils.TestScriptEngine;
+import org.apache.bsf.utils.TestScriptEngineFactory;
+
+import junit.framework.TestCase;
+
+public class ScriptEngineManagerTest extends TestCase {
+ private ScriptEngineManager mgr = null;
+
+ public ScriptEngineManagerTest() {
+ super("ScriptEngineManagerTest");
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ mgr = new ScriptEngineManager();
+ }
+
+ public void testScriptEngineManager() {
+ assertNotNull(mgr);
+ List facs = mgr.getEngineFactories();
+ assertNotNull(facs);
+ assertTrue(facs.size() > 0); // need at least one
+ }
+
+ public void testGet() {
+ mgr.put("x", new Integer(1));
+ Object retValue = mgr.get("x");
+ assertEquals(new Integer(1), retValue);
+ }
+
+ public void testGetEngineByExtension() {
+ ScriptEngine engine;
+
+ engine = mgr.getEngineByExtension("tEst");
+ assertTrue(engine instanceof TestScriptEngine);
+
+ engine = mgr.getEngineByExtension("teSt");
+ assertTrue(engine instanceof TestScriptEngine);
+ }
+
+ public void testGetEngineByMimeType() {
+ }
+
+ public void testGetEngineByName() {
+ ScriptEngine engine;
+
+ engine = mgr.getEngineByName("TestScript");
+ assertNotNull(engine);
+ assertTrue(engine instanceof TestScriptEngine);
+ }
+
+ public void testGetEngineFactories() {
+ boolean found = false;
+ List factories = mgr.getEngineFactories();
+
+ for(int i = 0; i < factories.size(); i++) {
+ if (factories.get(i) instanceof TestScriptEngineFactory) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ fail("ScriptEngineManager.getEngineFactories(): " +
+ "TestScriptEngineFactory is not present ..");
+ }
+ }
+
+ public void testPut() {
+ //TODO Implement put().
+ }
+
+ public void testRegisterEngineExtension() {
+ //TODO Implement registerEngineExtension().
+ }
+
+ public void testRegisterEngineName() {
+ //TODO Implement registerEngineName().
+ }
+
+ public void testRegisterEngineMimeType() {
+ //TODO Implement registerEngineMimeType().
+ }
+
+ public void testSetNamespace() {
+ //TODO Implement setNamespace().
+ }
+
+}
Propchange: jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/ScriptEngineManagerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/ScriptEngineManagerTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: 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=758131&view=auto
==============================================================================
--- 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/TestScriptEngine.java Wed Mar 25 02:27:59 2009
@@ -0,0 +1,53 @@
+/*
+ * 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 java.io.Reader;
+import java.io.StringReader;
+
+import javax.script.AbstractScriptEngine;
+import javax.script.Bindings;
+import javax.script.ScriptContext;
+import javax.script.ScriptEngineFactory;
+import javax.script.ScriptException;
+
+public class TestScriptEngine extends AbstractScriptEngine {
+
+ public Bindings createBindings() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Object eval(Reader reader, ScriptContext context)
+ throws ScriptException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+ public Object eval(String script, ScriptContext context)
+ throws ScriptException {
+ return eval(new StringReader(script), context);
+ }
+
+ public ScriptEngineFactory getFactory() {
+ return new TestScriptEngineFactory();
+ }
+
+}
Propchange: jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngine.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngine.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngineFactory.java
URL: http://svn.apache.org/viewvc/jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngineFactory.java?rev=758131&view=auto
==============================================================================
--- jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngineFactory.java (added)
+++ jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngineFactory.java Wed Mar 25 02:27:59 2009
@@ -0,0 +1,90 @@
+/*
+ * 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 java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import javax.script.ScriptEngine;
+import javax.script.ScriptEngineFactory;
+
+
+public class TestScriptEngineFactory implements ScriptEngineFactory {
+
+
+ public ScriptEngine getScriptEngine() {
+ return new TestScriptEngine();
+ }
+
+ public String getEngineName() {
+ return "TestScriptEngine";
+ }
+ public String getEngineVersion() {
+ return "1.0";
+ }
+ public List getExtensions() {
+ return Collections.unmodifiableList(Arrays.asList(new String[]{"tEst","teSt"}));
+ }
+ public String getLanguageName() {
+ return "TestScript";
+ }
+ public String getLanguageVersion() {
+ return "1.0";
+ }
+ public List getMimeTypes() {
+ return Collections.unmodifiableList(Arrays.asList(new String[]{}));
+ }
+
+ public Object getParameter(String key) {
+ if (key == ScriptEngine.ENGINE) {
+ return getEngineName();
+ } else if (key == ScriptEngine.ENGINE_VERSION) {
+ return getEngineVersion();
+ } else if (key == ScriptEngine.NAME) {
+ return "JUnit";
+ } else if (key == ScriptEngine.LANGUAGE) {
+ return getLanguageName();
+ } else if(key == ScriptEngine.ENGINE_VERSION) {
+ return getLanguageVersion();
+ } else if (key == "THREADING") {
+ return "MULTITHREADED";
+ }
+ return null;
+ }
+
+ public String getMethodCallSyntax(String obj, String method, String[] args) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List getNames() {
+ return Collections.unmodifiableList(Arrays.asList(new String[]{getLanguageName()}));
+ }
+
+ public String getOutputStatement(String toDisplay) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getProgram(String[] statements) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
Propchange: jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngineFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/bsf/trunk/bsf3/bsf-api/src/test/java/org/apache/bsf/utils/TestScriptEngineFactory.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: jakarta/bsf/trunk/bsf3/bsf-engines/src/main/resources/META-INF/services/javax.script.ScriptEngineFactory
URL: http://svn.apache.org/viewvc/jakarta/bsf/trunk/bsf3/bsf-engines/src/main/resources/META-INF/services/javax.script.ScriptEngineFactory?rev=758131&r1=758130&r2=758131&view=diff
==============================================================================
--- jakarta/bsf/trunk/bsf3/bsf-engines/src/main/resources/META-INF/services/javax.script.ScriptEngineFactory (original)
+++ jakarta/bsf/trunk/bsf3/bsf-engines/src/main/resources/META-INF/services/javax.script.ScriptEngineFactory Wed Mar 25 02:27:59 2009
@@ -20,5 +20,5 @@
com.sun.script.velocity.VelocityScriptEngineFactory
com.sun.script.xpath.XPathScriptEngineFactory
com.sun.script.xslt.XSLTScriptEngineFactory
-
+org.apache.bsf.utils.TestScriptEngineFactory
---------------------------------------------------------------------
To unsubscribe, e-mail: bsf-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: bsf-dev-help@jakarta.apache.org