Browse Source

fix XMLCatalogTest on Java6

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@740595 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 16 years ago
parent
commit
2d1ac70e3b
1 changed files with 25 additions and 9 deletions
  1. +25
    -9
      src/tests/junit/org/apache/tools/ant/types/XMLCatalogTest.java

+ 25
- 9
src/tests/junit/org/apache/tools/ant/types/XMLCatalogTest.java View File

@@ -89,19 +89,33 @@ public class XMLCatalogTest extends TestCase {
Source result = catalog.resolve("i/dont/exist.dtd", null); Source result = catalog.resolve("i/dont/exist.dtd", null);
String expected = toURLString(new File(project.getBaseDir() + String expected = toURLString(new File(project.getBaseDir() +
"/i/dont/exist.dtd")); "/i/dont/exist.dtd"));
//
// These shenanigans are necessary b/c Norm Walsh's resolver
// has a different idea of how file URLs are created on windoze
// ie file://c:/foo instead of file:///c:/foo
//
String resultStr = new URL(((SAXSource)result).getInputSource().getSystemId()).getFile();
assertTrue("Empty catalog should return input",
String resultStr =
fileURLPartWithoutLeadingSlashes((SAXSource)result);
assertTrue("Empty catalog should return input with a system ID like "
+ expected + " but was " + resultStr,
expected.endsWith(resultStr)); expected.endsWith(resultStr));
} catch (Exception e) { } catch (Exception e) {
fail("resolve() failed!" + e.toString()); fail("resolve() failed!" + e.toString());
} }
} }


private static String fileURLPartWithoutLeadingSlashes(SAXSource result)
throws MalformedURLException {
//
// These shenanigans are necessary b/c Norm Walsh's resolver
// has a different idea of how file URLs are created on windoze
// ie file://c:/foo instead of file:///c:/foo
//
String resultStr =
new URL(result.getInputSource().getSystemId()).getFile();
// on Sun's Java6 this returns an unexpected number of four
// leading slashes, at least on Linux - strip all of them
while (resultStr.startsWith("/")) {
resultStr = resultStr.substring(1);
}
return resultStr;
}

public void testNonExistentEntry() { public void testNonExistentEntry() {


ResourceLocation dtd = new ResourceLocation(); ResourceLocation dtd = new ResourceLocation();
@@ -120,8 +134,10 @@ public class XMLCatalogTest extends TestCase {
Source result = catalog.resolve("i/dont/exist.dtd", null); Source result = catalog.resolve("i/dont/exist.dtd", null);
String expected = toURLString(new File(project.getBaseDir().toURL() + String expected = toURLString(new File(project.getBaseDir().toURL() +
"/i/dont/exist.dtd")); "/i/dont/exist.dtd"));
String resultStr = new URL(((SAXSource)result).getInputSource().getSystemId()).getFile();
assertTrue("Nonexistent Catalog entry return input",
String resultStr =
fileURLPartWithoutLeadingSlashes((SAXSource)result);
assertTrue("Nonexistent Catalog entry return input with a system ID like "
+ expected + " but was " + resultStr,
expected.endsWith(resultStr)); expected.endsWith(resultStr));
} catch (Exception e) { } catch (Exception e) {
fail("resolve() failed!" + e.toString()); fail("resolve() failed!" + e.toString());


Loading…
Cancel
Save