Changeset 28348
- Timestamp:
- 12/25/07 12:33:35 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
org.nuxeo.runtime/trunk/nuxeo-runtime-scripting/src/test/java/org/nuxeo/runtime/scripting/TestEngines.java
r24983 r28348 20 20 package org.nuxeo.runtime.scripting; 21 21 22 import junit.framework.TestCase; 23 22 24 import javax.script.ScriptEngine; 23 25 import javax.script.ScriptEngineManager; … … 28 30 * 29 31 */ 30 public class Hello{32 public class TestEngines extends TestCase { 31 33 32 public static void main(String[] args) { 33 34 Hello hello = new Hello(); 35 36 try { 37 hello.testJRuby(); 38 hello.testJEXL(); 39 hello.testJS(); 40 hello.testBSH(); 41 hello.testGroovy(); 42 hello.testJython(); 43 } catch (ScriptException e) { 44 e.printStackTrace(); 45 } 46 47 } 34 private ScriptEngineManager factory = new ScriptEngineManager(); 48 35 49 36 public void testJRuby() throws ScriptException { 50 ScriptEngineManager factory = new ScriptEngineManager();51 52 37 // Create a JRuby engine. 53 38 ScriptEngine engine = factory.getEngineByName("jruby"); 54 39 55 40 // Evaluate JRuby code from string. 56 engine.eval("puts('Hello from Ruby')"); 41 assertEquals("Hello", engine.eval("'Hello'")); 42 assertEquals(Long.valueOf(3), engine.eval("1 + 2")); 57 43 44 // Doesn't work. 45 //engine.eval("x = 1"); 46 //assertEquals(Integer.valueOf(1), engine.eval("x")); 47 //assertEquals(Integer.valueOf(1), engine.get("x")); 58 48 } 59 49 60 50 public void testJS() throws ScriptException { 61 ScriptEngineManager factory = new ScriptEngineManager();62 63 51 // Create a JS engine. 64 52 ScriptEngine engine = factory.getEngineByName("js"); 65 53 66 54 // Evaluate JS code from string. 67 engine.eval("print('Hello From JavaScript')"); 55 assertEquals("Hello", engine.eval("'Hello'")); 56 assertEquals(Integer.valueOf(3), engine.eval("1 + 2")); 57 engine.eval("var x = 1 + 2;"); 58 assertEquals(Integer.valueOf(3), engine.eval("x")); 59 assertEquals(Integer.valueOf(3), engine.get("x")); 68 60 } 69 61 70 62 public void testJython() throws ScriptException { 71 ScriptEngineManager factory = new ScriptEngineManager();72 73 63 // Create a Python engine. 74 64 ScriptEngine engine = factory.getEngineByName("jython"); 75 65 76 66 // Evaluate Jython code from string. 77 engine.eval("print \"Hello From Python\""); 67 // This doesn't work for Jython 68 //assertEquals("Hello", engine.eval("'Hello'")); 69 engine.eval("s = 'Hello'"); 70 assertEquals("Hello", engine.get("s")); 71 engine.eval("x = 1 + 2"); 72 assertEquals(Integer.valueOf(3), engine.get("x")); 78 73 } 79 74 80 75 public void testJEXL() throws ScriptException { 81 ScriptEngineManager factory = new ScriptEngineManager();82 83 76 // Create a JEXL engine. 84 77 ScriptEngine engine = factory.getEngineByName("jexl"); 85 78 86 // Evaluate JRuby code from string. 87 System.out.println(engine.eval("\"Hello from JEXL\"")); 79 // Evaluate JEXL code from string. 80 assertEquals("Hello", engine.eval("\"Hello\"")); 81 assertEquals(Integer.valueOf(3), engine.eval("3")); 88 82 } 89 83 90 84 public void testGroovy() throws ScriptException { 91 ScriptEngineManager factory = new ScriptEngineManager(); 92 93 // Create a JEXL engine. 85 // Create a Groovy engine. 94 86 ScriptEngine engine = factory.getEngineByName("groovy"); 95 87 96 // Evaluate JRuby code from string. 97 System.out.println(engine.eval("println \"Hello from Groovy\"")); 88 // Evaluate Groovy code from string. 89 assertEquals("Hello", engine.eval("\"Hello\"")); 90 assertEquals(Integer.valueOf(3), engine.eval("1 + 2")); 91 engine.eval("s = \"Hello\""); 92 assertEquals("Hello", engine.get("s")); 93 engine.eval("x = 1 + 2"); 94 assertEquals(Integer.valueOf(3), engine.get("x")); 98 95 } 99 96 100 public void testBSH() throws ScriptException { 101 ScriptEngineManager factory = new ScriptEngineManager(); 102 103 // Create a JEXL engine. 97 // BSH broken seemingly 98 public void xxxtestBSH() throws ScriptException { 99 // Create a BSH engine. 104 100 ScriptEngine engine = factory.getEngineByName("bsh"); 105 101 106 // Evaluate JRubycode from string.107 System.out.println(engine.eval("print(\"Hello from BSH\")"));102 // Evaluate BSH code from string. 103 assertEquals("Hello", engine.eval("\"Hello\"")); 108 104 } 109 105
