Author: fmeschbe
Date: Fri Sep 26 08:57:17 2008
New Revision: 699381

URL: http://svn.apache.org/viewvc?rev=699381&view=rev
Log:
SLING-634 Move ScriptEngineHelper class to internal package

Added:
    
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/javascript/internal/
    
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/javascript/internal/ScriptEngineHelper.java
Removed:
    
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/ScriptEngineHelper.java
Modified:
    
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/RepositoryScriptingTestBase.java
    
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/TestSetupTest.java
    
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/javascript/io/EspReaderTest.java
    
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableNodeTest.java
    
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableResourceTest.java
    
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableVersionTest.java

Modified: 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/RepositoryScriptingTestBase.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/RepositoryScriptingTestBase.java?rev=699381&r1=699380&r2=699381&view=diff
==============================================================================
--- 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/RepositoryScriptingTestBase.java
 (original)
+++ 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/RepositoryScriptingTestBase.java
 Fri Sep 26 08:57:17 2008
@@ -23,6 +23,7 @@
 import javax.naming.NamingException;
 
 import org.apache.sling.commons.testing.jcr.RepositoryTestBase;
+import org.apache.sling.scripting.javascript.internal.ScriptEngineHelper;
 
 
 /** Base class for tests which need a Repository

Modified: 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/TestSetupTest.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/TestSetupTest.java?rev=699381&r1=699380&r2=699381&view=diff
==============================================================================
--- 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/TestSetupTest.java
 (original)
+++ 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/TestSetupTest.java
 Fri Sep 26 08:57:17 2008
@@ -18,6 +18,8 @@
  */
 package org.apache.sling.scripting;
 
