[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xmlbeans-dev
Subject:    Programatic Validation Error Retrieval Regression tests
From:       Dutta Satadip <s-dutta () sbcglobal ! net>
Date:       2004-03-29 6:16:23
Message-ID: 20040329061623.6042.qmail () web80403 ! mail ! yahoo ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hello,
The test cases for the "programatic retrieval of validation error"  enhancement are attached.
 
With Regards
Dutta:)
 

[Attachment #5 (text/html)]

<DIV>Hello,</DIV>
<DIV>The test cases for the "programatic retrieval of validation error"&nbsp; \
enhancement&nbsp;are attached.</DIV> <DIV>&nbsp;</DIV>
<DIV>With Regards</DIV>
<DIV>Dutta:)</DIV>
<DIV>&nbsp;</DIV>
--0-1551678813-1080540983=:5704--


["ValidatorTests.java" (text/java)]

/*   Copyright 2004 The Apache Software Foundation
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *  limitations under the License.
 */

package drtcases;

import javax.xml.namespace.QName;
import org.apache.xmlbeans.impl.store.Root;
import org.apache.xmlbeans.SchemaType;
import org.apache.xmlbeans.SchemaTypeLoader;
import org.apache.xmlbeans.XmlCursor;
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlBeans;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlOptions;
import org.apache.xmlbeans.XmlValidationError;
import org.apache.xmlbeans.XmlError;
import org.apache.xmlbeans.XMLStreamValidationException;
import org.apache.xmlbeans.XmlDecimal;
import org.apache.xmlbeans.impl.values.XmlValueOutOfRangeException;
import org.openuri.testNumerals.DocDocument;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;

import junit.framework.Assert;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.apache.xmlbeans.xml.stream.XMLInputStream;
import javax.xml.namespace.QName;

public class ValidatorTests extends TestCase
{
    public ValidatorTests(String name) { super(name); }
    public static Test suite() { return new TestSuite(ValidatorTests.class); }

    static String[] _args;
    static String _test;

    public static File getCaseFile(String theCase)
    {
        return TestEnv.xbeanCase("store/" + theCase);
    }

    static XmlCursor loadCase(String theCase) throws Exception
    {
        return
            XmlObject.Factory.parse(
                getCaseFile( theCase ) ).newCursor();
    }

    public SchemaTypeLoader makeSchemaTypeLoader ( String[] schemas )
        throws Exception
    {
        XmlObject[] schemaDocs = new XmlObject [ schemas.length ];

        for ( int i = 0 ; i < schemas.length ; i++ )
        {
            schemaDocs[ i ] =
                XmlObject.Factory.parse(
                    schemas[ i ] );
        }

        return XmlBeans.loadXsd( schemaDocs );
    }

    public SchemaTypeLoader makeSchemaTypeLoader ( File[] schemas )
        throws Exception
    {
        XmlObject[] schemaDocs = new XmlObject [ schemas.length ];

        for ( int i = 0 ; i < schemas.length ; i++ )
        {
            schemaDocs[ i ] =
                XmlObject.Factory.parse(
                    schemas[ i ], new \
XmlOptions().setLoadLineNumbers().setLoadMessageDigest() );  }

        return XmlBeans.loadXsd( schemaDocs );
    }



    public List performValidation(
      String[] schemas, QName docType,
      String instances, boolean startOnDocument)
                            throws Exception
    {
      SchemaTypeLoader stl = makeSchemaTypeLoader( schemas );

      XmlOptions options = new XmlOptions();

      if (docType != null)
      {
          SchemaType docSchema = stl.findDocumentType( docType );

          Assert.assertTrue( docSchema != null );

          options.setDocumentType( docSchema );
      }

      XmlObject x =
          stl.parse( (String) instances, null, options );

      if (!startOnDocument)
      {
          XmlCursor c = x.newCursor();
          c.toFirstChild();
          x = c.getObject();
          c.dispose();
      }

      List xel = new ArrayList();
      options.setErrorListener(xel);

      x.validate( options );

      return xel;

    }



