jochen 2005/07/13 12:59:44
Modified: src/jaxme/org/apache/ws/jaxme/junit Tag: v0_4
ParserTest.java
Log:
Added a unit test for detection of groups with multiplicity > 1.
Revision Changes Path
No revision
No revision
1.7.2.2 +38 -1
ws-jaxme/src/jaxme/org/apache/ws/jaxme/junit/ParserTest.java
Index: ParserTest.java
===================================================================
RCS file:
/home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/junit/ParserTest.java,v
retrieving revision 1.7.2.1
retrieving revision 1.7.2.2
diff -u -r1.7.2.1 -r1.7.2.2
--- ParserTest.java 8 Jul 2005 20:45:05 -0000 1.7.2.1
+++ ParserTest.java 13 Jul 2005 19:59:44 -0000 1.7.2.2
@@ -53,6 +53,7 @@
import org.apache.ws.jaxme.xs.types.XSID;
import org.apache.ws.jaxme.xs.xml.XsQName;
import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
/** <p>Implements some basic tests for the Schema generator.</p>
@@ -1074,4 +1075,40 @@
assertEquals(XSID.getInstance(), idAttr.getType());
assertFalse(idRef.isOptional());
}
+
+ /** Test, whether a choice group with multiplicity > 1 is
+ * rejected.
+ */
+ public void testMultipleGroupRejected() throws Exception {
+ final String schemaSpec =
+ "<xs:schema\n" +
+ " xmlns:xs='http://www.w3.org/2001/XMLSchema'\n" +
+ " elementFormDefault='qualified'\n" +
+ " xmlns:jaxb='http://java.sun.com/xml/ns/jaxb'\n" +
+ " jaxb:version='1.0'>\n" +
+ " <xs:annotation><xs:appinfo>\n" +
+ " <jaxb:schemaBindings xmlns:jaxb='" + JAXBParser.JAXB_SCHEMA_URI
+ "'>\n" +
+ " <jaxb:package
name='parsertest.testmultiplegroupsrejected'/>\n" +
+ " </jaxb:schemaBindings>\n" +
+ " </xs:appinfo></xs:annotation>\n" +
+ " <xs:element name='DIAGJOBS'>\n" +
+ " <xs:complexType>\n" +
+ " <xs:choice maxOccurs='unbounded'>\n" +
+ " <xs:element name='DIAGJOB' type='xs:string'/>\n" +
+ " <xs:sequence>\n" +
+ " <xs:element name='DJREF' type='xs:long'/>\n" +
+ " <xs:element name='DESCRIPTIONS' type='xs:string'
minOccurs='0'/>\n" +
+ " </xs:sequence>\n" +
+ " </xs:choice>\n" +
+ " </xs:complexType>\n" +
+ " </xs:element>\n" +
+ "</xs:schema>\n";
+ SchemaSG schema = parse(schemaSpec, "testMultipleGroupRejected.xsd");
+ try {
+ schema.generate();
+ fail("Expected an exception");
+ } catch (SAXException e) {
+ assertTrue(e.getMessage().indexOf("Model groups with maxOccurs
> 1 are not yet supported.") != -1);
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]