1 16 package org.apache.cocoon.forms.datatype.convertor; 17 18 import javax.xml.parsers.DocumentBuilder ; 19 import javax.xml.parsers.DocumentBuilderFactory ; 20 21 import junit.framework.TestCase; 22 23 import org.apache.cocoon.forms.FormsConstants; 24 import org.apache.excalibur.source.Source; 25 import org.apache.excalibur.source.impl.ResourceSource; 26 import org.w3c.dom.Document ; 27 import org.w3c.dom.Element ; 28 29 34 public class EnumConvertorBuilderTestCase extends TestCase { 35 36 protected DocumentBuilder parser; 37 38 41 protected void setUp() throws Exception { 42 super.setUp(); 43 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 44 factory.setNamespaceAware(true); 45 parser = factory.newDocumentBuilder(); 46 } 47 48 public EnumConvertorBuilderTestCase(String name) { 49 super(name); 50 } 51 52 57 public void testBuild() throws Exception { 58 Source confSource = new ResourceSource("resource://org/apache/cocoon/forms/datatype/convertor/EnumConvertorTestCase.conf.xml"); 59 Document sample = parser.parse(confSource.getInputStream()); 60 Element convertorElement = (Element ) sample.getElementsByTagNameNS(FormsConstants.DEFINITION_NS, "convertor").item(0); 61 String enumClassName = convertorElement.getElementsByTagNameNS(FormsConstants.DEFINITION_NS, "enum").item(0).getFirstChild().getNodeValue(); 62 EnumConvertorBuilder builder = new EnumConvertorBuilder(); 63 Convertor convertor = builder.build(convertorElement); 64 assertTrue("The returned convertor is not an EnumConvertor", 65 convertor instanceof EnumConvertor); 66 assertEquals("The convertor does not convert the expected class", 67 Class.forName(enumClassName), convertor.getTypeClass()); 68 } 69 } 70 | Popular Tags |