    public void testValidationElementError()
    {
      String bobSchema =
          "<xs:schema\n" +
          "   xmlns:xs='http://www.w3.org/2001/XMLSchema'\n" +
          "   xmlns:bob='http://openuri.org/bobschema'\n" +
          "   targetNamespace='http://openuri.org/bobschema'\n" +
          "   elementFormDefault='qualified'>\n" +
          "\n" +
          "  <xs:complexType name='biff'>\n" +
          "   <xs:complexContent>\n" +
          "    <xs:extension base='bob:foo'>\n" +
          "     <xs:sequence>\n" +
          "       <xs:element name='a' minOccurs='0' maxOccurs='unbounded'/>\n" +
          "     </xs:sequence>\n" +
          "    </xs:extension>\n" +
          "   </xs:complexContent>\n" +
          "  </xs:complexType>\n" +
          "" +
          "  <xs:complexType name='foo'>\n" +
          "  </xs:complexType>\n" +
          "" +
          "  <xs:element name='foo' type='bob:foo'>\n" +
          "  </xs:element>\n" +
          "" +
          "</xs:schema>\n";



      String invalid =
          "<bob:foo xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' \
xmlns:bob='http://openuri.org/bobschema' " +  \
"xsi:type='bob:biff'><bob:q/></bob:foo>";


      String[] schemas = { bobSchema };


      List errors = null;
      try {
        errors = performValidation(schemas, null, invalid, true);
        Assert.assertTrue( errors != null );

        for (Iterator it = errors.iterator(); it.hasNext();)
        {
          XmlValidationError xmlValError = (XmlValidationError) it.next();
          Assert.assertEquals(xmlValError.getErrorType(),1);
          Assert.assertEquals(xmlValError.getBadSchemaType().getName().getLocalPart(),"biff");
                
          Assert.assertEquals(xmlValError.getOffendingQName().getLocalPart(),"q");
          Assert.assertEquals(xmlValError.getMessage(),"Expected element \
a@http://openuri.org/bobschema instead of q@http://openuri.org/bobschema here in \
element foo@http://openuri.org/bobschema");  }

      }
      catch (Exception ex) {
      }


    }


    public void testValidationAttributeError()
    {

      StringBuffer empSchema = new StringBuffer();

          empSchema.append("<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'   \
elementFormDefault='qualified'>\n" );  empSchema.append("<xs:element name='age'>\n" \
);  empSchema.append("<xs:simpleType>\n" );
          empSchema.append("<xs:restriction base='xs:integer'>\n" );
          empSchema.append("<xs:minInclusive value='0'/>\n" );
          empSchema.append("<xs:maxInclusive value='100'/>\n" );
          empSchema.append("</xs:restriction>\n" );
          empSchema.append("</xs:simpleType>\n" );
          empSchema.append("</xs:element>\n" );
          empSchema.append("<xs:element name='empRecords'>\n" );
          empSchema.append("<xs:complexType>\n" );
          empSchema.append("<xs:sequence>\n" );
          empSchema.append("<xs:element name='person' type='personType' \
maxOccurs='unbounded'/>\n" );  empSchema.append("</xs:sequence>\n" );
          empSchema.append("</xs:complexType>\n" );
          empSchema.append("</xs:element>\n" );
          empSchema.append("<xs:element name='name' type='xs:string'/>\n" );
          empSchema.append("<xs:complexType name='personType'>\n" );
          empSchema.append("<xs:sequence>\n" );
          empSchema.append("<xs:element ref='name'/>\n" );
          empSchema.append("<xs:element ref='age'/>\n" );
          empSchema.append("</xs:sequence>\n" );
          empSchema.append("<xs:attribute name='employee' use='required'>\n" );
          empSchema.append("<xs:simpleType>\n" );
          empSchema.append("<xs:restriction base='xs:NMTOKEN'>\n" );
          empSchema.append("<xs:enumeration value='current'/>\n" );
          empSchema.append("<xs:enumeration value='past'/>\n" );
          empSchema.append("</xs:restriction>\n" );
          empSchema.append("</xs:simpleType>\n" );
          empSchema.append("</xs:attribute>\n" );
          empSchema.append("</xs:complexType>\n" );
          empSchema.append("</xs:schema>\n" );


      StringBuffer xmlInstance  = new StringBuffer();
      xmlInstance.append("<empRecords \
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' >");  \
xmlInstance.append("<person employee='past'>");  xmlInstance.append("<name>joe \
blow</name>");  xmlInstance.append("<age>31</age>");
      xmlInstance.append("</person>");
      xmlInstance.append("<person>");
      xmlInstance.append("<name>test user</name>");
      xmlInstance.append("<age>29</age>");
      xmlInstance.append("</person>");
      xmlInstance.append("</empRecords>");



      String[] schemas = { empSchema.toString() };


      List errors = null;
      try {
        errors = performValidation(schemas, null, xmlInstance.toString(), true);
        Assert.assertTrue( errors != null );

        for (Iterator it = errors.iterator(); it.hasNext();)
        {
          XmlValidationError xmlValError = (XmlValidationError) it.next();
          Assert.assertEquals(xmlValError.getErrorType(),1000);
          Assert.assertEquals(xmlValError.getBadSchemaType().getName().getLocalPart(),"personType");
                
          Assert.assertEquals(xmlValError.getOffendingQName().getLocalPart(),"employee");
                
          Assert.assertEquals(xmlValError.getMessage(),"Expected attribute: employee \
in element person");  }

      }
      catch (Exception ex) {
      }


    }

