Author: mukulg Date: Thu Oct 31 06:36:10 2019 New Revision: 1869199 URL: http://svn.apache.org/viewvc?rev=1869199&view=rev Log: committing few xsd idc constraints test cases
Added: xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1.xsd xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_1.xml xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_2.xml xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_3.xml xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_valid_1.xml Modified: xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/IDConstraintTests.java Added: xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1.xsd URL: http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1.xsd?rev=1869199&view=auto ============================================================================== --- xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1.xsd (added) +++ xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1.xsd Thu Oct 31 06:36:10 2019 @@ -0,0 +1,62 @@ +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> + + <xs:element name="root"> + <xs:complexType> + <xs:sequence> + <xs:element name="nffg" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="nodes"> + <xs:complexType> + <xs:sequence> + <xs:element name="node" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="nodeName" type="xs:string"/> + </xs:sequence> + <xs:attribute name="functionalType" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="links"> + <xs:complexType> + <xs:sequence> + <xs:element name="link" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="sourceNode" type="xs:string"/> + <xs:element name="destNode" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="nffgName" type="xs:string" use="required"/> + <xs:attribute name="deployTime" type="xs:dateTime" use="required"/> + </xs:complexType> + <xs:key name="nodeName_key"> + <xs:selector xpath="nodes/node"/> + <xs:field xpath="nodeName"/> + </xs:key> + <xs:keyref name="srcNodeRef_key" refer="nodeName_key"> + <xs:selector xpath="links/link"/> + <xs:field xpath="sourceNode"/> + </xs:keyref> + <xs:keyref name="destNodeRef_key" refer="nodeName_key"> + <xs:selector xpath="links/link"/> + <xs:field xpath="destNode"/> + </xs:keyref> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:key name="nffgName_key"> + <xs:selector xpath="nffg"/> + <xs:field xpath="@nffgName"/> + </xs:key> + </xs:element> + +</xs:schema> \ No newline at end of file Added: xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_1.xml URL: http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_1.xml?rev=1869199&view=auto ============================================================================== --- xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_1.xml (added) +++ xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_1.xml Thu Oct 31 06:36:10 2019 @@ -0,0 +1,34 @@ +<root> + <nffg nffgName="nffg1" deployTime="1999-11-12T21:00:12"> + <nodes> + <node functionalType="func1"> + <nodeName>node1</nodeName> + </node> + <node functionalType="func2"> + <nodeName>node3</nodeName> + </node> + <node functionalType="func2"> + <nodeName>node4</nodeName> + </node> + </nodes> + <links> + <link> + <sourceNode>node1</sourceNode> + <destNode>node2</destNode> + </link> + </links> + </nffg> + <nffg nffgName="nffg1" deployTime="1999-11-12T22:00:12"> + <nodes> + <node functionalType="func2"> + <nodeName>node2</nodeName> + </node> + </nodes> + <links> + <link> + <sourceNode>node1</sourceNode> + <destNode>node2</destNode> + </link> + </links> + </nffg> +</root> \ No newline at end of file Added: xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_2.xml URL: http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_2.xml?rev=1869199&view=auto ============================================================================== --- xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_2.xml (added) +++ xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_2.xml Thu Oct 31 06:36:10 2019 @@ -0,0 +1,34 @@ +<root> + <nffg nffgName="nffg1" deployTime="1999-11-12T21:00:12"> + <nodes> + <node functionalType="func1"> + <nodeName>node1</nodeName> + </node> + <node functionalType="func2"> + <nodeName>node3</nodeName> + </node> + <node functionalType="func2"> + <nodeName>node1</nodeName> + </node> + </nodes> + <links> + <link> + <sourceNode>node1</sourceNode> + <destNode>node2</destNode> + </link> + </links> + </nffg> + <nffg nffgName="nffg2" deployTime="1999-11-12T22:00:12"> + <nodes> + <node functionalType="func2"> + <nodeName>node2</nodeName> + </node> + </nodes> + <links> + <link> + <sourceNode>node1</sourceNode> + <destNode>node2</destNode> + </link> + </links> + </nffg> +</root> \ No newline at end of file Added: xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_3.xml URL: http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_3.xml?rev=1869199&view=auto ============================================================================== --- xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_3.xml (added) +++ xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_invalid_3.xml Thu Oct 31 06:36:10 2019 @@ -0,0 +1,37 @@ +<root> + <nffg nffgName="nffg1" deployTime="1999-11-12T21:00:12"> + <nodes> + <node functionalType="func1"> + <nodeName>node1</nodeName> + </node> + <node functionalType="func2"> + <nodeName>node3</nodeName> + </node> + <node functionalType="func2"> + <nodeName>node1</nodeName> + </node> + </nodes> + <links> + <link> + <sourceNode>node1</sourceNode> + <destNode>node2</destNode> + </link> + </links> + </nffg> + <nffg nffgName="nffg2" deployTime="1999-11-12T22:00:12"> + <nodes> + <node functionalType="func2"> + <nodeName>node2</nodeName> + </node> + <node functionalType="func2"> + <nodeName>node2</nodeName> + </node> + </nodes> + <links> + <link> + <sourceNode>node1</sourceNode> + <destNode>node2</destNode> + </link> + </links> + </nffg> +</root> \ No newline at end of file Added: xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_valid_1.xml URL: http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_valid_1.xml?rev=1869199&view=auto ============================================================================== --- xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_valid_1.xml (added) +++ xerces/java/branches/xs-1.1-tests/data/idconstraints/idc_1_valid_1.xml Thu Oct 31 06:36:10 2019 @@ -0,0 +1,37 @@ +<root> + <nffg nffgName="nffg1" deployTime="1999-11-12T21:00:12"> + <nodes> + <node functionalType="func1"> + <nodeName>node1</nodeName> + </node> + <node functionalType="func2"> + <nodeName>node3</nodeName> + </node> + <node functionalType="func2"> + <nodeName>node4</nodeName> + </node> + </nodes> + <links> + <link> + <sourceNode>node1</sourceNode> + <destNode>node3</destNode> + </link> + </links> + </nffg> + <nffg nffgName="nffg2" deployTime="1999-11-12T22:00:12"> + <nodes> + <node functionalType="func2"> + <nodeName>node2</nodeName> + </node> + <node functionalType="func2"> + <nodeName>node3</nodeName> + </node> + </nodes> + <links> + <link> + <sourceNode>node3</sourceNode> + <destNode>node2</destNode> + </link> + </links> + </nffg> +</root> \ No newline at end of file Modified: xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/IDConstraintTests.java URL: http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/IDConstraintTests.java?rev=1869199&r1=1869198&r2=1869199&view=diff ============================================================================== --- xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/IDConstraintTests.java (original) +++ xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/IDConstraintTests.java Thu Oct 31 06:36:10 2019 @@ -22,6 +22,7 @@ import java.util.List; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.Schema; +import javax.xml.validation.SchemaFactory; import javax.xml.validation.Validator; /** @@ -332,6 +333,190 @@ public class IDConstraintTests extends X expectedMsgList.add(mesgFragments); assertTrue(areErrorMessagesConsistent(expectedMsgList)); } catch(Exception ex) { + ex.printStackTrace(); + assertTrue(false); + } + } + + public void testIDConstraint17() { + // run validation in XSD 1.0 mode + fSchemaFactory = SchemaFactory.newInstance(DEFAULT_SCHEMA_LANGUAGE); + String xmlfile = fDataDir+"/idconstraints/idc_1_valid_1.xml"; + String schemapath = fDataDir+"/idconstraints/idc_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); + + // run validation again with same input files, now in XSD 1.1 mode + tearDown(); + setUp(); + s = fSchemaFactory.newSchema(new StreamSource(schemapath)); + v = s.newValidator(); + v.setErrorHandler(this); + v.validate(new StreamSource(xmlfile)); + assertNull(fErrSysId); + assertNull(fFatErrSysId); + } catch(Exception ex) { + ex.printStackTrace(); + assertTrue(false); + } + } + + public void testIDConstraint18() { + // run validation in XSD 1.0 mode + fSchemaFactory = SchemaFactory.newInstance(DEFAULT_SCHEMA_LANGUAGE); + String xmlfile = fDataDir+"/idconstraints/idc_1_invalid_1.xml"; + String schemapath = fDataDir+"/idconstraints/idc_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() == 3); + // test expected error messages + List expectedMsgList = new ArrayList(); + FailureMesgFragments mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.3: Key 'destNodeRef_key' with value 'node2' not found for identity constraint of element 'nffg'"); + expectedMsgList.add(mesgFragments); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.2.2: Duplicate key value [nffg1] found for identity constraint \"nffgName_key\" of element \"root\""); + expectedMsgList.add(mesgFragments); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.3: Key 'srcNodeRef_key' with value 'node1' not found for identity constraint of element 'nffg'"); + expectedMsgList.add(mesgFragments); + assertTrue(areErrorMessagesConsistent(expectedMsgList)); + + // run validation again with same input files, now in XSD 1.1 mode + tearDown(); + setUp(); + s = fSchemaFactory.newSchema(new StreamSource(schemapath)); + v = s.newValidator(); + v.setErrorHandler(this); + v.validate(new StreamSource(xmlfile)); + assertTrue(failureList.size() == 3); + // test expected error messages + expectedMsgList = new ArrayList(); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.3: Key 'destNodeRef_key' with value 'node2' not found for identity constraint of element 'nffg'"); + expectedMsgList.add(mesgFragments); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.2.2: Duplicate key value [nffg1] found for identity constraint \"nffgName_key\" of element \"root\""); + expectedMsgList.add(mesgFragments); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.3: Key 'srcNodeRef_key' with value 'node1' not found for identity constraint of element 'nffg'"); + expectedMsgList.add(mesgFragments); + assertTrue(areErrorMessagesConsistent(expectedMsgList)); + } catch(Exception ex) { + ex.printStackTrace(); + assertTrue(false); + } + } + + public void testIDConstraint19() { + // run validation in XSD 1.0 mode + fSchemaFactory = SchemaFactory.newInstance(DEFAULT_SCHEMA_LANGUAGE); + String xmlfile = fDataDir+"/idconstraints/idc_1_invalid_2.xml"; + String schemapath = fDataDir+"/idconstraints/idc_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() == 3); + // test expected error messages + List expectedMsgList = new ArrayList(); + FailureMesgFragments mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.2.2: Duplicate key value [node1] found for identity constraint \"nodeName_key\" of element \"nffg\""); + expectedMsgList.add(mesgFragments); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.3: Key 'destNodeRef_key' with value 'node2' not found for identity constraint of element 'nffg'"); + expectedMsgList.add(mesgFragments); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.3: Key 'srcNodeRef_key' with value 'node1' not found for identity constraint of element 'nffg'"); + expectedMsgList.add(mesgFragments); + assertTrue(areErrorMessagesConsistent(expectedMsgList)); + + // run validation again with same input files, now in XSD 1.1 mode + tearDown(); + setUp(); + s = fSchemaFactory.newSchema(new StreamSource(schemapath)); + v = s.newValidator(); + v.setErrorHandler(this); + v.validate(new StreamSource(xmlfile)); + assertTrue(failureList.size() == 3); + // test expected error messages + expectedMsgList = new ArrayList(); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.2.2: Duplicate key value [node1] found for identity constraint \"nodeName_key\" of element \"nffg\""); + expectedMsgList.add(mesgFragments); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.3: Key 'destNodeRef_key' with value 'node2' not found for identity constraint of element 'nffg'"); + expectedMsgList.add(mesgFragments); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.3: Key 'srcNodeRef_key' with value 'node1' not found for identity constraint of element 'nffg'"); + expectedMsgList.add(mesgFragments); + assertTrue(areErrorMessagesConsistent(expectedMsgList)); + } catch(Exception ex) { + ex.printStackTrace(); + assertTrue(false); + } + } + + public void testIDConstraint20() { + // run validation in XSD 1.0 mode + fSchemaFactory = SchemaFactory.newInstance(DEFAULT_SCHEMA_LANGUAGE); + String xmlfile = fDataDir+"/idconstraints/idc_1_invalid_3.xml"; + String schemapath = fDataDir+"/idconstraints/idc_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() == 4); + // test expected error messages + List expectedMsgList = new ArrayList(); + FailureMesgFragments mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.2.2: Duplicate key value [node1] found for identity constraint \"nodeName_key\" of element \"nffg\""); + expectedMsgList.add(mesgFragments); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.3: Key 'destNodeRef_key' with value 'node2' not found for identity constraint of element 'nffg'"); + expectedMsgList.add(mesgFragments); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.2.2: Duplicate key value [node2] found for identity constraint \"nodeName_key\" of element \"nffg\""); + expectedMsgList.add(mesgFragments); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.3: Key 'srcNodeRef_key' with value 'node1' not found for identity constraint of element 'nffg'"); + expectedMsgList.add(mesgFragments); + assertTrue(areErrorMessagesConsistent(expectedMsgList)); + + // run validation again with same input files, now in XSD 1.1 mode + tearDown(); + setUp(); + s = fSchemaFactory.newSchema(new StreamSource(schemapath)); + v = s.newValidator(); + v.setErrorHandler(this); + v.validate(new StreamSource(xmlfile)); + assertTrue(failureList.size() == 4); + // test expected error messages + expectedMsgList = new ArrayList(); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.2.2: Duplicate key value [node1] found for identity constraint \"nodeName_key\" of element \"nffg\""); + expectedMsgList.add(mesgFragments); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.3: Key 'destNodeRef_key' with value 'node2' not found for identity constraint of element 'nffg'"); + expectedMsgList.add(mesgFragments); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.2.2: Duplicate key value [node2] found for identity constraint \"nodeName_key\" of element \"nffg\""); + expectedMsgList.add(mesgFragments); + mesgFragments = new FailureMesgFragments(); + mesgFragments.setMessageFragment("cvc-identity-constraint.4.3: Key 'srcNodeRef_key' with value 'node1' not found for identity constraint of element 'nffg'"); + expectedMsgList.add(mesgFragments); + assertTrue(areErrorMessagesConsistent(expectedMsgList)); + } catch(Exception ex) { ex.printStackTrace(); assertTrue(false); } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@xerces.apache.org For additional commands, e-mail: commits-h...@xerces.apache.org