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]