+import org.apache.sling.scripting.javascript.internal.ScriptEngineHelper;
+
 
 /** Verify that our test environment works */
 public class TestSetupTest extends RepositoryScriptingTestBase {

Added: 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/javascript/internal/ScriptEngineHelper.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/javascript/internal/ScriptEngineHelper.java?rev=699381&view=auto
==============================================================================
--- 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/javascript/internal/ScriptEngineHelper.java
 (added)
+++ 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/javascript/internal/ScriptEngineHelper.java
 Fri Sep 26 08:57:17 2008
@@ -0,0 +1,258 @@
+/*
+ * 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.sling.scripting.javascript.internal;
+
+import java.io.File;
+import java.io.InputStream;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.Dictionary;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.script.Bindings;
+import javax.script.ScriptContext;
+import javax.script.ScriptEngine;
+import javax.script.ScriptException;
+import javax.script.SimpleBindings;
+import javax.script.SimpleScriptContext;
+
+import org.apache.sling.commons.testing.osgi.MockBundle;
+import org.apache.sling.commons.testing.osgi.MockComponentContext;
+import org.mozilla.javascript.Context;
+import org.mozilla.javascript.ScriptableObject;
+import org.mozilla.javascript.Wrapper;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.BundleListener;
+import org.osgi.framework.Filter;
+import org.osgi.framework.FrameworkListener;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+
+/** Helpers to run javascript code fragments in tests */
+public class ScriptEngineHelper {
+    private static ScriptEngine engine;
+
+    public static class Data extends HashMap<String, Object> {
+    }
+
+    private static ScriptEngine getEngine() {
+        if (engine == null) {
+            synchronized (ScriptEngineHelper.class) {
+                RhinoJavaScriptEngineFactory f = new 
RhinoJavaScriptEngineFactory();
+                f.activate(new RhinoMockComponentContext());
+                engine = f.getScriptEngine();
+            }
+        }
+        return engine;
+    }
+
+    public String evalToString(String javascriptCode) throws ScriptException {
+        return evalToString(javascriptCode, null);
+    }
+
+    public Object eval(String javascriptCode, Map<String, Object> data)
+            throws ScriptException {
+        return eval(javascriptCode, data, new StringWriter());
+    }
+
+    public String evalToString(String javascriptCode, Map<String, Object> data)
+            throws ScriptException {
+        final StringWriter sw = new StringWriter();
+        eval(javascriptCode, data, sw);
+        return sw.toString();
+    }
+
+    public Object eval(String javascriptCode, Map<String, Object> data,
+            final StringWriter sw) throws ScriptException {
+        final PrintWriter pw = new PrintWriter(sw, true);
+        ScriptContext ctx = new SimpleScriptContext();
+
+        final Bindings b = new SimpleBindings();
+        b.put("out", pw);
+        if (data != null) {
+            for (Map.Entry<String, Object> e : data.entrySet()) {
+                b.put(e.getKey(), e.getValue());
+            }
+        }
+
+        ctx.setBindings(b, ScriptContext.ENGINE_SCOPE);
+        ctx.setWriter(sw);
+        ctx.setErrorWriter(new OutputStreamWriter(System.err));
+        Object result = getEngine().eval(javascriptCode, ctx);
+
+        if (result instanceof Wrapper) {
+            result = ((Wrapper) result).unwrap();
+        }
+
+        if (result instanceof ScriptableObject) {
+            Context.enter();
+            try {
+                result = ((ScriptableObject) result).getDefaultValue(null);
+            } finally {
+                Context.exit();
+            }
+        }
+
+        return result;
+    }
+
+    private static class RhinoMockComponentContext extends 
MockComponentContext {
+        
+        private RhinoMockComponentContext() {
+            super(null, null);
+        }
+        
+        @Override
+        public BundleContext getBundleContext() {
+            return new BundleContext() {
+
+                public void addBundleListener(BundleListener arg0) {
+                    // TODO Auto-generated method stub
+                    
+                }
+
+                public void addFrameworkListener(
+                        FrameworkListener arg0) {
+                    // TODO Auto-generated method stub
+                    
+                }
+
+                public void addServiceListener(ServiceListener arg0) {
+                    // TODO Auto-generated method stub
+                    
+                }
+
+                public void addServiceListener(
+                        ServiceListener arg0, String arg1)
+                        throws InvalidSyntaxException {
+                    // TODO Auto-generated method stub
+                    
+                }
+
+                public Filter createFilter(String arg0)
+                        throws InvalidSyntaxException {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public ServiceReference[] getAllServiceReferences(
+                        String arg0, String arg1)
+                        throws InvalidSyntaxException {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public Bundle getBundle() {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public Bundle getBundle(long arg0) {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public Bundle[] getBundles() {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public File getDataFile(String arg0) {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public String getProperty(String arg0) {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public Object getService(ServiceReference arg0) {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public ServiceReference getServiceReference(
+                        String arg0) {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public ServiceReference[] getServiceReferences(
+                        String arg0, String arg1)
+                        throws InvalidSyntaxException {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public Bundle installBundle(String arg0)
+                        throws BundleException {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public Bundle installBundle(String arg0,
+                        InputStream arg1) throws BundleException {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public ServiceRegistration registerService(
+                        String[] arg0, Object arg1, Dictionary arg2) {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public ServiceRegistration registerService(
+                        String arg0, Object arg1, Dictionary arg2) {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public void removeBundleListener(BundleListener arg0) {
+                    // TODO Auto-generated method stub
+                    
+                }
+
+                public void removeFrameworkListener(
+                        FrameworkListener arg0) {
+                    // TODO Auto-generated method stub
+                    
+                }
+
+                public void removeServiceListener(
+                        ServiceListener arg0) {
+                    // TODO Auto-generated method stub
+                    
+                }
+
+                public boolean ungetService(ServiceReference arg0) {
+                    // TODO Auto-generated method stub
+                    return false;
+                }
+            };
+        }
+    }
+}

Modified: 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/javascript/io/EspReaderTest.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/javascript/io/EspReaderTest.java?rev=699381&r1=699380&r2=699381&view=diff
==============================================================================
--- 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/javascript/io/EspReaderTest.java
 (original)
+++ 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/javascript/io/EspReaderTest.java
 Fri Sep 26 08:57:17 2008
@@ -26,7 +26,7 @@
 
 import junit.framework.TestCase;
 
-import org.apache.sling.scripting.ScriptEngineHelper;
+import org.apache.sling.scripting.javascript.internal.ScriptEngineHelper;
 
 /**
  * The <code>EspReaderTest</code> contains some simple test cases for the

Modified: 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableNodeTest.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableNodeTest.java?rev=699381&r1=699380&r2=699381&view=diff
==============================================================================
--- 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableNodeTest.java
 (original)
+++ 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableNodeTest.java
 Fri Sep 26 08:57:17 2008
@@ -25,7 +25,7 @@
 import javax.jcr.Property;
 
 import org.apache.sling.scripting.RepositoryScriptingTestBase;
-import org.apache.sling.scripting.ScriptEngineHelper;
+import org.apache.sling.scripting.javascript.internal.ScriptEngineHelper;
 import org.apache.sling.commons.json.jcr.JsonItemWriter;
 
 /** Test the ScriptableNode class "live", by retrieving

Modified: 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableResourceTest.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableResourceTest.java?rev=699381&r1=699380&r2=699381&view=diff
==============================================================================
--- 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableResourceTest.java
 (original)
+++ 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableResourceTest.java
 Fri Sep 26 08:57:17 2008
@@ -26,7 +26,7 @@
 import org.apache.sling.api.resource.ResourceMetadata;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.scripting.RepositoryScriptingTestBase;
-import org.apache.sling.scripting.ScriptEngineHelper;
+import org.apache.sling.scripting.javascript.internal.ScriptEngineHelper;
 import org.mozilla.javascript.Undefined;
 import org.mozilla.javascript.Wrapper;
 

Modified: 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableVersionTest.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableVersionTest.java?rev=699381&r1=699380&r2=699381&view=diff
==============================================================================
--- 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableVersionTest.java
 (original)
+++ 
incubator/sling/trunk/scripting/javascript/src/test/java/org/apache/sling/scripting/wrapper/ScriptableVersionTest.java
 Fri Sep 26 08:57:17 2008
@@ -21,7 +21,7 @@
 import javax.jcr.Node;
 
 import org.apache.sling.scripting.RepositoryScriptingTestBase;
-import org.apache.sling.scripting.ScriptEngineHelper;
+import org.apache.sling.scripting.javascript.internal.ScriptEngineHelper;
 
 /** Test access to Version and VersionHistory objects */
 public class ScriptableVersionTest extends RepositoryScriptingTestBase {


Reply via email to