    public void testValidationIncorrectElementError()
    {

      StringBuffer empSchema = new StringBuffer();

          empSchema.append("<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'   \
elementFormDefault='qualified'>\n" );  empSchema.append("<xs:element name='age'>\n" \
);  empSchema.append("<xs:simpleType>\n" );
          empSchema.append("<xs:restriction base='xs:integer'>\n" );
          empSchema.append("<xs:minInclusive value='0'/>\n" );
          empSchema.append("<xs:maxInclusive value='100'/>\n" );
          empSchema.append("</xs:restriction>\n" );
          empSchema.append("</xs:simpleType>\n" );
          empSchema.append("</xs:element>\n" );
          empSchema.append("<xs:element name='empRecords'>\n" );
          empSchema.append("<xs:complexType>\n" );
          empSchema.append("<xs:sequence>\n" );
          empSchema.append("<xs:element name='person' type='personType' \
maxOccurs='unbounded'/>\n" );  empSchema.append("</xs:sequence>\n" );
          empSchema.append("</xs:complexType>\n" );
          empSchema.append("</xs:element>\n" );
          empSchema.append("<xs:element name='name' type='xs:string'/>\n" );
          empSchema.append("<xs:complexType name='personType'>\n" );
          empSchema.append("<xs:sequence>\n" );
          empSchema.append("<xs:element ref='name'/>\n" );
          empSchema.append("<xs:element ref='age'/>\n" );
          empSchema.append("</xs:sequence>\n" );
          empSchema.append("<xs:attribute name='employee' use='required'>\n" );
          empSchema.append("<xs:simpleType>\n" );
          empSchema.append("<xs:restriction base='xs:NMTOKEN'>\n" );
          empSchema.append("<xs:enumeration value='current'/>\n" );
          empSchema.append("<xs:enumeration value='past'/>\n" );
          empSchema.append("</xs:restriction>\n" );
          empSchema.append("</xs:simpleType>\n" );
          empSchema.append("</xs:attribute>\n" );
          empSchema.append("</xs:complexType>\n" );
          empSchema.append("</xs:schema>\n" );


      StringBuffer xmlInstance  = new StringBuffer();
      xmlInstance.append("<empRecords \
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' >");  \
xmlInstance.append("<person employee='past'>");  //xmlInstance.append("<name>joe \
blow</name>");  xmlInstance.append("<age>31</age>");
      xmlInstance.append("</person>");
      xmlInstance.append("<person employee='current'>");
      xmlInstance.append("<name>test user</name>");
      xmlInstance.append("<age>29</age>");
      xmlInstance.append("</person>");
      xmlInstance.append("</empRecords>");



      String[] schemas = { empSchema.toString() };


      List errors = null;
      try {
        errors = performValidation(schemas, null, xmlInstance.toString(), true);
        Assert.assertTrue(errors != null);

        for (Iterator it = errors.iterator(); it.hasNext(); ) {
          XmlValidationError xmlValError = (XmlValidationError) it.next();
          Assert.assertEquals(xmlValError.getErrorType(), 1);
          Assert.assertEquals(xmlValError.getBadSchemaType().getName().
                              getLocalPart(), "personType");
          Assert.assertEquals(xmlValError.getOffendingQName().getLocalPart(),
                              "age");
          Assert.assertEquals(xmlValError.getMessage(),
              "Expected element name instead of age here in element person");

        }
      }
      catch (Exception ex) {
      }


    }

