blob: b8f0f7986b537b89c3aa7c206a61d494542a48eb [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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
<<<<<<< Updated upstream
*
* 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
=======
*
* https://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
>>>>>>> Stashed changes
* limitations under the License.
*/
package javax.jdo.schema;
import java.io.File;
import java.io.FilenameFilter;
import javax.jdo.util.AbstractTest;
import javax.jdo.util.BatchTestRunner;
import javax.jdo.util.XMLTestUtil;
/**
* Tests schema files.
*
* <p>
*/
public class XMLTest extends AbstractTest {
/** */
protected static final String BASEDIR = System.getProperty("basedir", ".");
/** File prefix */
protected static final String FILE_PREFIX = BASEDIR + "/src/test/resources/";
/** */
protected static final File JDO_XSD_FILE =
new File(BASEDIR + "/target/classes/javax/jdo/jdo_2_2.xsd");
/** */
protected static final File ORM_XSD_FILE =
new File(BASEDIR + "/target/classes/javax/jdo/orm_2_2.xsd");
/** */
protected static final File JDOQUERY_XSD_FILE =
new File(BASEDIR + "/target/classes/javax/jdo/jdoquery_2_2.xsd");
/** .xsd files */
protected static final File[] XSD_FILES =
new File[] {JDO_XSD_FILE, ORM_XSD_FILE, JDOQUERY_XSD_FILE};
/** XSD metadata files. */
protected static final File[] positiveXSDJDO = getFiles("Positive", "-xsd.jdo");
protected static final File[] negativeXSDJDO = getFiles("Negative", "-xsd.jdo");
protected static final File[] positiveXSDORM = getFiles("Positive", "-xsd.orm");
protected static final File[] negativeXSDORM = getFiles("Negative", "-xsd.orm");
protected static final File[] positiveXSDJDOQUERY = getFiles("Positive", "-xsd.jdoquery");
protected static final File[] negativeXSDJDOQUERY = getFiles("Negative", "-xsd.jdoquery");
/** DTD metadata files. */
protected static final File[] positiveDTDJDO = getFiles("Positive", "-dtd.jdo");
protected static final File[] negativeDTDJDO = getFiles("Negative", "-dtd.jdo");
protected static final File[] positiveDTDORM = getFiles("Positive", "-dtd.orm");
protected static final File[] negativeDTDORM = getFiles("Negative", "-dtd.orm");
protected static final File[] positiveDTDJDOQUERY = getFiles("Positive", "-dtd.jdoquery");
protected static final File[] negativeDTDJDOQUERY = getFiles("Negative", "-dtd.jdoquery");
/** Returns array of files of matching file names. */
protected static File[] getFiles(final String prefix, final String suffix) {
FilenameFilter filter = (file, name) -> (name.startsWith(prefix) && name.endsWith(suffix));
File dir = new File(FILE_PREFIX);
return dir.listFiles(filter);
}
/** */
public static void main(String args[]) {
BatchTestRunner.run(XMLTest.class);
}
/** Test XSD files jdo.xsd, orm.xsd, and jdoquery.xsd. */
public void testXSD() {
XMLTestUtil util = new XMLTestUtil();
appendMessage(util.checkXMLNonValidating(XSD_FILES));
failOnError();
}
/** Test XSD based .jdo, .orm and .jdoquery files. */
public void testXSDBased() {
XMLTestUtil util = new XMLTestUtil();
appendMessage(util.checkXML(positiveXSDJDO, true));
appendMessage(util.checkXML(negativeXSDJDO, false));
appendMessage(util.checkXML(positiveXSDORM, true));
appendMessage(util.checkXML(negativeXSDORM, false));
appendMessage(util.checkXML(positiveXSDJDOQUERY, true));
appendMessage(util.checkXML(negativeXSDJDOQUERY, false));
failOnError();
}
/** Test DTD based .jdo, .orm and .jdoquery files. */
public void testDTDBased() {
XMLTestUtil util = new XMLTestUtil();
appendMessage(util.checkXML(positiveDTDJDO, true));
appendMessage(util.checkXML(negativeDTDJDO, false));
appendMessage(util.checkXML(positiveDTDORM, true));
appendMessage(util.checkXML(negativeDTDORM, false));
appendMessage(util.checkXML(positiveDTDJDOQUERY, true));
appendMessage(util.checkXML(negativeDTDJDOQUERY, false));
failOnError();
}
}