You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlbeans.apache.org by da...@apache.org on 2004/09/07 19:57:11 UTC

cvs commit: xml-xmlbeans/v2/test/src/scomp/redefine/detailed AttrGroupRedefine.java GroupRedefine.java SimpleRedefine.java

daveremy    2004/09/07 10:57:11

  Modified:    v2/test/cases/xbean/scomp/contentType ComplexTypeTest.xsd
               v2/test/src/scomp/contentType/complex/detailed
                        MixedContentTest.java
  Added:       v2/test/src/scomp/redefine/detailed AttrGroupRedefine.java
                        GroupRedefine.java SimpleRedefine.java
  Log:
  Contributed by:Yana Kadiyska. Last Schema feature tests
  
  Revision  Changes    Path
  1.2       +14 -0     xml-xmlbeans/v2/test/cases/xbean/scomp/contentType/ComplexTypeTest.xsd
  
  Index: ComplexTypeTest.xsd
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/test/cases/xbean/scomp/contentType/ComplexTypeTest.xsd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ComplexTypeTest.xsd	16 Aug 2004 17:36:11 -0000	1.1
  +++ ComplexTypeTest.xsd	7 Sep 2004 17:57:11 -0000	1.2
  @@ -19,6 +19,12 @@
                       <xsd:element name="child3" type="xsd:integer"/>
                   </xsd:sequence>
               </xsd:complexType>
  +
  +
  +
  +
  +
  +
       <xsd:complexType name="emptyT">
           <xsd:attribute name="emptyAttr" type="xsd:string"/>
       </xsd:complexType>
  @@ -30,4 +36,12 @@
       <xsd:element name="MixedType" type="mixedT"/>
       <xsd:element name="EmptyType" type="emptyT"/>
       <xsd:element name="EmptyMixedType" type="emptyT"/>
  +
  +      <xsd:element name="MixedFixedElt" fixed="abc">
  +            <xsd:complexType mixed="true">
  +                <xsd:sequence>
  +                    <xsd:element name="a" type="xsd:string"/>
  +                </xsd:sequence>
  +            </xsd:complexType>
  +        </xsd:element>
   </xsd:schema>
  
  
  
  1.3       +19 -0     xml-xmlbeans/v2/test/src/scomp/contentType/complex/detailed/MixedContentTest.java
  
  Index: MixedContentTest.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/test/src/scomp/contentType/complex/detailed/MixedContentTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- MixedContentTest.java	25 Aug 2004 20:58:59 -0000	1.2
  +++ MixedContentTest.java	7 Sep 2004 17:57:11 -0000	1.3
  @@ -17,11 +17,14 @@
   import junit.framework.TestCase;
   import xbean.scomp.contentType.complexTypeTest.MixedTypeDocument;
   import xbean.scomp.contentType.complexTypeTest.MixedT;
  +import xbean.scomp.contentType.complexTypeTest.MixedFixedEltDocument;
   
   import java.math.BigInteger;
   
   import org.apache.xmlbeans.XmlInteger;
   import org.apache.xmlbeans.XmlCursor;
  +import org.apache.xmlbeans.XmlErrorCodes;
  +import org.apache.xmlbeans.XmlException;
   import scomp.common.BaseCase;
   
   /**
  @@ -150,6 +153,22 @@
                   "Random mixed content1<child2>5</child2>" +
                   "<child3>1</child3></xml-fragment>",testElt.xmlText() );
          
  +
  +    }
  +
  +
  +    public void testMixedFixed() throws XmlException{
  +        MixedFixedEltDocument doc=
  +              MixedFixedEltDocument.Factory
  +        .parse("<pre:MixedFixedElt " +
  +                " xmlns:pre=\"http://xbean/scomp/contentType/ComplexTypeTest\">" +
  +                "<a/>abc</pre:MixedFixedElt>");
  +
  +        assertTrue (! doc.validate(validateOptions));
  +        showErrors();
  +        String[] expected=new String[]
  +        {XmlErrorCodes.ELEM_LOCALLY_VALID};
  +        assertTrue(compareErrorCodes(expected));
   
       }
       public void setUp() {
  
  
  
  1.1                  xml-xmlbeans/v2/test/src/scomp/redefine/detailed/AttrGroupRedefine.java
  
  Index: AttrGroupRedefine.java
  ===================================================================
  package scomp.redefine.detailed;
  
  import scomp.common.BaseCase;
  import xbean.scomp.redefine.attrGroupRedefine.AttrGroupEltDocument;
  
  
  import java.lang.reflect.Method;
  
  public class AttrGroupRedefine extends BaseCase{
  
      /**
       * test that fields from the old type def are not
       * visible anymore
       */
      public void testCodeGeneration(){
         AttrGroupEltDocument doc=AttrGroupEltDocument.Factory.newInstance();
          AttrGroupEltDocument.AttrGroupElt elt=doc.addNewAttrGroupElt();
  
         try{
             elt.getClass().getDeclaredField("attr2");
             fail("field should be redefined");
         }catch(NoSuchFieldException e){}
  
  
          try{
               elt.getClass().getDeclaredMethod("getAttr1",null);
               elt.getClass().getDeclaredMethod("getAttr2A",null);
  
             Method m=elt.getClass().getDeclaredMethod("getAttr3A",null);
              assertEquals(m.getReturnType(),Class.forName("java.lang.Integer.TYPE") );
              }catch(NoSuchMethodException e){
              fail("Fields not redefined");
          }   catch (ClassNotFoundException e1){}
      }
  }
  
  
  
  1.1                  xml-xmlbeans/v2/test/src/scomp/redefine/detailed/GroupRedefine.java
  
  Index: GroupRedefine.java
  ===================================================================
  package scomp.redefine.detailed;
  
  /**
   * @author ykadiysk
   *         Date: Aug 24, 2004
   */
  public class GroupRedefine {
      /* public void testCodeGeneration(){
         GroupSuperEltDocument doc=GroupSuperEltDocument.Factory.newInstance();
  
         try{
             elt.getClass().getDeclaredField("attr2");
             fail("field should be redefined");
         }catch(NoSuchFieldException e){}
  
  
          try{
               elt.getClass().getDeclaredMethod("getAttr1",null);
               elt.getClass().getDeclaredMethod("getAttr2A",null);
  
             Method m=elt.getClass().getDeclaredMethod("getAttr3A",null);
              assertEquals(m.getReturnType(),Class.forName("java.lang.Integer.TYPE") );
              }catch(NoSuchMethodException e){
              fail("Fields not redefined");
          }   catch (ClassNotFoundException e1){}
      } */
  }
  
  
  
  1.1                  xml-xmlbeans/v2/test/src/scomp/redefine/detailed/SimpleRedefine.java
  
  Index: SimpleRedefine.java
  ===================================================================
  package scomp.redefine.detailed;
  
  import xbean.scomp.redefine.simpleRedefined.NewSizeEltDocument;
  import xbean.scomp.redefine.simpleRedefined.OldColorEltDocument;
  import xbean.scomp.redefine.simpleRedefined.OldSizeEltDocument;
  import scomp.common.BaseCase;
  
  /**
   * @author ykadiysk
   *         Date: Aug 24, 2004
   */
  public class SimpleRedefine extends BaseCase
   {
  
       /**
       * test that fields from the old type def are not
       * visible anymore: only valid range for sizeT should be 3-20
       */
      public void testCodeGeneration() throws Throwable{
         NewSizeEltDocument doc=NewSizeEltDocument.Factory.newInstance();
         OldColorEltDocument doc1=OldColorEltDocument.Factory.newInstance();
         OldSizeEltDocument doc2=OldSizeEltDocument.Factory.newInstance();
  
           doc.setNewSizeElt(3);
  
         try{
             assertTrue(doc.validate(validateOptions));
         }catch(Throwable t){
             showErrors();
             throw t;
         }
         doc.setNewSizeElt(21);
            assertTrue( !doc.validate(validateOptions));
           showErrors();
           clearErrors();
  
           doc2.setOldSizeElt(21);
              assertTrue( !doc.validate(validateOptions));
           showErrors();
           clearErrors();
  
           doc1.setOldColorElt("white");
  
          try{
             assertTrue(doc1.validate(validateOptions));
         }catch(Throwable t){
             showErrors();
             throw t;
         }
      }
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: commits-help@xmlbeans.apache.org