blob: 0e6ed2ab762d3efbbbb8529da5272065c72ca16c [file]
/*
* Copyright (c) 2001-2003 World Wide Web Consortium, (Massachusetts Institute
* of Technology, Institut National de Recherche en Informatique et en
* Automatique, Keio University). All Rights Reserved. This program is
* distributed under the W3C's Software Intellectual Property License. This
* program is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See W3C License
* http://www.w3.org/Consortium/Legal/ for more details.
*/
/*
* $Log: DOMTest.java,v $
* Revision 1.12 2004/01/05 08:27:14 dom-ts-4
* XHTML compatible L3 Core tests (bug 455)
*
* Revision 1.11 2003/12/30 06:17:08 dom-ts-4
* Miscellaneous L&S changes based on implementor feedback (bug 447)
*
* Revision 1.10 2003/12/19 22:21:04 dom-ts-4
* willBeModified violation detection support (bug 412)
* Revision 1.9 2003/12/09 08:22:27 dom-ts-4 Additional
* L&S tests, mostly configuration (Bug 401)
*
* Revision 1.8 2003/12/02 03:49:29 dom-ts-4 Load/save fixup (bug 396)
*
* Revision 1.7 2003/06/27 05:36:05 dom-ts-4 contentType condition fixes:
* http://www.w3.org/Bugs/Public/show_bug.cgi?id=241
*
* Revision 1.6 2003/04/24 05:02:05 dom-ts-4 Xalan-J support for L3 XPath
* http://www.w3.org/Bugs/Public/show_bug.cgi?id=191
*
* Revision 1.5 2003/04/23 05:48:24 dom-ts-4 DOMTSML and framework support for
* createXPathEvaluator http://www.w3.org/Bugs/Public/show_bug.cgi?id=190
*
* Revision 1.4 2003/04/03 07:18:23 dom-ts-4 Added openStream method
*
* Revision 1.3 2002/08/13 04:44:46 dom-ts-4 Added getImplementation()
*
* Revision 1.2 2002/02/03 04:22:35 dom-ts-4 DOM4J and Batik support added.
* Rework of parser settings
*
* Revision 1.1 2001/07/23 04:52:20 dom-ts-4 Initial test running using JUnit.
*
*/
package org.w3c.domts;
import dom.common.Loader;
import org.w3c.dom.Document;
import tools.util.JarUtil;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
/**
* This is an abstract base class for generated DOM tests
*/
public final class DOMTest {
public static Document load(String docURI, boolean willBeModified) throws DOMTestLoadException {
try {
String sXml = JarUtil.getResourceFromJar(
"xbean/dom/W3C/level2/core/files/" + docURI + ".xml");
Loader _loader = Loader.getLoader();
return _loader.load(sXml);
} catch (Exception e) {
throw new DOMTestLoadException(e);
}
}
public static boolean isExpandEntityReferences() {
return false;
}
public static void assertURIEquals(String assertID, String file, String actual) {
// URI must be non-null
assertNotNull(assertID, actual);
String uri = actual;
int lastPound = actual.lastIndexOf("#");
if (lastPound != -1) {
// substring before pound
uri = actual.substring(0, lastPound);
}
int lastQuestion = uri.lastIndexOf("?");
if (lastQuestion != -1) {
// substring before pound
uri = actual.substring(0, lastQuestion);
}
int firstColon = uri.indexOf(":");
int firstSlash = uri.indexOf("/");
String actualPath = uri;
if (firstColon != -1 && firstColon < firstSlash) {
actualPath = uri.substring(firstColon + 1);
}
String actualFile = actualPath;
if (file != null) {
int finalSlash = actualPath.lastIndexOf("/");
if (finalSlash != -1) {
actualFile = actualPath.substring(finalSlash + 1);
}
assertEquals(assertID, file, actualFile);
}
}
}