    public void testValidationElementNotAllowedError()
    {

      StringBuffer empSchema = new StringBuffer();

          empSchema.append("<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'   \
elementFormDefault='qualified'>\n" );  empSchema.append("<xs:element name='age'>\n" \
);  empSchema.append("<xs:simpleType>\n" );
          empSchema.append("<xs:restriction base='xs:integer'>\n" );
          empSchema.append("<xs:minInclusive value='0'/>\n" );
          empSchema.append("<xs:maxInclusive value='100'/>\n" );
          empSchema.append("</xs:restriction>\n" );
          empSchema.append("</xs:simpleType>\n" );
          empSchema.append("</xs:element>\n" );
          empSchema.append("<xs:element name='empRecords'>\n" );
          empSchema.append("<xs:complexType>\n" );
          empSchema.append("<xs:sequence>\n" );
          empSchema.append("<xs:element name='person' type='personType' \
maxOccurs='unbounded'/>\n" );  empSchema.append("</xs:sequence>\n" );
          empSchema.append("</xs:complexType>\n" );
          empSchema.append("</xs:element>\n" );
          empSchema.append("<xs:element name='name' type='xs:string'/>\n" );
          empSchema.append("<xs:complexType name='personType'>\n" );
          empSchema.append("<xs:sequence>\n" );
          empSchema.append("<xs:element ref='name'/>\n" );
          empSchema.append("<xs:element ref='age'/>\n" );
          empSchema.append("</xs:sequence>\n" );
          empSchema.append("<xs:attribute name='employee' use='required'>\n" );
          empSchema.append("<xs:simpleType>\n" );
          empSchema.append("<xs:restriction base='xs:NMTOKEN'>\n" );
          empSchema.append("<xs:enumeration value='current'/>\n" );
          empSchema.append("<xs:enumeration value='past'/>\n" );
          empSchema.append("</xs:restriction>\n" );
          empSchema.append("</xs:simpleType>\n" );
          empSchema.append("</xs:attribute>\n" );
          empSchema.append("</xs:complexType>\n" );
          empSchema.append("</xs:schema>\n" );


      StringBuffer xmlInstance  = new StringBuffer();
      xmlInstance.append("<empRecords \
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' >");  \
xmlInstance.append("<person employee='past'>");  xmlInstance.append("<name>joe \
blow</name>");  xmlInstance.append("<age>31</age>");
      xmlInstance.append("</person>");
      xmlInstance.append("<person employee='current'>");
      xmlInstance.append("<name>test user</name>");
      xmlInstance.append("<age>29</age>");
      //xmlInstance.append("</person>");
      xmlInstance.append("</empRecords>");



      String[] schemas = { empSchema.toString() };


      List errors = null;
      try {
        errors = performValidation(schemas, null, xmlInstance.toString(), true);
        Assert.assertTrue(errors != null);

        for (Iterator it = errors.iterator(); it.hasNext(); ) {
          XmlValidationError xmlValError = (XmlValidationError) it.next();

          Assert.assertEquals(xmlValError.getErrorType(), 2);
          Assert.assertEquals(xmlValError.getBadSchemaType().getName().
                              getLocalPart(), "personType");
          Assert.assertEquals(xmlValError.getMessage(), "Expected element(s)");
        }
      }
      catch (Exception ex) {
      }


    }


