1 4 package org.oddjob.values.types; 5 6 import java.io.ByteArrayInputStream ; 7 8 import junit.framework.TestCase; 9 10 import org.apache.commons.beanutils.DynaBean; 11 import org.apache.log4j.Logger; 12 import org.oddjob.Oddjob; 13 import org.oddjob.arooa.reflect.BeanUtilsHelper; 14 import org.oddjob.arooa.reflect.IntrospectionHelper; 15 16 19 public class SystemTypeTest extends TestCase { 20 private static final Logger logger = Logger.getLogger(SystemTypeTest.class); 21 22 public void test1() { 23 String xml= 24 "<oddjob><variables id='v'><system/></variables></oddjob>"; 25 26 Oddjob oj = new Oddjob(); 27 oj.setInput(new ByteArrayInputStream (xml.getBytes())); 28 oj.run(); 29 DynaBean b = (DynaBean) oj.lookup("v"); 30 String result = (String ) IntrospectionHelper.valueFor( 31 BeanUtilsHelper.getProperty(b, "java.version")); 32 logger.debug(result); 33 assertEquals(System.getProperty("java.version"), result); 34 } 35 36 public void test2() { 37 String xml= 38 "<oddjob><variables id='v'><system name='java.version'/></variables></oddjob>"; 39 40 Oddjob oj = new Oddjob(); 41 oj.setInput(new ByteArrayInputStream (xml.getBytes())); 42 oj.run(); 43 DynaBean b = (DynaBean) oj.lookup("v"); 44 Object p = BeanUtilsHelper.getProperty(b, "java.version"); 45 logger.debug(p); 46 String result = (String ) IntrospectionHelper.valueFor(p); 47 logger.debug(result); 48 assertEquals(System.getProperty("java.version"), result); 49 } 50 51 public void test3() { 52 String xml= 53 "<oddjob><variables id='v'><system name='fred.fruit' value='apple'/></variables></oddjob>"; 54 55 Oddjob oj = new Oddjob(); 56 oj.setInput(new ByteArrayInputStream (xml.getBytes())); 57 oj.run(); 58 logger.debug(System.getProperty("fred.fruit")); 59 assertEquals("apple", System.getProperty("fred.fruit")); 60 } 61 62 public void test4() { 63 String xml= 65 "<oddjob><variables id='v'><system value='apple' name='fred.fruit'/></variables></oddjob>"; 66 67 Oddjob oj = new Oddjob(); 68 oj.setInput(new ByteArrayInputStream (xml.getBytes())); 69 oj.run(); 70 logger.debug(System.getProperty("fred.fruit")); 71 assertEquals("apple", System.getProperty("fred.fruit")); 72 } 73 74 public void test5() { 75 String xml= 76 "<oddjob><variables id='v'>" + 77 "<system name='fred.fruit' value='apple'/>" + 78 "<system name='willma.fruit' value='${v.fred.fruit}s and pairs'/>" + 79 "</variables></oddjob>"; 80 81 Oddjob oj = new Oddjob(); 82 oj.setInput(new ByteArrayInputStream (xml.getBytes())); 83 oj.run(); 84 85 logger.debug(System.getProperty("willma.fruit")); 86 assertEquals("apples and pairs", System.getProperty("willma.fruit")); 87 } 88 } 89 | Popular Tags |