Author: mrglavas
Date: Sat Feb 25 14:14:10 2006
New Revision: 381005

URL: http://svn.apache.org/viewcvs?rev=381005&view=rev
Log:
JIRA Bug #1141:
http://issues.apache.org/jira/browse/XERCESJ-1141

Adding an additional test for the "root-type-definition" property. Patch thanks 
to Peter McCracken.

Modified:
    xerces/java/trunk/tests/schema/config/BaseTest.java
    xerces/java/trunk/tests/schema/config/RootTypeDefinitionTest.java

Modified: xerces/java/trunk/tests/schema/config/BaseTest.java
URL: 
http://svn.apache.org/viewcvs/xerces/java/trunk/tests/schema/config/BaseTest.java?rev=381005&r1=381004&r2=381005&view=diff
==============================================================================
--- xerces/java/trunk/tests/schema/config/BaseTest.java (original)
+++ xerces/java/trunk/tests/schema/config/BaseTest.java Sat Feb 25 14:14:10 2006
@@ -77,6 +77,7 @@
     protected Document fDocument;
     protected ElementPSVI fRootNode;
     protected URL fDocumentURL;
+    protected URL fSchemaURL;
     
     protected abstract String getSchemaFile();
     
@@ -110,11 +111,11 @@
         .newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
         sf.setFeature(USE_GRAMMAR_POOL_ONLY, getUseGrammarPoolOnly());
         String schemaPath = packageDir + "/" + getSchemaFile();
-        URL schemaURL = ClassLoader.getSystemResource(schemaPath);
-        if (schemaURL == null) {
+        fSchemaURL = ClassLoader.getSystemResource(schemaPath);
+        if (fSchemaURL == null) {
             throw new FileNotFoundException("Couldn't find schema file for 
test: " + schemaPath);
         }
-        Schema schema = sf.newSchema(schemaURL);
+        Schema schema = sf.newSchema(fSchemaURL);
         fValidator = schema.newValidator();
         fValidator.setErrorHandler(fErrorHandler);
         fValidator.setFeature(DYNAMIC_VALIDATION, false);

Modified: xerces/java/trunk/tests/schema/config/RootTypeDefinitionTest.java
URL: 
http://svn.apache.org/viewcvs/xerces/java/trunk/tests/schema/config/RootTypeDefinitionTest.java?rev=381005&r1=381004&r2=381005&view=diff
==============================================================================
--- xerces/java/trunk/tests/schema/config/RootTypeDefinitionTest.java (original)
+++ xerces/java/trunk/tests/schema/config/RootTypeDefinitionTest.java Sat Feb 
25 14:14:10 2006
@@ -16,12 +16,17 @@
 
 package schema.config;
 
+import javax.xml.XMLConstants;
 import javax.xml.namespace.QName;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.validation.SchemaFactory;
 
 import junit.framework.Assert;
 
 import org.apache.xerces.dom.PSVIElementNSImpl;
 import org.apache.xerces.impl.xs.SchemaSymbols;
+import org.apache.xerces.xs.ElementPSVI;
 import org.apache.xerces.xs.ItemPSVI;
 import org.xml.sax.SAXException;
 
@@ -74,6 +79,27 @@
         }
         
         checkDefault();
+    }
+    
+    public void testUsingDocumentBuilderFactory() throws Exception {
+        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+        dbf.setAttribute(ROOT_TYPE, typeX);
+        
dbf.setAttribute(DOCUMENT_CLASS_NAME,"org.apache.xerces.dom.PSVIDocumentImpl");
+        dbf.setNamespaceAware(true);
+        dbf.setValidating(false);
+
+        SchemaFactory sf = 
SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
+        dbf.setSchema(sf.newSchema(fSchemaURL));
+
+        DocumentBuilder db = dbf.newDocumentBuilder();
+        fDocument = db.parse(fDocumentURL.toExternalForm());
+        fRootNode = (ElementPSVI) fDocument.getDocumentElement();
+        
+        assertValidity(ItemPSVI.VALIDITY_VALID, fRootNode.getValidity());
+        assertValidationAttempted(ItemPSVI.VALIDATION_FULL, fRootNode
+                .getValidationAttempted());
+        assertElementNull(fRootNode.getElementDeclaration());
+        assertTypeName("X", fRootNode.getTypeDefinition().getName());
     }
     
     public void testSettingNull() {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to