    public void testValidationAttributeTypeError()
    {

      StringBuffer empSchema = new StringBuffer();

          empSchema.append("<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'   \
elementFormDefault='qualified'>\n" );  empSchema.append("<xs:element name='age'>\n" \
);  empSchema.append("<xs:simpleType>\n" );
          empSchema.append("<xs:restriction base='xs:integer'>\n" );
          empSchema.append("<xs:minInclusive value='0'/>\n" );
          empSchema.append("<xs:maxInclusive value='100'/>\n" );
          empSchema.append("</xs:restriction>\n" );
          empSchema.append("</xs:simpleType>\n" );
          empSchema.append("</xs:element>\n" );
          empSchema.append("<xs:element name='empRecords'>\n" );
          empSchema.append("<xs:complexType>\n" );
          empSchema.append("<xs:sequence>\n" );
          empSchema.append("<xs:element name='person' type='personType' \
maxOccurs='unbounded'/>\n" );  empSchema.append("</xs:sequence>\n" );
          empSchema.append("</xs:complexType>\n" );
          empSchema.append("</xs:element>\n" );
          empSchema.append("<xs:element name='name' type='xs:string'/>\n" );
          empSchema.append("<xs:complexType name='personType'>\n" );
          empSchema.append("<xs:sequence>\n" );
          empSchema.append("<xs:element ref='name'/>\n" );
          empSchema.append("<xs:element ref='age'/>\n" );
          empSchema.append("</xs:sequence>\n" );
          empSchema.append("<xs:attribute name='employee' use='required'>\n" );
          empSchema.append("<xs:simpleType>\n" );
          empSchema.append("<xs:restriction base='xs:NMTOKEN'>\n" );
          empSchema.append("<xs:enumeration value='current'/>\n" );
          empSchema.append("<xs:enumeration value='past'/>\n" );
          empSchema.append("</xs:restriction>\n" );
          empSchema.append("</xs:simpleType>\n" );
          empSchema.append("</xs:attribute>\n" );
          empSchema.append("</xs:complexType>\n" );
          empSchema.append("</xs:schema>\n" );


      StringBuffer xmlInstance  = new StringBuffer();
      xmlInstance.append("<empRecords \
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' >");  \
xmlInstance.append("<person employee='past'>");  xmlInstance.append("<name>joe \
blow</name>");  xmlInstance.append("<age>31</age>");
      xmlInstance.append("</person>");
      xmlInstance.append("<person employee='current'>");
      xmlInstance.append("<name>test user</name>");
      xmlInstance.append("<age>junk</age>");
      xmlInstance.append("</person>");
      xmlInstance.append("</empRecords>");



      String[] schemas = { empSchema.toString() };


      List errors = null;
      try {
        errors = performValidation(schemas, null, xmlInstance.toString(), true);
        Assert.assertTrue( errors != null );

        for (Iterator it = errors.iterator(); it.hasNext();)
        {
          XmlValidationError xmlValError = (XmlValidationError) it.next();
          Assert.assertEquals(xmlValError.getErrorType(),1001);
          Assert.assertEquals(xmlValError.getMessage(),"Illegal decimal, unexpected \
char: 106");  }

      }
      catch (Exception ex) {
      }


    }

    public void testElementError()
    {
      String bobSchema =
          "<xs:schema\n" +
          "   xmlns:xs='http://www.w3.org/2001/XMLSchema'\n" +
          "   xmlns:bob='http://openuri.org/bobschema'\n" +
          "   targetNamespace='http://openuri.org/bobschema'\n" +
          "   elementFormDefault='qualified'>\n" +
          "\n" +
          "  <xs:complexType name='biff'>\n" +
          "   <xs:complexContent>\n" +
          "    <xs:extension base='bob:foo'>\n" +
          "     <xs:sequence>\n" +
          "       <xs:element name='a' minOccurs='0' maxOccurs='unbounded'/>\n" +
          "     </xs:sequence>\n" +
          "    </xs:extension>\n" +
          "   </xs:complexContent>\n" +
          "  </xs:complexType>\n" +
          "" +
          "  <xs:complexType name='foo'>\n" +
          "  </xs:complexType>\n" +
          "" +
          "  <xs:element name='foo' type='bob:foo'>\n" +
          "  </xs:element>\n" +
          "" +
          "</xs:schema>\n";



      String invalid =
          "<bob:foo xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' \
xmlns:bob='http://openuri.org/bobschema' " +  \
"xsi:type='bob:biff'><bob:q/></bob:foo>";


      String[] schemas = { bobSchema };


      List errors = null;
      try {
        errors = performValidation(schemas, null, invalid, true);
        Assert.assertTrue( errors != null );

        for (Iterator it = errors.iterator(); it.hasNext();)
        {
          XmlError xmlError = (XmlError) it.next();
          Assert.assertEquals(xmlError.getMessage(),"Expected element \
a@http://openuri.org/bobschema instead of q@http://openuri.org/bobschema here in \
element foo@http://openuri.org/bobschema");  }

      }
      catch (Exception ex) {
      }

    }

