Author: desruisseaux
Date: Mon Mar 28 19:53:35 2016
New Revision: 1736920
URL: http://svn.apache.org/viewvc?rev=1736920&view=rev
Log:
If a test resource is not found in the package of the sublcass, search up in
the hierarchy of classes.
The intend is to allow diffent module to reuse an existing test in another
package.
Modified:
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/XMLTestCase.java
Modified:
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/XMLTestCase.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/XMLTestCase.java?rev=1736920&r1=1736919&r2=1736920&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/XMLTestCase.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/XMLTestCase.java
[UTF-8] Mon Mar 28 19:53:35 2016
@@ -161,15 +161,22 @@ public abstract strictfp class XMLTestCa
/**
* Returns the URL to the XML file of the given name.
- * The file shall be in the same package than the final subclass of {@code
this}.
+ * The file shall be in the same package than a subclass of {@code this}.
+ * This method begins the search in the package of {@link #getClass()}.
+ * If the resource is not found in that package, then this method searches
in the parent classes.
+ * The intend is to allow some test classes to be overridden in different
modules.
*
* @param filename The name of the XML file.
* @return The URL to the given XML file.
*/
private URL getResource(final String filename) {
- final URL resource = getClass().getResource(filename);
- assertNotNull(filename, resource);
- return resource;
+ Class<?> c = getClass();
+ do {
+ final URL resource = c.getResource(filename);
+ if (resource != null) return resource;
+ c = c.getSuperclass();
+ } while (!c.equals(XMLTestCase.class));
+ throw new AssertionError("Test resource not found: " + filename);
}
/**