Author: mukulg
Date: Fri Sep 20 05:18:57 2019
New Revision: 1867201

URL: http://svn.apache.org/viewvc?rev=1867201&view=rev
Log:
adding few xsd 1.1 test cases, containing <xs:assert> within <xs:redefine>

Added:
    xerces/java/branches/xs-1.1-tests/data/redefine/main_1.xml
    xerces/java/branches/xs-1.1-tests/data/redefine/main_1.xsd
    xerces/java/branches/xs-1.1-tests/data/redefine/main_2.xml
    xerces/java/branches/xs-1.1-tests/data/redefine/main_2.xsd
    xerces/java/branches/xs-1.1-tests/data/redefine/redefined_1.xsd
Modified:
    
xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/RedefineTests.java

Added: xerces/java/branches/xs-1.1-tests/data/redefine/main_1.xml
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/data/redefine/main_1.xml?rev=1867201&view=auto
==============================================================================
--- xerces/java/branches/xs-1.1-tests/data/redefine/main_1.xml (added)
+++ xerces/java/branches/xs-1.1-tests/data/redefine/main_1.xml Fri Sep 20 
05:18:57 2019
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<x xmlns="http://test1/";>
+  <y>102</y>
+</x>
\ No newline at end of file

Added: xerces/java/branches/xs-1.1-tests/data/redefine/main_1.xsd
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/data/redefine/main_1.xsd?rev=1867201&view=auto
==============================================================================
--- xerces/java/branches/xs-1.1-tests/data/redefine/main_1.xsd (added)
+++ xerces/java/branches/xs-1.1-tests/data/redefine/main_1.xsd Fri Sep 20 
05:18:57 2019
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:ns0="http://test1/"; 
+           elementFormDefault="qualified" targetNamespace="http://test1/";>
+   
+   <xs:redefine schemaLocation="redefined_1.xsd">
+      <xs:complexType name="T1">
+         <xs:complexContent>
+            <xs:restriction base="ns0:T1">
+               <xs:sequence>
+                <xs:element name="y" type="xs:integer"/>
+               </xs:sequence>
+               <xs:assert test="ns0:y mod 2 = 0"/>
+            </xs:restriction>
+         </xs:complexContent>
+      </xs:complexType>
+   </xs:redefine>
+   
+   <xs:element name="x" type="ns0:T1"/>
+   
+</xs:schema>   
\ No newline at end of file

Added: xerces/java/branches/xs-1.1-tests/data/redefine/main_2.xml
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/data/redefine/main_2.xml?rev=1867201&view=auto
==============================================================================
--- xerces/java/branches/xs-1.1-tests/data/redefine/main_2.xml (added)
+++ xerces/java/branches/xs-1.1-tests/data/redefine/main_2.xml Fri Sep 20 
05:18:57 2019
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<x xmlns="http://test1/";>
+  <y>103</y>
+</x>
\ No newline at end of file

Added: xerces/java/branches/xs-1.1-tests/data/redefine/main_2.xsd
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/data/redefine/main_2.xsd?rev=1867201&view=auto
==============================================================================
--- xerces/java/branches/xs-1.1-tests/data/redefine/main_2.xsd (added)
+++ xerces/java/branches/xs-1.1-tests/data/redefine/main_2.xsd Fri Sep 20 
05:18:57 2019
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:ns0="http://test1/"; 
+           elementFormDefault="qualified" targetNamespace="http://test1/";>
+   
+   <xs:redefine schemaLocation="redefined_1.xsd">
+      <xs:complexType name="T1">
+         <xs:complexContent>
+            <xs:restriction base="ns0:T1">
+               <xs:sequence>
+                <xs:element name="y" type="xs:integer"/>
+               </xs:sequence>
+               <xs:assert test="y mod 2 = 0" 
xpathDefaultNamespace="##targetNamespace"/>
+            </xs:restriction>
+         </xs:complexContent>
+      </xs:complexType>
+   </xs:redefine>
+   
+   <xs:element name="x" type="ns0:T1"/>
+   
+</xs:schema>   
\ No newline at end of file