    public void testAttributeError()
    {
      StringBuffer empSchema = new StringBuffer();

          empSchema.append("<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'   \
elementFormDefault='qualified'>\n" );  empSchema.append("<xs:element name='age'>\n" \
);  empSchema.append("<xs:simpleType>\n" );
          empSchema.append("<xs:restriction base='xs:integer'>\n" );
          empSchema.append("<xs:minInclusive value='0'/>\n" );
          empSchema.append("<xs:maxInclusive value='100'/>\n" );
          empSchema.append("</xs:restriction>\n" );
          empSchema.append("</xs:simpleType>\n" );
          empSchema.append("</xs:element>\n" );
          empSchema.append("<xs:element name='empRecords'>\n" );
          empSchema.append("<xs:complexType>\n" );
          empSchema.append("<xs:sequence>\n" );
          empSchema.append("<xs:element name='person' type='personType' \
maxOccurs='unbounded'/>\n" );  empSchema.append("</xs:sequence>\n" );
          empSchema.append("</xs:complexType>\n" );
          empSchema.append("</xs:element>\n" );
          empSchema.append("<xs:element name='name' type='xs:string'/>\n" );
          empSchema.append("<xs:complexType name='personType'>\n" );
          empSchema.append("<xs:sequence>\n" );
          empSchema.append("<xs:element ref='name'/>\n" );
          empSchema.append("<xs:element ref='age'/>\n" );
          empSchema.append("</xs:sequence>\n" );
          empSchema.append("<xs:attribute name='employee' use='required'>\n" );
          empSchema.append("<xs:simpleType>\n" );
          empSchema.append("<xs:restriction base='xs:NMTOKEN'>\n" );
          empSchema.append("<xs:enumeration value='current'/>\n" );
          empSchema.append("<xs:enumeration value='past'/>\n" );
          empSchema.append("</xs:restriction>\n" );
          empSchema.append("</xs:simpleType>\n" );
          empSchema.append("</xs:attribute>\n" );
          empSchema.append("</xs:complexType>\n" );
          empSchema.append("</xs:schema>\n" );


      StringBuffer xmlInstance  = new StringBuffer();
      xmlInstance.append("<empRecords \
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' >");  \
xmlInstance.append("<person employee='past'>");  xmlInstance.append("<name>joe \
blow</name>");  xmlInstance.append("<age>31</age>");
      xmlInstance.append("</person>");
      xmlInstance.append("<person>");
      xmlInstance.append("<name>test user</name>");
      xmlInstance.append("<age>29</age>");
      xmlInstance.append("</person>");
      xmlInstance.append("</empRecords>");


      String[] schemas = { empSchema.toString() };


      List errors = null;
      try {
        errors = performValidation(schemas, null, xmlInstance.toString(), true);
        Assert.assertTrue( errors != null );

        for (Iterator it = errors.iterator(); it.hasNext();)
        {
          XmlError xmlError = (XmlError) it.next();
          Assert.assertEquals(xmlError.getMessage(),"Expected attribute: employee in \
element person");  }

      }
      catch (Exception ex) {
      }


    }


}


["SmokeTests.java" (text/java)]

/*   Copyright 2004 The Apache Software Foundation
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *  limitations under the License.
 */

package drtcases;

import junit.framework.Test;
import junit.framework.TestSuite;
import junit.framework.TestCase;

public class SmokeTests extends TestCase
{
    SmokeTests(String name) { super(name); }

