Author: sebb
Date: Sat Aug  1 04:02:55 2009
New Revision: 799798

URL: http://svn.apache.org/viewvc?rev=799798&view=rev
Log:
Add some scope tests

Modified:
    
commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/scripting/JexlScriptEngineTest.java

Modified: 
commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/scripting/JexlScriptEngineTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/scripting/JexlScriptEngineTest.java?rev=799798&r1=799797&r2=799798&view=diff
==============================================================================
--- 
commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/scripting/JexlScriptEngineTest.java
 (original)
+++ 
commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/scripting/JexlScriptEngineTest.java
 Sat Aug  1 04:02:55 2009
@@ -49,4 +49,38 @@
         assertEquals(newValue,engine.get("value"));
     }
 
+    public void testEngineNames() throws Exception {
+        ScriptEngine engine;
+        ScriptEngineManager manager = new ScriptEngineManager();
+        assertNotNull("Manager should not be null", manager);
+        engine = manager.getEngineByName("JEXL");
+        assertNotNull("Engine should not be null (JEXL)", engine);        
+        engine = manager.getEngineByName("Jexl");
+        assertNotNull("Engine should not be null (Jexl)", engine);        
+        engine = manager.getEngineByName("jexl");
+        assertNotNull("Engine should not be null (jexl)", engine);        
+    }
+
+    public void testScopes() throws Exception {
+        ScriptEngine engine;
+        ScriptEngineManager manager = new ScriptEngineManager();
+        assertNotNull("Manager should not be null", manager);
+        engine = manager.getEngineByName("JEXL");
+        assertNotNull("Engine should not be null (JEXL)", engine);
+        manager.put("global",Integer.valueOf(1));
+        engine.put("local", Integer.valueOf(10));
+        manager.put("both",Integer.valueOf(7));
+        engine.put("both", Integer.valueOf(7));
+        engine.eval("local=local+1");
+        engine.eval("global=global+1");
+        engine.eval("both=both+1"); // should update engine value only
+        engine.eval("newvar=42;");
+        assertEquals(Long.valueOf(2),manager.get("global"));
+        assertEquals(Long.valueOf(11),engine.get("local"));
+        assertEquals(Integer.valueOf(7),manager.get("both"));
+        assertEquals(Long.valueOf(8),engine.get("both"));
+        assertEquals(Integer.valueOf(42),engine.get("newvar"));
+        assertNull(manager.get("newvar"));
+        // TODO how to delete variables in Jexl?
+    }
 }


Reply via email to