Added: xerces/java/branches/xs-1.1-tests/data/redefine/redefined_1.xsd
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/data/redefine/redefined_1.xsd?rev=1867201&view=auto
==============================================================================
--- xerces/java/branches/xs-1.1-tests/data/redefine/redefined_1.xsd (added)
+++ xerces/java/branches/xs-1.1-tests/data/redefine/redefined_1.xsd Fri Sep 20 
05:18:57 2019
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
+           elementFormDefault="qualified" targetNamespace="http://test1/";>
+   
+   <xs:complexType name="T1">
+      <xs:sequence>
+         <xs:element name="y" type="xs:integer"/>
+      </xs:sequence>
+   </xs:complexType>
+   
+</xs:schema>   
\ No newline at end of file

Modified: 
xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/RedefineTests.java
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/RedefineTests.java?rev=1867201&r1=1867200&r2=1867201&view=diff
==============================================================================
--- 
xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/RedefineTests.java
 (original)
+++ 
xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/RedefineTests.java
 Fri Sep 20 05:18:57 2019
@@ -75,5 +75,79 @@ public class RedefineTests extends Xerce
                   assertTrue(false);
                }
        }
+       
+       public void testXSRedefine3() {
+               String xmlfile = fDataDir+"/redefine/main_1.xml";
+               String schemapath = fDataDir+"/redefine/main_1.xsd";            
+               try {
+                   Schema s = fSchemaFactory.newSchema(new 
StreamSource(schemapath));
+            Validator v = s.newValidator();
+                   v.setErrorHandler(this);
+            v.validate(new StreamSource(xmlfile));
+            assertNull(fErrSysId);
+            assertNull(fFatErrSysId);
+               } catch(Exception ex) {
+                  ex.printStackTrace();
+                  assertTrue(false);
+               }
+       }
+       
+       public void testXSRedefine4() {
+               String xmlfile = fDataDir+"/redefine/main_2.xml";
+               String schemapath = fDataDir+"/redefine/main_1.xsd";            
+               try {
+                   Schema s = fSchemaFactory.newSchema(new 
StreamSource(schemapath));
+            Validator v = s.newValidator();
+                   v.setErrorHandler(this);
+            v.validate(new StreamSource(xmlfile));
+            assertTrue(failureList.size() == 1);
+            // test expected error messages
+            List expectedMsgList = new ArrayList();
+            FailureMesgFragments mesgFragments = new FailureMesgFragments();
+            mesgFragments.setMessageFragment("cvc-assertion: Assertion 
evaluation ('ns0:y mod 2 = 0') for element 'x' on schema type 'T1' did not 
succeed");
+            expectedMsgList.add(mesgFragments);           
+            assertTrue(areErrorMessagesConsistent(expectedMsgList));
+               } catch(Exception ex) {
+                  ex.printStackTrace();
+                  assertTrue(false);
+               }
+       }
+       
+       public void testXSRedefine5() {
+               String xmlfile = fDataDir+"/redefine/main_1.xml";
+               String schemapath = fDataDir+"/redefine/main_2.xsd";            
+               try {
+                   Schema s = fSchemaFactory.newSchema(new 
StreamSource(schemapath));
+            Validator v = s.newValidator();
+                   v.setErrorHandler(this);
+            v.validate(new StreamSource(xmlfile));
+            assertNull(fErrSysId);
+            assertNull(fFatErrSysId);
+               } catch(Exception ex) {
+                  ex.printStackTrace();
+                  assertTrue(false);
+               }
+       }
+       
+       public void testXSRedefine6() {
+               String xmlfile = fDataDir+"/redefine/main_2.xml";
+               String schemapath = fDataDir+"/redefine/main_2.xsd";            
+               try {
+                   Schema s = fSchemaFactory.newSchema(new 
StreamSource(schemapath));
+            Validator v = s.newValidator();
+                   v.setErrorHandler(this);
+            v.validate(new StreamSource(xmlfile));
+            assertTrue(failureList.size() == 1);
+            // test expected error messages
+            List expectedMsgList = new ArrayList();
+            FailureMesgFragments mesgFragments = new FailureMesgFragments();
+            mesgFragments.setMessageFragment("cvc-assertion: Assertion 
evaluation ('y mod 2 = 0') for element 'x' on schema type 'T1' did not 
succeed");
+            expectedMsgList.add(mesgFragments);           
+            assertTrue(areErrorMessagesConsistent(expectedMsgList));
+               } catch(Exception ex) {
+                  ex.printStackTrace();
+                  assertTrue(false);
+               }
+       }
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to