1 34 package org.codehaus.groovy.bsf; 35 36 import java.util.List ; 37 38 import junit.framework.TestCase; 39 40 import org.apache.bsf.BSFManager; 41 42 48 public class CacheBSFTest extends TestCase { 49 50 protected BSFManager manager; 51 52 protected void setUp() throws Exception { 53 BSFManager.registerScriptingEngine( 55 "groovy", 56 CachingGroovyEngine.class.getName(), 57 new String [] { "groovy", "gy" }); 58 59 manager = new BSFManager(); 60 } 61 62 public void testExec() throws Exception { 63 manager.exec("groovy", "Test1.groovy", 0, 0, "println('testing Exec')"); 64 manager.exec("groovy", "Test1.groovy", 0, 0, "println('testing Exec')"); 67 } 68 69 public void testEval() throws Exception { 70 Object answer = manager.eval("groovy", "Test1.groovy", 0, 0, "println('testing Eval')\n return [1, 2, 3]"); 71 answer = manager.eval("groovy", "Test.groovy", 0, 0, "println('testing Eval')\n return [1, 2, 3]"); 74 75 assertTrue("Should return a list: " + answer, answer instanceof List ); 76 List list = (List ) answer; 77 assertEquals("List should be of right size", 3, list.size()); 78 79 System.out.println("The eval returned the value: " + list); 80 } 81 82 public void testBsfVariables() throws Exception { 83 Object answer = 84 manager.eval( 85 "groovy", 86 "Test1.groovy", 87 0, 88 0, 89 "println('testing variables')\n assert this.bsf != null\n return this.bsf"); 90 assertTrue("Should have an answer", answer != null); 91 } 92 93 public void testVariables() throws Exception { 94 manager.registerBean("x", new Integer (4)); 95 96 Object answer = 97 manager.eval( 98 "groovy", 99 "Test1.groovy", 100 0, 101 0, 102 "valueOfX = this.bsf.lookupBean('x'); assert valueOfX == 4; valueOfX + 1"); 103 answer = 106 manager.eval( 107 "groovy", 108 "Test2.groovy", 109 0, 110 0, 111 "valueOfX = this.bsf.lookupBean('x'); assert valueOfX == 4; valueOfX + 1"); 112 assertEquals("Incorrect return", new Integer (5), answer); 113 } 114 115 public void testDeclaredVariables() throws Exception { 116 manager.declareBean("foo", new Integer (5), Integer .class); 117 118 Object answer = manager.eval("groovy", "Test1.groovy", 0, 0, "valueOfFoo = foo; return valueOfFoo"); 119 120 assertEquals(new Integer (5), answer); 121 122 manager.declareBean("foo", new Integer (6), Integer .class); 123 124 answer = manager.eval("groovy", "Test2.groovy", 0, 0, "valueOfFoo = foo; return valueOfFoo"); 125 assertEquals(new Integer (6), answer); 126 } 127 } 128 | Popular Tags |