ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gin...@apache.org
Subject [19/22] ant git commit: Normalise tabulation and line breaks (cf master)
Date Wed, 29 Nov 2017 22:06:15 GMT
http://git-wip-us.apache.org/repos/asf/ant/blob/0ed7f4ab/src/tests/junit/org/apache/tools/ant/taskdefs/optional/RpmTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/RpmTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/RpmTest.java
index e69ffb4..ac4462d 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/RpmTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/RpmTest.java
@@ -1,71 +1,71 @@
-/*
- *  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
- *
- *      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
- *  limitations under the License.
- *
- */
-package org.apache.tools.ant.taskdefs.optional;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.taskdefs.Execute;
-import org.apache.tools.ant.taskdefs.ExecuteStreamHandler;
-import org.apache.tools.ant.types.Commandline;
-
-import org.junit.Test;
-
-import static org.junit.Assert.fail;
-import static org.apache.tools.ant.AntAssert.assertContains;
-
-public class RpmTest {
-
-    @Test
-    public void testShouldThrowExceptionWhenRpmFails() throws Exception {
-        Rpm rpm = new MyRpm();
-        rpm.setProject(new org.apache.tools.ant.Project());
-        rpm.setFailOnError(true);
-        // execute
-        try {
-            rpm.execute();
-            fail("should have thrown a build exception");
-        } catch (BuildException ex) {
-            assertContains("' failed with exit code 2", ex.getMessage());
-        }
-    }
-
-    @Test
-    public void testShouldNotThrowExceptionWhenRpmFails() throws Exception {
-        Rpm rpm = new MyRpm();
-        rpm.execute();
-    }
-
-    // override some of the code so we can test the handling of the
-    // return code only.
-    public static class MyRpm extends Rpm {
-        protected Execute getExecute(Commandline toExecute,
-                                     ExecuteStreamHandler streamhandler) {
-            return new Execute() {
-                    public int execute() {
-                        // 2 is != 0 and even, so it is considered
-                        // failure on any platform currently supported
-                        // by Execute#isFailure.
-                        return 2;
-                    }
-                };
-        }
-
-        public void log(String msg, int msgLevel) {
-        }
-    }
-
-}
+/*
+ *  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
+ *
+ *      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
+ *  limitations under the License.
+ *
+ */
+package org.apache.tools.ant.taskdefs.optional;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.taskdefs.Execute;
+import org.apache.tools.ant.taskdefs.ExecuteStreamHandler;
+import org.apache.tools.ant.types.Commandline;
+
+import org.junit.Test;
+
+import static org.junit.Assert.fail;
+import static org.apache.tools.ant.AntAssert.assertContains;
+
+public class RpmTest {
+
+    @Test
+    public void testShouldThrowExceptionWhenRpmFails() throws Exception {
+        Rpm rpm = new MyRpm();
+        rpm.setProject(new org.apache.tools.ant.Project());
+        rpm.setFailOnError(true);
+        // execute
+        try {
+            rpm.execute();
+            fail("should have thrown a build exception");
+        } catch (BuildException ex) {
+            assertContains("' failed with exit code 2", ex.getMessage());
+        }
+    }
+
+    @Test
+    public void testShouldNotThrowExceptionWhenRpmFails() throws Exception {
+        Rpm rpm = new MyRpm();
+        rpm.execute();
+    }
+
+    // override some of the code so we can test the handling of the
+    // return code only.
+    public static class MyRpm extends Rpm {
+        protected Execute getExecute(Commandline toExecute,
+                                     ExecuteStreamHandler streamhandler) {
+            return new Execute() {
+                    public int execute() {
+                        // 2 is != 0 and even, so it is considered
+                        // failure on any platform currently supported
+                        // by Execute#isFailure.
+                        return 2;
+                    }
+                };
+        }
+
+        public void log(String msg, int msgLevel) {
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/ant/blob/0ed7f4ab/src/tests/junit/org/apache/tools/ant/taskdefs/optional/SchemaValidateTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/SchemaValidateTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/SchemaValidateTest.java
index 5914001..667c890 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/SchemaValidateTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/SchemaValidateTest.java
@@ -1,128 +1,128 @@
-/*
- *  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
- *
- *      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
- *  limitations under the License.
- *
- */
-package org.apache.tools.ant.taskdefs.optional;
-
-import org.apache.tools.ant.AntAssert;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildFileRule;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import static org.junit.Assert.fail;
-
-/**
- * Test schema validation
- */
-
-public class SchemaValidateTest {
-
-    /**
-     * where tasks run
-     */
-    private final static String TASKDEFS_DIR =
-            "src/etc/testcases/taskdefs/optional/";
-
-    @Rule
-    public BuildFileRule buildRule = new BuildFileRule();
-
-    @Before
-    public void setUp() {
-        buildRule.configureProject(TASKDEFS_DIR + "schemavalidate.xml");
-    }
-
-    /**
-     * test with no namespace
-     */
-    @Test
-    public void testNoNamespace() throws Exception {
-        buildRule.executeTarget("testNoNamespace");
-    }
-
-    /**
-     * add namespace awareness.
-     */
-    @Test
-    public void testNSMapping() throws Exception {
-        buildRule.executeTarget("testNSMapping");
-    }
-
-    @Test
-    public void testNoEmptySchemaNamespace() throws Exception {
-        try {
-            buildRule.executeTarget("testNoEmptySchemaNamespace");
-            fail("Empty namespace URI");
-        } catch (BuildException ex) {
-            AntAssert.assertContains(SchemaValidate.SchemaLocation.ERROR_NO_URI, ex.getMessage());
-        }
-    }
-
-    @Test
-    public void testNoEmptySchemaLocation() throws Exception {
-        try {
-            buildRule.executeTarget("testNoEmptySchemaLocation");
-            fail("Empty schema location");
-        } catch (BuildException ex) {
-            AntAssert.assertContains(SchemaValidate.SchemaLocation.ERROR_NO_LOCATION,
-                    ex.getMessage());
-        }
-    }
-
-    @Test
-    public void testNoFile() throws Exception {
-        try {
-            buildRule.executeTarget("testNoFile");
-            fail("No file at file attribute");
-        } catch (BuildException ex) {
-            AntAssert.assertContains(SchemaValidate.SchemaLocation.ERROR_NO_FILE,
-                    ex.getMessage());
-        }
-    }
-
-    @Test
-    public void testNoDoubleSchemaLocation() throws Exception {
-        try {
-            buildRule.executeTarget("testNoDoubleSchemaLocation");
-            fail("Two locations for schemas");
-        } catch (BuildException ex) {
-            AntAssert.assertContains(SchemaValidate.SchemaLocation.ERROR_TWO_LOCATIONS,
-                    ex.getMessage());
-        }
-    }
-
-    @Test
-    public void testNoDuplicateSchema() throws Exception {
-        try {
-            buildRule.executeTarget("testNoDuplicateSchema");
-            fail("duplicate schemas with different values");
-        } catch (BuildException ex) {
-            AntAssert.assertContains(SchemaValidate.ERROR_DUPLICATE_SCHEMA,
-                    ex.getMessage());
-        }
-    }
-
-    @Test
-    public void testEqualsSchemasOK() throws Exception {
-        buildRule.executeTarget("testEqualsSchemasOK");
-    }
-
-    @Test
-    public void testFileset() throws Exception {
-        buildRule.executeTarget("testFileset");
-    }
-}
+/*
+ *  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
+ *
+ *      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
+ *  limitations under the License.
+ *
+ */
+package org.apache.tools.ant.taskdefs.optional;
+
+import org.apache.tools.ant.AntAssert;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static org.junit.Assert.fail;
+
+/**
+ * Test schema validation
+ */
+
+public class SchemaValidateTest {
+
+    /**
+     * where tasks run
+     */
+    private final static String TASKDEFS_DIR =
+            "src/etc/testcases/taskdefs/optional/";
+
+    @Rule
+    public BuildFileRule buildRule = new BuildFileRule();
+
+    @Before
+    public void setUp() {
+        buildRule.configureProject(TASKDEFS_DIR + "schemavalidate.xml");
+    }
+
+    /**
+     * test with no namespace
+     */
+    @Test
+    public void testNoNamespace() throws Exception {
+        buildRule.executeTarget("testNoNamespace");
+    }
+
+    /**
+     * add namespace awareness.
+     */
+    @Test
+    public void testNSMapping() throws Exception {
+        buildRule.executeTarget("testNSMapping");
+    }
+
+    @Test
+    public void testNoEmptySchemaNamespace() throws Exception {
+        try {
+            buildRule.executeTarget("testNoEmptySchemaNamespace");
+            fail("Empty namespace URI");
+        } catch (BuildException ex) {
+            AntAssert.assertContains(SchemaValidate.SchemaLocation.ERROR_NO_URI, ex.getMessage());
+        }
+    }
+
+    @Test
+    public void testNoEmptySchemaLocation() throws Exception {
+        try {
+            buildRule.executeTarget("testNoEmptySchemaLocation");
+            fail("Empty schema location");
+        } catch (BuildException ex) {
+            AntAssert.assertContains(SchemaValidate.SchemaLocation.ERROR_NO_LOCATION,
+                    ex.getMessage());
+        }
+    }
+
+    @Test
+    public void testNoFile() throws Exception {
+        try {
+            buildRule.executeTarget("testNoFile");
+            fail("No file at file attribute");
+        } catch (BuildException ex) {
+            AntAssert.assertContains(SchemaValidate.SchemaLocation.ERROR_NO_FILE,
+                    ex.getMessage());
+        }
+    }
+
+    @Test
+    public void testNoDoubleSchemaLocation() throws Exception {
+        try {
+            buildRule.executeTarget("testNoDoubleSchemaLocation");
+            fail("Two locations for schemas");
+        } catch (BuildException ex) {
+            AntAssert.assertContains(SchemaValidate.SchemaLocation.ERROR_TWO_LOCATIONS,
+                    ex.getMessage());
+        }
+    }
+
+    @Test
+    public void testNoDuplicateSchema() throws Exception {
+        try {
+            buildRule.executeTarget("testNoDuplicateSchema");
+            fail("duplicate schemas with different values");
+        } catch (BuildException ex) {
+            AntAssert.assertContains(SchemaValidate.ERROR_DUPLICATE_SCHEMA,
+                    ex.getMessage());
+        }
+    }
+
+    @Test
+    public void testEqualsSchemasOK() throws Exception {
+        buildRule.executeTarget("testEqualsSchemasOK");
+    }
+
+    @Test
+    public void testFileset() throws Exception {
+        buildRule.executeTarget("testFileset");
+    }
+}

http://git-wip-us.apache.org/repos/asf/ant/blob/0ed7f4ab/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateCatalogTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateCatalogTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateCatalogTest.java
index 02b11a3..c9948bb 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateCatalogTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateCatalogTest.java
@@ -1,71 +1,71 @@
-/*
- *  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
- *
- *      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
- *  limitations under the License.
- *
- */
-package org.apache.tools.ant.taskdefs.optional;
-
-import org.apache.tools.ant.BuildFileRule;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-/**
- * Tests the XMLValidate optional task with nested external catalogs.
- *
- * @see XmlValidateTest
- * @since Ant 1.6
- */
-public class XmlValidateCatalogTest {
-
-    /**
-     * where tasks run
-     */
-    private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/optional/";
-
-    @Rule
-    public BuildFileRule buildRule = new BuildFileRule();
-
-    @Before
-    public void setUp() {
-        buildRule.configureProject(TASKDEFS_DIR + "xmlvalidate.xml");
-    }
-
-
-    /**
-     * catalogfiles fileset should be ignored
-     * if resolver.jar is not present, but will
-     * be used if it is.  either way, test should
-     * work b/c we have a nested dtd with the same
-     * entity
-     */
-    @Test
-    public void testXmlCatalogFiles() {
-        buildRule.executeTarget("xmlcatalogfiles");
-    }
-
-    /**
-     * Test nested catalogpath.
-     * It should be ignored if resolver.jar is not
-     * present, but will be used if it is.  either
-     * way, test should work b/c we have a nested
-     * dtd with the same entity
-     */
-    @Test
-    public void testXmlCatalogPath() {
-        buildRule.executeTarget("xmlcatalogpath");
-    }
-
-}
+/*
+ *  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
+ *
+ *      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
+ *  limitations under the License.
+ *
+ */
+package org.apache.tools.ant.taskdefs.optional;
+
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+/**
+ * Tests the XMLValidate optional task with nested external catalogs.
+ *
+ * @see XmlValidateTest
+ * @since Ant 1.6
+ */
+public class XmlValidateCatalogTest {
+
+    /**
+     * where tasks run
+     */
+    private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/optional/";
+
+    @Rule
+    public BuildFileRule buildRule = new BuildFileRule();
+
+    @Before
+    public void setUp() {
+        buildRule.configureProject(TASKDEFS_DIR + "xmlvalidate.xml");
+    }
+
+
+    /**
+     * catalogfiles fileset should be ignored
+     * if resolver.jar is not present, but will
+     * be used if it is.  either way, test should
+     * work b/c we have a nested dtd with the same
+     * entity
+     */
+    @Test
+    public void testXmlCatalogFiles() {
+        buildRule.executeTarget("xmlcatalogfiles");
+    }
+
+    /**
+     * Test nested catalogpath.
+     * It should be ignored if resolver.jar is not
+     * present, but will be used if it is.  either
+     * way, test should work b/c we have a nested
+     * dtd with the same entity
+     */
+    @Test
+    public void testXmlCatalogPath() {
+        buildRule.executeTarget("xmlcatalogpath");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/ant/blob/0ed7f4ab/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateTest.java
index 869031f..58f7a4b 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateTest.java
@@ -1,193 +1,193 @@
-/*
- *  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
- *
- *      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
- *  limitations under the License.
- *
- */
-package org.apache.tools.ant.taskdefs.optional;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildFileRule;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.internal.AssumptionViolatedException;
-
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-/**
- * Tests the XMLValidate optional task, by running targets in the test script
- * <code>src/etc/testcases/taskdefs/optional/xmlvalidate.xml</code>
- * <p>
- *
- * @see XmlValidateCatalogTest
- * @since Ant 1.5
- */
-public class XmlValidateTest {
-
-    /**
-     * where tasks run
-     */
-    private final static String TASKDEFS_DIR =
-        "src/etc/testcases/taskdefs/optional/";
-
-    @Rule
-    public BuildFileRule buildRule = new BuildFileRule();
-
-    @Before
-    public void setUp() {
-        buildRule.configureProject(TASKDEFS_DIR + "xmlvalidate.xml");
-    }
-
-    /**
-     * Basic inline 'dtd' element test.
-     */
-    @Test
-    public void testValidate() throws Exception {
-        buildRule.executeTarget("testValidate");
-    }
-
-    /**
-     * Test indirect validation.
-     */
-    @Test
-    public void testDeepValidate() throws Exception {
-        buildRule.executeTarget("testDeepValidate");
-    }
-
-    @Test
-    public void testXmlCatalog() {
-        buildRule.executeTarget("xmlcatalog");
-    }
-
-    @Test
-    public void testXmlCatalogViaRefid() {
-        buildRule.executeTarget("xmlcatalogViaRefid");
-    }
-
-    /**
-     * Test that the nested dtd element is used when resolver.jar is not
-     * present.  This test should pass either way.
-     */
-    @Test
-    public void testXmlCatalogFiles() {
-        buildRule.executeTarget("xmlcatalogfiles-override");
-    }
-
-    /**
-     * Test nested catalogpath.
-     * Test that the nested dtd element is used when resolver.jar is not
-     * present.  This test should pass either way.
-     */
-    @Test
-    public void testXmlCatalogPath() {
-        buildRule.executeTarget("xmlcatalogpath-override");
-    }
-
-    /**
-     * Test nested xmlcatalog definitions
-     */
-    @Test
-    public void testXmlCatalogNested() {
-        buildRule.executeTarget("xmlcatalognested");
-    }
-
-    /**
-     * Test xml schema validation
-     */
-    @Test
-    public void testXmlSchemaGood() throws BuildException {
-        try {
-            buildRule.executeTarget("testSchemaGood");
-        } catch (BuildException e) {
-            if (e
-                .getMessage()
-                .endsWith(" doesn't recognize feature http://apache.org/xml/features/validation/schema")
-                || e.getMessage().endsWith(
-                    " doesn't support feature http://apache.org/xml/features/validation/schema")) {
-                throw new AssumptionViolatedException("parser doesn't support schema");
-            } else {
-                throw e;
-            }
-        }
-    }
-    /**
-     * Test xml schema validation
-     */
-    @Test
-    public void testXmlSchemaBad() {
-        try {
-            buildRule.executeTarget("testSchemaBad");
-            fail("Should throw BuildException because 'Bad Schema Validation'");
-
-        } catch (BuildException e) {
-            if (e
-                .getMessage()
-                .endsWith(" doesn't recognize feature http://apache.org/xml/features/validation/schema")
-                || e.getMessage().endsWith(
-                    " doesn't support feature http://apache.org/xml/features/validation/schema")) {
-                throw new AssumptionViolatedException("parser doesn't support schema");
-            } else {
-                assertTrue(
-                    e.getMessage().indexOf("not a valid XML document") > -1);
-            }
-        }
-    }
-
-    /**
-     * iso-2022-jp.xml is valid but wouldn't get recognized on systems
-     * with a different native encoding.
-     *
-     * Bug 11279
-     */
-    @Test
-    public void testIso2022Jp() {
-        buildRule.executeTarget("testIso2022Jp");
-    }
-
-    /**
-     * utf-8.xml is invalid as it contains non-UTF-8 characters, but
-     * would pass on systems with a native iso-8859-1 (or similar)
-     * encoding.
-     *
-     * Bug 11279
-     */
-    @Test
-    public void testUtf8() {
-        try {
-            buildRule.executeTarget("testUtf8");
-            fail("Invalid characters in file");
-        } catch(BuildException ex) {
-          //TODO assert exception message
-        }
-    }
-
-    // Tests property element, using XML schema properties as an example.
-    @Test
-    public void testPropertySchemaForValidXML() {
-        buildRule.executeTarget("testProperty.validXML");
-    }
-
-    @Test
-    public void testPropertySchemaForInvalidXML() {
-        try {
-            buildRule.executeTarget("testProperty.invalidXML");
-            fail("XML file does not satisfy schema");
-        } catch(BuildException ex) {
-            //TODO assert exception message
-        }
-    }
-
-}
+/*
+ *  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
+ *
+ *      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
+ *  limitations under the License.
+ *
+ */
+package org.apache.tools.ant.taskdefs.optional;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.internal.AssumptionViolatedException;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+/**
+ * Tests the XMLValidate optional task, by running targets in the test script
+ * <code>src/etc/testcases/taskdefs/optional/xmlvalidate.xml</code>
+ * <p>
+ *
+ * @see XmlValidateCatalogTest
+ * @since Ant 1.5
+ */
+public class XmlValidateTest {
+
+    /**
+     * where tasks run
+     */
+    private final static String TASKDEFS_DIR =
+        "src/etc/testcases/taskdefs/optional/";
+
+    @Rule
+    public BuildFileRule buildRule = new BuildFileRule();
+
+    @Before
+    public void setUp() {
+        buildRule.configureProject(TASKDEFS_DIR + "xmlvalidate.xml");
+    }
+
+    /**
+     * Basic inline 'dtd' element test.
+     */
+    @Test
+    public void testValidate() throws Exception {
+        buildRule.executeTarget("testValidate");
+    }
+
+    /**
+     * Test indirect validation.
+     */
+    @Test
+    public void testDeepValidate() throws Exception {
+        buildRule.executeTarget("testDeepValidate");
+    }
+
+    @Test
+    public void testXmlCatalog() {
+        buildRule.executeTarget("xmlcatalog");
+    }
+
+    @Test
+    public void testXmlCatalogViaRefid() {
+        buildRule.executeTarget("xmlcatalogViaRefid");
+    }
+
+    /**
+     * Test that the nested dtd element is used when resolver.jar is not
+     * present.  This test should pass either way.
+     */
+    @Test
+    public void testXmlCatalogFiles() {
+        buildRule.executeTarget("xmlcatalogfiles-override");
+    }
+
+    /**
+     * Test nested catalogpath.
+     * Test that the nested dtd element is used when resolver.jar is not
+     * present.  This test should pass either way.
+     */
+    @Test
+    public void testXmlCatalogPath() {
+        buildRule.executeTarget("xmlcatalogpath-override");
+    }
+
+    /**
+     * Test nested xmlcatalog definitions
+     */
+    @Test
+    public void testXmlCatalogNested() {
+        buildRule.executeTarget("xmlcatalognested");
+    }
+
+    /**
+     * Test xml schema validation
+     */
+    @Test
+    public void testXmlSchemaGood() throws BuildException {
+        try {
+            buildRule.executeTarget("testSchemaGood");
+        } catch (BuildException e) {
+            if (e
+                .getMessage()
+                .endsWith(" doesn't recognize feature http://apache.org/xml/features/validation/schema")
+                || e.getMessage().endsWith(
+                    " doesn't support feature http://apache.org/xml/features/validation/schema")) {
+                throw new AssumptionViolatedException("parser doesn't support schema");
+            } else {
+                throw e;
+            }
+        }
+    }
+    /**
+     * Test xml schema validation
+     */
+    @Test
+    public void testXmlSchemaBad() {
+        try {
+            buildRule.executeTarget("testSchemaBad");
+            fail("Should throw BuildException because 'Bad Schema Validation'");
+
+        } catch (BuildException e) {
+            if (e
+                .getMessage()
+                .endsWith(" doesn't recognize feature http://apache.org/xml/features/validation/schema")
+                || e.getMessage().endsWith(
+                    " doesn't support feature http://apache.org/xml/features/validation/schema")) {
+                throw new AssumptionViolatedException("parser doesn't support schema");
+            } else {
+                assertTrue(
+                    e.getMessage().indexOf("not a valid XML document") > -1);
+            }
+        }
+    }
+
+    /**
+     * iso-2022-jp.xml is valid but wouldn't get recognized on systems
+     * with a different native encoding.
+     *
+     * Bug 11279
+     */
+    @Test
+    public void testIso2022Jp() {
+        buildRule.executeTarget("testIso2022Jp");
+    }
+
+    /**
+     * utf-8.xml is invalid as it contains non-UTF-8 characters, but
+     * would pass on systems with a native iso-8859-1 (or similar)
+     * encoding.
+     *
+     * Bug 11279
+     */
+    @Test
+    public void testUtf8() {
+        try {
+            buildRule.executeTarget("testUtf8");
+            fail("Invalid characters in file");
+        } catch(BuildException ex) {
+          //TODO assert exception message
+        }
+    }
+
+    // Tests property element, using XML schema properties as an example.
+    @Test
+    public void testPropertySchemaForValidXML() {
+        buildRule.executeTarget("testProperty.validXML");
+    }
+
+    @Test
+    public void testPropertySchemaForInvalidXML() {
+        try {
+            buildRule.executeTarget("testProperty.invalidXML");
+            fail("XML file does not satisfy schema");
+        } catch(BuildException ex) {
+            //TODO assert exception message
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/ant/blob/0ed7f4ab/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XsltTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XsltTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XsltTest.java
index 594dada..0a57cc5 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XsltTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XsltTest.java
@@ -1,86 +1,85 @@
-/*
- *  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
- *
- *      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
- *  limitations under the License.
- *
- */
-package org.apache.tools.ant.taskdefs.optional;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildFileRule;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import static org.junit.Assert.fail;
-
-/**
- * Tests the {@link org.apache.tools.ant.taskdefs.XSLTProcess} task.
- * TODO merge with {@link org.apache.tools.ant.taskdefs.StyleTest}?
- * @since Ant 1.5
- */
-public class XsltTest {
-
-    /**
-     * where tasks run
-     */
-    private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/optional/";
-
-    @Rule
-    public BuildFileRule buildRule = new BuildFileRule();
-
-    @Before
-    public void setUp() {
-        buildRule.configureProject(TASKDEFS_DIR + "xslt.xml");
-    }
-
-
-    @Test
-    public void testCatchNoDtd() {
-        try {
-            buildRule.executeTarget("testCatchNoDtd");
-            fail("Expected failure");
-        } catch(BuildException ex) {
-            //TODO assert exception message
-        }
-    }
-
-    @Test
-    public void testCatalog() throws Exception {
-         buildRule.executeTarget("testCatalog");
-    }
-
-    @Test
-    public void testOutputProperty() throws Exception {
-      buildRule.executeTarget("testOutputProperty");
-    }
-
-    @Test
-    public void testXMLWithEntitiesInNonAsciiPath() throws Exception {
-        buildRule.executeTarget("testXMLWithEntitiesInNonAsciiPath");
-    }
-
-    /**
-     * check that the system id gets set properly on stylesheets.
-     * @throws Exception if something goes wrong.
-     */
-    @Test
-    public void testStyleSheetWithInclude() throws Exception {
-        buildRule.executeTarget("testStyleSheetWithInclude");
-        if (buildRule.getLog().indexOf("java.io.FileNotFoundException") != -1) {
-            fail("xsl:include was not found");
-        }
-    }
-}
-
+/*
+ *  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
+ *
+ *      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
+ *  limitations under the License.
+ *
+ */
+package org.apache.tools.ant.taskdefs.optional;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static org.junit.Assert.fail;
+
+/**
+ * Tests the {@link org.apache.tools.ant.taskdefs.XSLTProcess} task.
+ * TODO merge with {@link org.apache.tools.ant.taskdefs.StyleTest}?
+ * @since Ant 1.5
+ */
+public class XsltTest {
+
+    /**
+     * where tasks run
+     */
+    private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/optional/";
+
+    @Rule
+    public BuildFileRule buildRule = new BuildFileRule();
+
+    @Before
+    public void setUp() {
+        buildRule.configureProject(TASKDEFS_DIR + "xslt.xml");
+    }
+
+
+    @Test
+    public void testCatchNoDtd() {
+        try {
+            buildRule.executeTarget("testCatchNoDtd");
+            fail("Expected failure");
+        } catch(BuildException ex) {
+            //TODO assert exception message
+        }
+    }
+
+    @Test
+    public void testCatalog() throws Exception {
+         buildRule.executeTarget("testCatalog");
+    }
+
+    @Test
+    public void testOutputProperty() throws Exception {
+      buildRule.executeTarget("testOutputProperty");
+    }
+
+    @Test
+    public void testXMLWithEntitiesInNonAsciiPath() throws Exception {
+        buildRule.executeTarget("testXMLWithEntitiesInNonAsciiPath");
+    }
+
+    /**
+     * check that the system id gets set properly on stylesheets.
+     * @throws Exception if something goes wrong.
+     */
+    @Test
+    public void testStyleSheetWithInclude() throws Exception {
+        buildRule.executeTarget("testStyleSheetWithInclude");
+        if (buildRule.getLog().indexOf("java.io.FileNotFoundException") != -1) {
+            fail("xsl:include was not found");
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/ant/blob/0ed7f4ab/src/tests/junit/org/apache/tools/ant/taskdefs/optional/depend/DependTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/depend/DependTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/depend/DependTest.java
index 01e0575..b119f37 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/depend/DependTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/depend/DependTest.java
@@ -1,213 +1,213 @@
-/*
- *  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
- *
- *      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
- *  limitations under the License.
- *
- */
-
-package org.apache.tools.ant.taskdefs.optional.depend;
-
-import java.io.File;
-import java.util.Hashtable;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildFileRule;
-import org.apache.tools.ant.DirectoryScanner;
-import org.apache.tools.ant.FileUtilities;
-import org.apache.tools.ant.types.FileSet;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import static org.apache.tools.ant.AntAssert.assertContains;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-/**
- * Testcase for the Depend optional task.
- *
- */
-public class DependTest {
-    public static final String RESULT_FILESET = "result";
-
-    public static final String TEST_BUILD_FILE
-        = "src/etc/testcases/taskdefs/optional/depend/depend.xml";
-
-    @Rule
-    public BuildFileRule buildRule = new BuildFileRule();
-
-    @Before
-    public void setUp() {
-        buildRule.configureProject(TEST_BUILD_FILE);
-    }
-
-    /**
-     * Test direct dependency removal
-     */
-    @Test
-    public void testDirect() {
-        buildRule.executeTarget("src1setup");
-        buildRule.executeTarget("compile");
-
-        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5);
-        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5);
-
-        buildRule.executeTarget("testdirect");
-        Hashtable files = getResultFiles();
-        assertEquals("Depend did not leave correct number of files", 3,
-            files.size());
-        assertTrue("Result did not contain A.class",
-            files.containsKey("A.class"));
-        assertTrue("Result did not contain D.class",
-            files.containsKey("D.class"));
-    }
-
-    /**
-     * Test dependency traversal (closure)
-     */
-    @Test
-    public void testClosure() {
-        buildRule.executeTarget("src1setup");
-        buildRule.executeTarget("compile");
-
-        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5);
-        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5);
-
-        buildRule.executeTarget("testclosure");
-        Hashtable files = getResultFiles();
-        assertTrue("Depend did not leave correct number of files", 
-            files.size() <= 2);
-        assertTrue("Result did not contain D.class",
-            files.containsKey("D.class"));
-    }
-
-    /**
-     * Test that inner class dependencies trigger deletion of the outer class
-     */
-    @Test
-    public void testInner() {
-        buildRule.executeTarget("src2setup");
-        buildRule.executeTarget("compile");
-
-        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5);
-        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5);
-
-
-        buildRule.executeTarget("testinner");
-        assertEquals("Depend did not leave correct number of files", 0,
-            getResultFiles().size());
-    }
-
-    /**
-     * Test that multi-leve inner class dependencies trigger deletion of
-     * the outer class
-     */
-    @Test
-    public void testInnerInner() {
-        buildRule.executeTarget("src3setup");
-        buildRule.executeTarget("compile");
-
-        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5);
-        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5);
-
-        buildRule.executeTarget("testinnerinner");
-        assertEquals("Depend did not leave correct number of files", 0,
-            getResultFiles().size());
-    }
-
-    /**
-     * Test that an exception is thrown when there is no source
-     */
-    @Test
-    public void testNoSource() {
-        try {
-            buildRule.executeTarget("testnosource");
-            fail("Build exception expected: No source specified");
-        } catch(BuildException ex) {
-            assertContains("srcdir attribute must be set", ex.getMessage());
-        }
-    }
-
-    /**
-     * Test that an exception is thrown when the source attribute is empty
-     */
-    @Test
-    public void testEmptySource() {
-        try {
-            buildRule.executeTarget("testemptysource");
-            fail("Build exception expected: No source specified");
-        } catch(BuildException ex) {
-            assertContains("srcdir attribute must be non-empty", ex.getMessage());
-        }
-    }
-
-    /**
-     * Read the result fileset into a Hashtable
-     *
-     * @return a Hashtable containing the names of the files in the result
-     * fileset
-     */
-    private Hashtable getResultFiles() {
-        FileSet resultFileSet = (FileSet) buildRule.getProject().getReference(RESULT_FILESET);
-        DirectoryScanner scanner = resultFileSet.getDirectoryScanner(buildRule.getProject());
-        String[] scannedFiles = scanner.getIncludedFiles();
-        Hashtable files = new Hashtable();
-        for (int i = 0; i < scannedFiles.length; ++i) {
-            files.put(scannedFiles[i], scannedFiles[i]);
-        }
-        return files;
-    }
-
-
-    /**
-     * Test mutual dependency between inner and outer do not cause both to be
-     * deleted
-     */
-    @Test
-    public void testInnerClosure() {
-        buildRule.executeTarget("testinnerclosure");
-        assertEquals("Depend did not leave correct number of files", 4,
-            getResultFiles().size());
-    }
-
-    /**
-     * Test the operation of the cache
-     */
-    @Test
-    public void testCache() {
-        buildRule.executeTarget("testcache");
-    }
-
-    /**
-     * Test the detection and warning of non public classes
-     */
-    @Test
-    public void testNonPublic() {
-        buildRule.executeTarget("src5setup");
-        buildRule.executeTarget("compile");
-
-        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5);
-        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5);
-
-        buildRule.executeTarget("testnonpublic");
-        String log = buildRule.getLog();
-        assertContains("Expected warning about APrivate",
-            "The class APrivate in file", log);
-        assertContains("but has not been deleted because its source file "
-            + "could not be determined",
-            "The class APrivate in file", log);
-    }
-
-}
+/*
+ *  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
+ *
+ *      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
+ *  limitations under the License.
+ *
+ */
+
+package org.apache.tools.ant.taskdefs.optional.depend;
+
+import java.io.File;
+import java.util.Hashtable;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
+import org.apache.tools.ant.DirectoryScanner;
+import org.apache.tools.ant.FileUtilities;
+import org.apache.tools.ant.types.FileSet;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static org.apache.tools.ant.AntAssert.assertContains;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+/**
+ * Testcase for the Depend optional task.
+ *
+ */
+public class DependTest {
+    public static final String RESULT_FILESET = "result";
+
+    public static final String TEST_BUILD_FILE
+        = "src/etc/testcases/taskdefs/optional/depend/depend.xml";
+
+    @Rule
+    public BuildFileRule buildRule = new BuildFileRule();
+
+    @Before
+    public void setUp() {
+        buildRule.configureProject(TEST_BUILD_FILE);
+    }
+
+    /**
+     * Test direct dependency removal
+     */
+    @Test
+    public void testDirect() {
+        buildRule.executeTarget("src1setup");
+        buildRule.executeTarget("compile");
+
+        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5);
+        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5);
+
+        buildRule.executeTarget("testdirect");
+        Hashtable files = getResultFiles();
+        assertEquals("Depend did not leave correct number of files", 3,
+            files.size());
+        assertTrue("Result did not contain A.class",
+            files.containsKey("A.class"));
+        assertTrue("Result did not contain D.class",
+            files.containsKey("D.class"));
+    }
+
+    /**
+     * Test dependency traversal (closure)
+     */
+    @Test
+    public void testClosure() {
+        buildRule.executeTarget("src1setup");
+        buildRule.executeTarget("compile");
+
+        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5);
+        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5);
+
+        buildRule.executeTarget("testclosure");
+        Hashtable files = getResultFiles();
+        assertTrue("Depend did not leave correct number of files",
+            files.size() <= 2);
+        assertTrue("Result did not contain D.class",
+            files.containsKey("D.class"));
+    }
+
+    /**
+     * Test that inner class dependencies trigger deletion of the outer class
+     */
+    @Test
+    public void testInner() {
+        buildRule.executeTarget("src2setup");
+        buildRule.executeTarget("compile");
+
+        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5);
+        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5);
+
+
+        buildRule.executeTarget("testinner");
+        assertEquals("Depend did not leave correct number of files", 0,
+            getResultFiles().size());
+    }
+
+    /**
+     * Test that multi-leve inner class dependencies trigger deletion of
+     * the outer class
+     */
+    @Test
+    public void testInnerInner() {
+        buildRule.executeTarget("src3setup");
+        buildRule.executeTarget("compile");
+
+        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5);
+        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5);
+
+        buildRule.executeTarget("testinnerinner");
+        assertEquals("Depend did not leave correct number of files", 0,
+            getResultFiles().size());
+    }
+
+    /**
+     * Test that an exception is thrown when there is no source
+     */
+    @Test
+    public void testNoSource() {
+        try {
+            buildRule.executeTarget("testnosource");
+            fail("Build exception expected: No source specified");
+        } catch(BuildException ex) {
+            assertContains("srcdir attribute must be set", ex.getMessage());
+        }
+    }
+
+    /**
+     * Test that an exception is thrown when the source attribute is empty
+     */
+    @Test
+    public void testEmptySource() {
+        try {
+            buildRule.executeTarget("testemptysource");
+            fail("Build exception expected: No source specified");
+        } catch(BuildException ex) {
+            assertContains("srcdir attribute must be non-empty", ex.getMessage());
+        }
+    }
+
+    /**
+     * Read the result fileset into a Hashtable
+     *
+     * @return a Hashtable containing the names of the files in the result
+     * fileset
+     */
+    private Hashtable getResultFiles() {
+        FileSet resultFileSet = (FileSet) buildRule.getProject().getReference(RESULT_FILESET);
+        DirectoryScanner scanner = resultFileSet.getDirectoryScanner(buildRule.getProject());
+        String[] scannedFiles = scanner.getIncludedFiles();
+        Hashtable files = new Hashtable();
+        for (int i = 0; i < scannedFiles.length; ++i) {
+            files.put(scannedFiles[i], scannedFiles[i]);
+        }
+        return files;
+    }
+
+
+    /**
+     * Test mutual dependency between inner and outer do not cause both to be
+     * deleted
+     */
+    @Test
+    public void testInnerClosure() {
+        buildRule.executeTarget("testinnerclosure");
+        assertEquals("Depend did not leave correct number of files", 4,
+            getResultFiles().size());
+    }
+
+    /**
+     * Test the operation of the cache
+     */
+    @Test
+    public void testCache() {
+        buildRule.executeTarget("testcache");
+    }
+
+    /**
+     * Test the detection and warning of non public classes
+     */
+    @Test
+    public void testNonPublic() {
+        buildRule.executeTarget("src5setup");
+        buildRule.executeTarget("compile");
+
+        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5);
+        FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5);
+
+        buildRule.executeTarget("testnonpublic");
+        String log = buildRule.getLog();
+        assertContains("Expected warning about APrivate",
+            "The class APrivate in file", log);
+        assertContains("but has not been deleted because its source file "
+            + "could not be determined",
+            "The class APrivate in file", log);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/ant/blob/0ed7f4ab/src/tests/junit/org/apache/tools/ant/taskdefs/optional/i18n/TranslateTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/i18n/TranslateTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/i18n/TranslateTest.java
index b8749c0..812979c 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/i18n/TranslateTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/i18n/TranslateTest.java
@@ -1,87 +1,86 @@
-/*
- *  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
- *
- *      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
- *  limitations under the License.
- *
- */
-
-package org.apache.tools.ant.taskdefs.optional.i18n;
-
-import org.apache.tools.ant.BuildFileRule;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-
-import static org.junit.Assert.assertTrue;
-
-/**
- * Tests the Translate task.
- *
- * @since     Ant 1.6
- */
-public class TranslateTest {
-
-    @Rule
-    public final BuildFileRule buildRule = new BuildFileRule();
-
-    static private final int BUF_SIZE = 32768;
-
-    private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/optional/i18n/translate";
-
-
-
-    @Before
-    public void setUp() {
-        buildRule.configureProject(TASKDEFS_DIR + "/translate.xml");
-    }
-
-    @Test
-    public void test1() throws IOException {
-        buildRule.executeTarget("test1");
-        assertTrue("translation of "+ TASKDEFS_DIR + "/input/template.txt",compareFiles(new File(buildRule.getProject().getBaseDir(), "expected/de/template.txt"),
-                new File(buildRule.getOutputDir(), "de/template.txt")));
-    }
-    private boolean compareFiles(File file1, File file2) throws IOException {
-        if (!file1.exists() || !file2.exists()) {
-            return false;
-        }
-
-        if (file1.length() != file2.length()) {
-            return false;
-        }
-
-        // byte - byte compare
-        byte[] buffer1 = new byte[BUF_SIZE];
-        byte[] buffer2 = new byte[BUF_SIZE];
-
-        FileInputStream fis1 = new FileInputStream(file1);
-        FileInputStream fis2 = new FileInputStream(file2);
-        int index = 0;
-        int read = 0;
-        while ((read = fis1.read(buffer1)) != -1) {
-            fis2.read(buffer2);
-            for (int i = 0; i < read; ++i, ++index) {
-                if (buffer1[i] != buffer2[i]) {
-                    return false;
-                }
-            }
-        }
-        return true;
-    }
-}
-
+/*
+ *  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
+ *
+ *      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
+ *  limitations under the License.
+ *
+ */
+
+package org.apache.tools.ant.taskdefs.optional.i18n;
+
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+import static org.junit.Assert.assertTrue;
+
+/**
+ * Tests the Translate task.
+ *
+ * @since     Ant 1.6
+ */
+public class TranslateTest {
+
+    @Rule
+    public final BuildFileRule buildRule = new BuildFileRule();
+
+    static private final int BUF_SIZE = 32768;
+
+    private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/optional/i18n/translate";
+
+
+
+    @Before
+    public void setUp() {
+        buildRule.configureProject(TASKDEFS_DIR + "/translate.xml");
+    }
+
+    @Test
+    public void test1() throws IOException {
+        buildRule.executeTarget("test1");
+        assertTrue("translation of "+ TASKDEFS_DIR + "/input/template.txt",compareFiles(new File(buildRule.getProject().getBaseDir(), "expected/de/template.txt"),
+                new File(buildRule.getOutputDir(), "de/template.txt")));
+    }
+    private boolean compareFiles(File file1, File file2) throws IOException {
+        if (!file1.exists() || !file2.exists()) {
+            return false;
+        }
+
+        if (file1.length() != file2.length()) {
+            return false;
+        }
+
+        // byte - byte compare
+        byte[] buffer1 = new byte[BUF_SIZE];
+        byte[] buffer2 = new byte[BUF_SIZE];
+
+        FileInputStream fis1 = new FileInputStream(file1);
+        FileInputStream fis2 = new FileInputStream(file2);
+        int index = 0;
+        int read = 0;
+        while ((read = fis1.read(buffer1)) != -1) {
+            fis2.read(buffer2);
+            for (int i = 0; i < read; ++i, ++index) {
+                if (buffer1[i] != buffer2[i]) {
+                    return false;
+                }
+            }
+        }
+        return true;
+    }
+}

