< prev index next >
test/jaxp/javax/xml/jaxp/unittest/validation/ValidationTest.java
Print this page
@@ -34,15 +34,16 @@
import javax.xml.validation.Validator;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
+import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
/*
* @test
- * @bug 8220818
+ * @bug 8220818 8176447
* @library /javax/xml/jaxp/libs /javax/xml/jaxp/unittest
* @run testng/othervm validation.ValidationTest
* @summary Runs validations with schemas and sources
*/
@Listeners({jaxp.library.FilePolicy.class})
@@ -69,25 +70,50 @@
{"JDK8220818a.xsd", "JDK8220818a_Invalid.xml"},
{"JDK8220818b.xsd", "JDK8220818b_Invalid.xml"},
};
}
+ /*
+ DataProvider: uniqueness
+ */
+ @DataProvider(name = "uniqueness")
+ Object[][] getUniqueData() {
+ return new Object[][]{
+ {"JDK8176447a.xsd", "JDK8176447a.xml"},
+ {"JDK8176447b.xsd", "JDK8176447b.xml"},
+ };
+ }
+
@Test(dataProvider = "invalid", expectedExceptions = SAXParseException.class)
public void testValidateRefType(String xsd, String xml) throws Exception {
validate(xsd, xml);
}
@Test(dataProvider = "valid")
public void testValidateRefType1(String xsd, String xml) throws Exception {
validate(xsd, xml);
}
+ /**
+ * @bug 8176447
+ * Verifies that the uniqueness constraint is checked.
+ * @param xsd the XSD
+ * @param xml the XML
+ * @throws Exception expected when the uniqueness constraint is validated
+ * correctly.
+ */
+ @Test(dataProvider = "uniqueness", expectedExceptions = SAXException.class)
+ public void testUnique(String xsd, String xml) throws Exception {
+ validate(xsd, xml);
+ }
+
private void validate(String xsd, String xml) throws Exception {
final SchemaFactory schemaFactory = SchemaFactory.newInstance(
XMLConstants.W3C_XML_SCHEMA_NS_URI);
final Schema schema = schemaFactory.newSchema(
new File(getClass().getResource(FILE_PATH + xsd).getFile()));
final Validator validator = schema.newValidator();
validator.validate(new StreamSource(
new File(getClass().getResource(FILE_PATH + xml).getFile())));
}
+
}
< prev index next >