Add eval and compile test

git-svn-id: https://svn.apache.org/repos/asf/jakarta/bsf/trunk@758484 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bsf3/bsf-api/src/test/java/org/apache/bsf/ScriptEngineManagerTest.java b/bsf3/bsf-api/src/test/java/org/apache/bsf/ScriptEngineManagerTest.java
index 515ca4f..c653aef 100644
--- a/bsf3/bsf-api/src/test/java/org/apache/bsf/ScriptEngineManagerTest.java
+++ b/bsf3/bsf-api/src/test/java/org/apache/bsf/ScriptEngineManagerTest.java
@@ -20,15 +20,18 @@
 
 import java.util.List;
 
+import javax.script.Compilable;
+import javax.script.CompiledScript;
 import javax.script.ScriptEngine;
 import javax.script.ScriptEngineManager;
+import javax.script.ScriptException;
 import javax.script.SimpleBindings;
 
+import junit.framework.TestCase;
+
 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;
 	
@@ -188,13 +191,32 @@
 	}
 
 	public void testSetBindings() {
-	    mgr.getBindings();
+	    assertNotNull(mgr.getBindings());
 		try {
             mgr.setBindings(null);
             fail("Expected IllegalArgumentException");
         } catch (IllegalArgumentException e) {
         }
-        mgr.setBindings(new SimpleBindings());
+        final SimpleBindings bindings = new SimpleBindings();
+        assertNotSame(bindings, mgr.getBindings());
+        mgr.setBindings(bindings);
+        assertSame(bindings, mgr.getBindings());
 	}
 
+	public void testEvalAndCompile() throws ScriptException{
+	    ScriptEngine se = mgr.getEngineByName("JUnit");
+	    assertNotNull(se);
+	    se.put("key", "value");
+	    assertEquals("value",se.eval("key"));
+	    if (se instanceof Compilable){
+	        Compilable co = (Compilable) se;
+	        CompiledScript cs = co.compile("key");
+	        assertNotNull(cs);
+	        assertEquals("value",cs.eval());
+            assertEquals("value",cs.eval());	        
+	    } else {
+	        fail("Expected engine to implement Compilable");
+	    }
+	}
+	
 }