    public static Test suite()
    {
        TestSuite suite = new TestSuite(SmokeTests.class.getName());
        suite.addTest(AssortedTests.suite());
        suite.addTest(IntTests.suite());
        suite.addTest(RuntimeSchemaLoaderTest.suite());
        suite.addTest(StoreTests.suite());
        suite.addTest(QNameTests.suite());
        suite.addTest(ValidationTests.suite());
        suite.addTest(ValidatorTests.suite());
        suite.addTest(CompilationTests.suite());
        suite.addTest(AnnotationsTests.suite());
        suite.addTest(EasyPoTests.suite());
        suite.addTest(NameworldTest.suite());
        suite.addTest(SchemaTypesTests.suite());
        suite.addTest(EnumTests.suite());
        suite.addTest(CreationTests.suite());
        suite.addTest(ThreadingTest.suite());
        suite.addTest(SerializationTests.suite());
        suite.addTest(DomTests.suite());
        suite.addTest(GDateTests.suite());
        suite.addTest(SubstGroupTests.suite());
        suite.addTest(BindingTests.suite());
        suite.addTest(MarshalTests.suite());
        suite.addTest(SaveLoadTests.suite());
        suite.addTest(RichParserTests.suite());
        suite.addTest(NumeralsTests.suite());
        suite.addTest(ValidatingXMLStreamReaderTests.suite());
        return suite;
    }
}
["StandaloneTests.java" (text/java)]

/*   Copyright 2004 The Apache Software Foundation
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *  limitations under the License.
 */

package drtcases;

import junit.framework.Test;
import junit.framework.TestSuite;
import junit.framework.TestCase;

public class StandaloneTests extends TestCase
{
    StandaloneTests(String name) { super(name); }

    public static Test suite()
    {
        TestSuite suite = new TestSuite(StandaloneTests.class.getName());
        suite.addTest(AssortedTests.suite());
        suite.addTest(IntTests.suite());
        suite.addTest(RuntimeSchemaLoaderTest.suite());
        suite.addTest(StoreTests.suite());
        suite.addTest(QNameTests.suite());
        suite.addTest(ValidationTests.suite());
        suite.addTest(ValidatorTests.suite());
        suite.addTest(CompilationTests.suite());
        suite.addTest(AnnotationsTests.suite());
        suite.addTest(EasyPoTests.suite());
        suite.addTest(NameworldTest.suite());
        suite.addTest(SchemaTypesTests.suite());
        suite.addTest(EnumTests.suite());
        suite.addTest(CreationTests.suite());
        suite.addTest(ThreadingTest.suite());
        suite.addTest(SerializationTests.suite());
        suite.addTest(DomTests.suite());
        suite.addTest(GDateTests.suite());
        suite.addTest(SubstGroupTests.suite());
        return suite;
    }
}

["validatortestchanges.patch.txt" (text/plain)]

cvs diff -cNR 
? src/drt/drtcases/ValidatorTests.java
cvs server: Diffing .
cvs server: Diffing cases
cvs server: Diffing cases/enumtest
cvs server: Diffing cases/marshal
cvs server: Diffing cases/marshal/com
cvs server: Diffing cases/marshal/com/mytest
cvs server: Diffing cases/nameworld
cvs server: Diffing cases/richparser
cvs server: Diffing cases/schema
cvs server: Diffing cases/schema/XmlSignature
cvs server: Diffing cases/schema/appview
cvs server: Diffing cases/schema/cyclone
cvs server: Diffing cases/schema/dynamic
cvs server: Diffing cases/schema/ims
cvs server: Diffing cases/schema/j2ee
cvs server: Diffing cases/schema/pricequote
cvs server: Diffing cases/schema/ra
cvs server: Diffing cases/schema/s4s
cvs server: Diffing cases/schema/simple
cvs server: Diffing cases/schema/simple/javasrc
cvs server: Diffing cases/schema/typesonly
cvs server: Diffing cases/schema/wli
cvs server: Diffing cases/store
cvs server: Diffing cases/xmlcatalog
cvs server: Diffing cases/xpath
cvs server: Diffing cases/xpath/expected
cvs server: Diffing src
cvs server: Diffing src/drt
cvs server: Diffing src/drt/drtcases
Index: src/drt/drtcases/SmokeTests.java
===================================================================
RCS file: /home/cvspublic/xml-xmlbeans/v2/test/src/drt/drtcases/SmokeTests.java,v
retrieving revision 1.9
diff -c -r1.9 SmokeTests.java
*** src/drt/drtcases/SmokeTests.java	29 Feb 2004 16:38:25 -0000	1.9
--- src/drt/drtcases/SmokeTests.java	29 Mar 2004 06:08:20 -0000
***************
*** 32,37 ****
--- 32,38 ----
          suite.addTest(StoreTests.suite());
          suite.addTest(QNameTests.suite());
          suite.addTest(ValidationTests.suite());
