| <?xml version="1.0"?>
|
| <!-- |
| Copyright 2002-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. |
| --> |
| <test:suite
|
| xmlns:j="jelly:core"
|
| xmlns:test="jelly:junit"
|
| xmlns:v="jelly:validate">
|
|
|
| <!-- test RelaxNG -->
|
|
|
| <test:case name="validateRelaxNG">
|
|
|
| <v:verifier uri="address.rng" var="addressSchema"/>
|
|
|
| <v:assertValid verifier="${addressSchema}">
|
| <addressBook>
|
| <card>
|
| <name>John Smith</name>
|
| <email>js@example.com</email>
|
| </card>
|
| <card>
|
| <name>Fred Bloggs</name>
|
| <email>fb@example.net</email>
|
| </card>
|
| </addressBook>
|
| </v:assertValid>
|
|
|
| </test:case>
|
|
|
|
|
| <test:case name="invalidateRelaxNG">
|
|
|
| <v:verifier uri="address.rng" var="addressSchema"/>
|
|
|
| <j:catch var="exception">
|
| <v:assertValid var="flag" verifier="${addressSchema}">
|
| <addressBook>
|
| <card>
|
| <email>js@example.com</email>
|
| </card>
|
| <card>
|
| <name>Fred Bloggs</name>
|
| </card>
|
| <card>
|
| <wrongname>Fred Bloggs</wrongname>
|
| </card>
|
| <card>
|
| </card>
|
| </addressBook>
|
| </v:assertValid>
|
| </j:catch>
|
|
|
| <test:assert test="${!flag}">The document should not be valid</test:assert>
|
| <test:assert test="${exception != null}">An exception should have been thrown</test:assert>
|
| The exception was ${exception.message}
|
|
|
| </test:case>
|
|
|
|
|
| <!-- test DTDs -->
|
| <test:case name="validateDTD">
|
|
|
| <v:verifier uri="address.dtd" var="addressSchema"/>
|
|
|
| <v:assertValid verifier="${addressSchema}">
|
| <addressBook>
|
| <card>
|
| <name>John Smith</name>
|
| <email>js@example.com</email>
|
| </card>
|
| <card>
|
| <name>Fred Bloggs</name>
|
| <email>fb@example.net</email>
|
| </card>
|
| </addressBook>
|
| </v:assertValid>
|
|
|
| </test:case>
|
|
|
|
|
| <test:case name="invalidateDTD">
|
|
|
| <v:verifier uri="address.dtd" var="addressSchema"/>
|
|
|
| <j:catch var="exception">
|
| <v:assertValid var="flag" verifier="${addressSchema}">
|
| <addressBook>
|
| <card>
|
| <email>js@example.com</email>
|
| </card>
|
| <card>
|
| <name>Fred Bloggs</name>
|
| </card>
|
| <card>
|
| <wrongname>Fred Bloggs</wrongname>
|
| </card>
|
| <card>
|
| </card>
|
| </addressBook>
|
| </v:assertValid>
|
| </j:catch>
|
|
|
| <test:assert test="${!flag}">The document should not be valid</test:assert>
|
| <test:assert test="${exception != null}">An exception should have been thrown</test:assert>
|
| The exception was ${exception.message}
|
|
|
| </test:case>
|
|
|
| </test:suite>
|