http://git-wip-us.apache.org/repos/asf/ant/blob/0ed7f4ab/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageTest.java
index a13a466..eeece1c 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageTest.java
@@ -1,133 +1,132 @@
-/*
- *  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
- *
- *      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
- *  limitations under the License.
- *
- */
-
-package org.apache.tools.ant.taskdefs.optional.image;
-
-import org.apache.tools.ant.AntAssert;
-import org.apache.tools.ant.BuildFileRule;
-import org.apache.tools.ant.util.FileUtils;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
-
-import java.io.File;
-
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
-
-
-/**
- * Tests the Image task.
- *
- * @since     Ant 1.5
- */
-public class ImageTest {
-
-    private final static String TASKDEFS_DIR = 
-        "src/etc/testcases/taskdefs/optional/image/";
-    private final static String LARGEIMAGE = "largeimage.jpg";
-
-    private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
-
-    @Rule
-    public BuildFileRule buildRule = new BuildFileRule();
-
-    @Before
-    public void setUp() {
-        buildRule.configureProject(TASKDEFS_DIR + "image.xml");
-    }
-
-
-    @Test
-    public void testEchoToLog() {
-        buildRule.executeTarget("testEchoToLog");
-        AntAssert.assertContains("Processing File", buildRule.getLog());
-    }
-
-    @Test
-    public void testSimpleScale(){
-        buildRule.executeTarget("testSimpleScale");
-        AntAssert.assertContains("Processing File", buildRule.getLog());
-
-        File f = new File(buildRule.getOutputDir(), LARGEIMAGE);
-        assertTrue(
-                   "Did not create "+f.getAbsolutePath(),
-                   f.exists());
-
-    }
-
-    @Test
-    public void testOverwriteTrue() throws InterruptedException {
-        buildRule.executeTarget("testSimpleScale");
-        AntAssert.assertContains("Processing File", buildRule.getLog());
-        File f = new File(buildRule.getOutputDir(), LARGEIMAGE);
-        assumeTrue("Could not change file modificaiton date",
-                f.setLastModified(f.lastModified() - (FILE_UTILS.getFileTimestampGranularity() * 2)));
-        long lastModified = f.lastModified();
-        buildRule.executeTarget("testOverwriteTrue");
-        AntAssert.assertContains("Processing File", buildRule.getLog());
-        f = new File(buildRule.getOutputDir(), LARGEIMAGE);
-        long overwrittenLastModified = f.lastModified();
-        assertTrue("File was not overwritten.",
-                   lastModified < overwrittenLastModified);
-    }
-
-    @Test
-    public void testOverwriteFalse() {
-        buildRule.executeTarget("testSimpleScale");
-        AntAssert.assertContains("Processing File", buildRule.getLog());
-        File f = new File(buildRule.getOutputDir(), LARGEIMAGE);
-        long lastModified = f.lastModified();
-        buildRule.executeTarget("testOverwriteFalse");
-        AntAssert.assertContains("Processing File", buildRule.getLog());
-        f = new File(buildRule.getOutputDir(), LARGEIMAGE);
-        long overwrittenLastModified = f.lastModified();
-        assertTrue("File was overwritten.",
-                   lastModified == overwrittenLastModified);
-    }
-
-    @Test
-    public void testSimpleScaleWithMapper() {
-        buildRule.executeTarget("testSimpleScaleWithMapper");
-        AntAssert.assertContains("Processing File", buildRule.getLog());
-        File f = new File(buildRule.getOutputDir(), "scaled-" + LARGEIMAGE);
-        assertTrue(
-                   "Did not create "+f.getAbsolutePath(),
-                   f.exists());
-
-    }
-
-    @Test
-    @Ignore("Previously named in a manner to prevent execution")
-    public void testFailOnError() {
-        try {
-            buildRule.executeTarget("testFailOnError");
-            AntAssert.assertContains("Unable to process image stream", buildRule.getLog());
-        }
-        catch (RuntimeException re){
-            assertTrue("Run time exception should say "
-                       + "'Unable to process image stream'. :" 
-                       + re.toString(),
-                       re.toString()
-                       .indexOf("Unable to process image stream") > -1);
-        }
-    }
-
-}
-
+/*
+ *  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
+ *
+ *      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
+ *  limitations under the License.
+ *
+ */
+
+package org.apache.tools.ant.taskdefs.optional.image;
+
+import org.apache.tools.ant.AntAssert;
+import org.apache.tools.ant.BuildFileRule;
+import org.apache.tools.ant.util.FileUtils;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+
+import java.io.File;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assume.assumeTrue;
+
+
+/**
+ * Tests the Image task.
+ *
+ * @since     Ant 1.5
+ */
+public class ImageTest {
+
+    private final static String TASKDEFS_DIR =
+        "src/etc/testcases/taskdefs/optional/image/";
+    private final static String LARGEIMAGE = "largeimage.jpg";
+
+    private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
+
+    @Rule
+    public BuildFileRule buildRule = new BuildFileRule();
+
+    @Before
+    public void setUp() {
+        buildRule.configureProject(TASKDEFS_DIR + "image.xml");
+    }
+
+
+    @Test
+    public void testEchoToLog() {
+        buildRule.executeTarget("testEchoToLog");
+        AntAssert.assertContains("Processing File", buildRule.getLog());
+    }
+
+    @Test
+    public void testSimpleScale(){
+        buildRule.executeTarget("testSimpleScale");
+        AntAssert.assertContains("Processing File", buildRule.getLog());
+
+        File f = new File(buildRule.getOutputDir(), LARGEIMAGE);
+        assertTrue(
+                   "Did not create "+f.getAbsolutePath(),
+                   f.exists());
+
+    }
+
+    @Test
+    public void testOverwriteTrue() throws InterruptedException {
+        buildRule.executeTarget("testSimpleScale");
+        AntAssert.assertContains("Processing File", buildRule.getLog());
+        File f = new File(buildRule.getOutputDir(), LARGEIMAGE);
+        assumeTrue("Could not change file modificaiton date",
+                f.setLastModified(f.lastModified() - (FILE_UTILS.getFileTimestampGranularity() * 2)));
+        long lastModified = f.lastModified();
+        buildRule.executeTarget("testOverwriteTrue");
+        AntAssert.assertContains("Processing File", buildRule.getLog());
+        f = new File(buildRule.getOutputDir(), LARGEIMAGE);
+        long overwrittenLastModified = f.lastModified();
+        assertTrue("File was not overwritten.",
+                   lastModified < overwrittenLastModified);
+    }
+
+    @Test
+    public void testOverwriteFalse() {
+        buildRule.executeTarget("testSimpleScale");
+        AntAssert.assertContains("Processing File", buildRule.getLog());
+        File f = new File(buildRule.getOutputDir(), LARGEIMAGE);
+        long lastModified = f.lastModified();
+        buildRule.executeTarget("testOverwriteFalse");
+        AntAssert.assertContains("Processing File", buildRule.getLog());
+        f = new File(buildRule.getOutputDir(), LARGEIMAGE);
+        long overwrittenLastModified = f.lastModified();
+        assertTrue("File was overwritten.",
+                   lastModified == overwrittenLastModified);
+    }
+
+    @Test
+    public void testSimpleScaleWithMapper() {
+        buildRule.executeTarget("testSimpleScaleWithMapper");
+        AntAssert.assertContains("Processing File", buildRule.getLog());
+        File f = new File(buildRule.getOutputDir(), "scaled-" + LARGEIMAGE);
+        assertTrue(
+                   "Did not create "+f.getAbsolutePath(),
+                   f.exists());
+
+    }
+
+    @Test
+    @Ignore("Previously named in a manner to prevent execution")
+    public void testFailOnError() {
+        try {
+            buildRule.executeTarget("testFailOnError");
+            AntAssert.assertContains("Unable to process image stream", buildRule.getLog());
+        }
+        catch (RuntimeException re){
+            assertTrue("Run time exception should say "
+                       + "'Unable to process image stream'. :"
+                       + re.toString(),
+                       re.toString()
+                       .indexOf("Unable to process image stream") > -1);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/ant/blob/0ed7f4ab/src/tests/junit/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTest.java
index 54c6055..545b7cb 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTest.java
@@ -1,99 +1,99 @@
-/*
- *  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
- *
- *      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
- *  limitations under the License.
- *
- */
-
-package org.apache.tools.ant.taskdefs.optional.jdepend;
-
-import org.apache.tools.ant.AntAssert;
-import org.apache.tools.ant.BuildFileRule;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-/**
- * Testcase for the JDepend optional task.
- *
- */
-public class JDependTest {
-
-    @Rule
-    public BuildFileRule buildRule = new BuildFileRule();
-
-    @Before
-    public void setUp() {
-        buildRule.configureProject(
-                "src/etc/testcases/taskdefs/optional/jdepend/jdepend.xml");
-    }
-
-    /**
-     * Test simple
-     */
-    @Test
-    public void testSimple() {
-        buildRule.executeTarget("simple");
-        AntAssert.assertContains("Package: org.apache.tools.ant.util.facade",
-                buildRule.getOutput());
-    }
-
-    /**
-     * Test xml
-     */
-    @Test
-    public void testXml() {
-        buildRule.executeTarget("xml");
-        AntAssert.assertContains("<DependsUpon>", buildRule.getOutput());
-    }
-
-    /**
-     * Test fork
-     * - forked output goes to log
-     */
-    @Test
-    public void testFork() {
-        buildRule.executeTarget("fork");
-        AntAssert.assertContains("Package: org.apache.tools.ant.util.facade", buildRule.getLog());
-    }
-
-    /**
-     * Test fork xml
-     */
-    @Test
-    public void testForkXml() {
-        buildRule.executeTarget("fork-xml");
-        AntAssert.assertContains("<DependsUpon>", buildRule.getLog());
-    }
-
-    /**
-     * Test timeout
-     */
-    @Test
-    public void testTimeout() {
-        buildRule.executeTarget("fork-xml");
-        AntAssert.assertContains( "JDepend FAILED - Timed out", buildRule.getLog());
-    }
-
-
-    /**
-     * Test timeout without timing out
-     */
-    @Test
-    public void testTimeoutNot() {
-        buildRule.executeTarget("fork-timeout-not");
-        AntAssert.assertContains("Package: org.apache.tools.ant.util.facade", buildRule.getLog());
-    }
-
-}
+/*
+ *  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
+ *
+ *      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
+ *  limitations under the License.
+ *
+ */
+
+package org.apache.tools.ant.taskdefs.optional.jdepend;
+
+import org.apache.tools.ant.AntAssert;
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+/**
+ * Testcase for the JDepend optional task.
+ *
+ */
+public class JDependTest {
+
+    @Rule
+    public BuildFileRule buildRule = new BuildFileRule();
+
+    @Before
+    public void setUp() {
+        buildRule.configureProject(
+                "src/etc/testcases/taskdefs/optional/jdepend/jdepend.xml");
+    }
+
+    /**
+     * Test simple
+     */
+    @Test
+    public void testSimple() {
+        buildRule.executeTarget("simple");
+        AntAssert.assertContains("Package: org.apache.tools.ant.util.facade",
+                buildRule.getOutput());
+    }
+
+    /**
+     * Test xml
+     */
+    @Test
+    public void testXml() {
+        buildRule.executeTarget("xml");
+        AntAssert.assertContains("<DependsUpon>", buildRule.getOutput());
+    }
+
+    /**
+     * Test fork
+     * - forked output goes to log
+     */
+    @Test
+    public void testFork() {
+        buildRule.executeTarget("fork");
+        AntAssert.assertContains("Package: org.apache.tools.ant.util.facade", buildRule.getLog());
+    }
+
+    /**
+     * Test fork xml
+     */
+    @Test
+    public void testForkXml() {
+        buildRule.executeTarget("fork-xml");
+        AntAssert.assertContains("<DependsUpon>", buildRule.getLog());
+    }
+
+    /**
+     * Test timeout
+     */
+    @Test
+    public void testTimeout() {
+        buildRule.executeTarget("fork-xml");
+        AntAssert.assertContains( "JDepend FAILED - Timed out", buildRule.getLog());
+    }
+
+
+    /**
+     * Test timeout without timing out
+     */
+    @Test
+    public void testTimeoutNot() {
+        buildRule.executeTarget("fork-timeout-not");
+        AntAssert.assertContains("Package: org.apache.tools.ant.util.facade", buildRule.getLog());
+    }
+
+}


Mime
View raw message