1 46 package org.codehaus.groovy.bsf; 47 48 import java.io.File ; 49 import java.util.List ; 50 51 import junit.framework.TestCase; 52 53 import org.apache.bsf.BSFManager; 54 import org.codehaus.groovy.runtime.DefaultGroovyMethods; 55 56 62 public class BSFTest extends TestCase { 63 64 protected BSFManager manager; 65 66 protected void setUp() throws Exception { 67 BSFManager.registerScriptingEngine("groovy", GroovyEngine.class.getName(), new String [] { "groovy", "gy" }); 69 70 manager = new BSFManager(); 71 } 72 73 public void testExec() throws Exception { 74 manager.exec( 75 "groovy", 76 "Test1.groovy", 77 0, 78 0, 79 "println('testing Exec'); assert bsf != null : 'should have a bsf variable'"); 80 } 81 82 public void testBracketName() throws Exception { 83 manager.exec( 84 "groovy", 85 "Test1<groovy>", 86 0, 87 0, 88 "println('testing Exec'); assert bsf != null : 'should have a bsf variable'"); 89 } 90 91 public void testEval() throws Exception { 92 Object answer = manager.eval("groovy", "Test1.groovy", 0, 0, "println('testing Eval')\n return [1, 2, 3]"); 93 94 assertTrue("Should return a list: " + answer, answer instanceof List ); 95 List list = (List ) answer; 96 assertEquals("List should be of right size", 3, list.size()); 97 98 System.out.println("The eval returned the value: " + list); 99 } 100 101 public void testTwoEvalsWithSameName() throws Exception { 102 Object answer = manager.eval("groovy", "Test1.groovy", 0, 0, "println('first line')\n return 'cheese'"); 103 assertEquals("cheese", answer); 104 105 answer = manager.eval("groovy", "Test1.groovy", 0, 0, "println('second line')\n return 'gromit'"); 106 assertEquals("gromit", answer); 107 } 108 109 public void testExecBug() throws Exception { 110 for (int i = 0; i < 10; i++) { 111 manager.exec("groovy", "Test1.groovy", 0, 0, "println('testing Exec')"); 112 113 manager.exec("groovy", "Test1.groovy", 0, 0, "println('testing Exec')"); 114 } 115 } 116 117 public void testBsfVariables() throws Exception { 118 Object answer = 119 manager.eval( 120 "groovy", 121 "Test1.groovy", 122 0, 123 0, 124 "println('testing variables')\n assert this.bsf != null\n return this.bsf"); 125 assertTrue("Should have an answer", answer != null); 126 } 127 128 public void testVariables() throws Exception { 129 manager.registerBean("x", new Integer (4)); 130 131 Object answer = 132 manager.eval( 133 "groovy", 134 "Test1.groovy", 135 0, 136 0, 137 "valueOfX = this.bsf.lookupBean('x'); assert valueOfX == 4; valueOfX + 1"); 138 assertEquals("Incorrect return", new Integer (5), answer); 139 } 140 141 public void testExecFile() throws Exception { 142 execScript("src/test/groovy/script/MapFromList.groovy"); 143 execScript("src/test/groovy/script/AtomTestScript.groovy"); 144 } 145 146 protected void execScript(String fileName) throws Exception { 147 System.out.println("Executing script: " + fileName); 148 manager.exec("groovy", fileName, 0, 0, DefaultGroovyMethods.getText(new File (fileName))); 149 } 150 } 151 | Popular Tags |