+         suite.addTest(ValidatorTests.suite());
          suite.addTest(CompilationTests.suite());
          suite.addTest(AnnotationsTests.suite());
          suite.addTest(EasyPoTests.suite());
Index: src/drt/drtcases/StandaloneTests.java
===================================================================
RCS file: /home/cvspublic/xml-xmlbeans/v2/test/src/drt/drtcases/StandaloneTests.java,v
retrieving revision 1.2
diff -c -r1.2 StandaloneTests.java
*** src/drt/drtcases/StandaloneTests.java	12 Feb 2004 20:06:31 -0000	1.2
--- src/drt/drtcases/StandaloneTests.java	29 Mar 2004 06:08:20 -0000
***************
*** 32,37 ****
--- 32,38 ----
          suite.addTest(StoreTests.suite());
          suite.addTest(QNameTests.suite());
          suite.addTest(ValidationTests.suite());
+         suite.addTest(ValidatorTests.suite());
          suite.addTest(CompilationTests.suite());
          suite.addTest(AnnotationsTests.suite());
          suite.addTest(EasyPoTests.suite());
cvs server: Diffing src/easypo
cvs server: Diffing src/easypouse
cvs server: Diffing src/easypouse/com
cvs server: Diffing src/easypouse/com/bea
cvs server: Diffing src/easypouse/com/bea/test
cvs server: Diffing src/enumtest
cvs server: Diffing src/ericschema
cvs server: Diffing src/erictest
cvs server: Diffing src/nameworlduse
cvs server: Diffing src/nameworlduse/com
cvs server: Diffing src/nameworlduse/com/bea
cvs server: Diffing src/nameworlduse/com/bea/test
cvs server: Diffing src/numerals
cvs server: Diffing src/random
cvs server: Diffing src/schemas
cvs server: Diffing src/streamtest
cvs server: Diffing src/stsschema
cvs server: Diffing src/teststore
cvs server: Diffing src/teststore/com
cvs server: Diffing src/teststore/com/bea
cvs server: Diffing src/teststore/com/bea/test
cvs server: Diffing src/unmarshal
cvs server: Diffing src/unmarshal/com
cvs server: Diffing src/unmarshal/com/bea
cvs server: Diffing src/unmarshal/com/bea/test
cvs server: Diffing src/xmlpad
cvs server: Diffing src/xmlpad/org
cvs server: Diffing src/xmlpad/org/apache
cvs server: Diffing src/xmlpad/org/apache/xmlbeans
cvs server: Diffing src/xmlpad/org/apache/xmlbeans/impl
cvs server: Diffing src/xmlpad/org/apache/xmlbeans/impl/xmlpad
cvs server: Diffing src/xpath
cvs server: Diffing src/xpath/org
cvs server: Diffing src/xpath/org/apache
cvs server: Diffing src/xpath/org/apache/xmlbeans
cvs server: Diffing src/xpath/org/apache/xmlbeans/impl
cvs server: Diffing src/xpath/org/apache/xmlbeans/impl/xpath
cvs server: Diffing src/xpath/org/apache/xmlbeans/impl/xpath/jaxen
cvs server: Diffing src/xstypes



- ---------------------------------------------------------------------
To unsubscribe, e-mail:   xmlbeans-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xmlbeans-dev-help@xml.apache.org
Apache XMLBeans Project -- URL: http://xml.apache.org/xmlbeans/

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic