git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@277669 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -21,7 +21,6 @@ | |||||
| <property name="tmpdir" value="tmpdir"/> | <property name="tmpdir" value="tmpdir"/> | ||||
| <property name="trunkdir" value="${tmpdir}/trunk"/> | <property name="trunkdir" value="${tmpdir}/trunk"/> | ||||
| <property name="file" value="ebcdic.h"/> | |||||
| <target name="setup"> | <target name="setup"> | ||||
| <mkdir dir="${tmpdir}"/> | <mkdir dir="${tmpdir}"/> | ||||
| @@ -21,7 +21,6 @@ | |||||
| <property name="tmpdir" value="tmpdir"/> | <property name="tmpdir" value="tmpdir"/> | ||||
| <property name="trunkdir" value="${tmpdir}/trunk"/> | <property name="trunkdir" value="${tmpdir}/trunk"/> | ||||
| <property name="file" value="ebcdic.h"/> | |||||
| <target name="dir-prep"> | <target name="dir-prep"> | ||||
| <mkdir dir="${tmpdir}"/> | <mkdir dir="${tmpdir}"/> | ||||
| @@ -44,8 +43,7 @@ | |||||
| destfile="${tmpdir}/diff.xml" start="152904" end="153682"/> | destfile="${tmpdir}/diff.xml" start="152904" end="153682"/> | ||||
| </target> | </target> | ||||
| <target name="report"> | |||||
| <!--target name="report" depends="diff-using-url"--> | |||||
| <target name="report" depends="diff-using-url"> | |||||
| <style in="${tmpdir}/diff.xml" | <style in="${tmpdir}/diff.xml" | ||||
| out="${tmpdir}/diff.html" | out="${tmpdir}/diff.html" | ||||
| style="src/etc/revisiondiff.xsl"> | style="src/etc/revisiondiff.xsl"> | ||||
| @@ -0,0 +1,146 @@ | |||||
| /* | |||||
| * Copyright 2005 The Apache Software Foundation | |||||
| * | |||||
| * Licensed 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.svn; | |||||
| import java.io.IOException; | |||||
| import java.io.FileReader; | |||||
| import org.apache.tools.ant.BuildFileTest; | |||||
| import org.apache.tools.ant.util.FileUtils; | |||||
| import junit.framework.Assert; | |||||
| /** | |||||
| */ | |||||
| public class SvnChangeLogTaskTest extends BuildFileTest { | |||||
| public SvnChangeLogTaskTest(String name) { | |||||
| super(name); | |||||
| } | |||||
| public void setUp() { | |||||
| configureProject("src/etc/testcases/changelog.xml"); | |||||
| } | |||||
| public void tearDown() { | |||||
| executeTarget("cleanup"); | |||||
| } | |||||
| public void testLog() throws IOException { | |||||
| String log = executeTargetAndReadLogFully("log"); | |||||
| assertRev153687(log); | |||||
| assertRev152685(log); | |||||
| } | |||||
| public void testStart() throws IOException { | |||||
| String log = executeTargetAndReadLogFully("start"); | |||||
| assertRev153687(log); | |||||
| assertNoRev152685(log); | |||||
| } | |||||
| public void testStartDate() throws IOException { | |||||
| String log = executeTargetAndReadLogFully("startDate"); | |||||
| assertRev153687(log); | |||||
| assertNoRev152685(log); | |||||
| } | |||||
| public void testEnd() throws IOException { | |||||
| String log = executeTargetAndReadLogFully("end"); | |||||
| assertNoRev153687(log); | |||||
| assertRev152685(log); | |||||
| } | |||||
| public void testEndDate() throws IOException { | |||||
| String log = executeTargetAndReadLogFully("endDate"); | |||||
| assertNoRev153687(log); | |||||
| assertRev152685(log); | |||||
| } | |||||
| private String executeTargetAndReadLogFully(String target) | |||||
| throws IOException { | |||||
| executeTarget(target); | |||||
| FileReader r = new FileReader(getProject() | |||||
| .resolveFile("tmpdir/log.xml")); | |||||
| try { | |||||
| return FileUtils.readFully(r); | |||||
| } finally { | |||||
| r.close(); | |||||
| } | |||||
| } | |||||
| private static final void assertRev153687(String log) { | |||||
| int rev = log.indexOf("<revision>153687</revision>"); | |||||
| Assert.assertTrue(rev > -1); | |||||
| int entryBeforeRev = log.lastIndexOf("<entry>", rev); | |||||
| int entryAfterRev = log.indexOf("</entry>", rev); | |||||
| Assert.assertTrue(entryBeforeRev > -1); | |||||
| Assert.assertTrue(entryAfterRev > -1); | |||||
| Assert | |||||
| .assertTrue(log.lastIndexOf("<author><![CDATA[dbrosius]]></author>", | |||||
| rev) > entryBeforeRev); | |||||
| Assert | |||||
| .assertTrue(log.indexOf("<name><![CDATA[/jakarta/bcel/trunk/src" | |||||
| + "/java/org/apache/bcel/util/BCELifier." | |||||
| + "java]]></name>", rev) < entryAfterRev); | |||||
| Assert | |||||
| .assertTrue(log.indexOf("<action>modified</action>", rev) | |||||
| < entryAfterRev); | |||||
| Assert | |||||
| .assertTrue(log.indexOf("<message><![CDATA[Update BCELifier to " | |||||
| + "handle the new method access flags " | |||||
| + "(ACC_BRIDGE, ACC_VARARGS)]]></message>", | |||||
| rev) | |||||
| < entryAfterRev); | |||||
| } | |||||
| private static final void assertRev152685(String log) { | |||||
| int rev = log.indexOf("<revision>152685</revision>"); | |||||
| Assert.assertTrue(rev > -1); | |||||
| int entryBeforeRev = log.lastIndexOf("<entry>", rev); | |||||
| int entryAfterRev = log.indexOf("</entry>", rev); | |||||
| Assert.assertTrue(entryBeforeRev > -1); | |||||
| Assert.assertTrue(entryAfterRev > -1); | |||||
| Assert | |||||
| .assertTrue(log.lastIndexOf("<![CDATA[(no author)]]>", rev) | |||||
| > entryBeforeRev); | |||||
| Assert | |||||
| .assertTrue(log.indexOf("<name><![CDATA[/jakarta/bcel/branches]]>" | |||||
| + "</name>", rev) < entryAfterRev); | |||||
| Assert | |||||
| .assertTrue(log.indexOf("<action>added</action>", rev) | |||||
| < entryAfterRev); | |||||
| Assert | |||||
| .assertTrue(log.indexOf("<message><![CDATA[New repository " | |||||
| + "initialized by cvs2svn.]]></message>", | |||||
| rev) | |||||
| < entryAfterRev); | |||||
| } | |||||
| private static final void assertNoRev153687(String log) { | |||||
| int rev = log.indexOf("<revision>153687</revision>"); | |||||
| Assert.assertEquals(-1, rev); | |||||
| } | |||||
| private static final void assertNoRev152685(String log) { | |||||
| int rev = log.indexOf("<revision>152685</revision>"); | |||||
| Assert.assertEquals(-1, rev); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,136 @@ | |||||
| /* | |||||
| * Copyright 2005 The Apache Software Foundation | |||||
| * | |||||
| * Licensed 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.svn; | |||||
| import java.io.IOException; | |||||
| import java.io.FileReader; | |||||
| import org.apache.tools.ant.BuildFileTest; | |||||
| import org.apache.tools.ant.util.FileUtils; | |||||
| import junit.framework.Assert; | |||||
| /** | |||||
| */ | |||||
| public class SvnRevisionDiffTest extends BuildFileTest { | |||||
| public SvnRevisionDiffTest(String name) { | |||||
| super(name); | |||||
| } | |||||
| public void setUp() { | |||||
| configureProject("src/etc/testcases/revisiondiff.xml"); | |||||
| } | |||||
| public void tearDown() { | |||||
| executeTarget("cleanup"); | |||||
| } | |||||
| public void testDiff() throws IOException { | |||||
| String log = executeTargetAndReadLogFully("diff"); | |||||
| assertAttributesNoURL(log); | |||||
| assertAdded(log); | |||||
| assertModified(log); | |||||
| assertDeleted(log); | |||||
| } | |||||
| public void testDiffUrl() throws IOException { | |||||
| String log = executeTargetAndReadLogFully("diff-using-url"); | |||||
| assertAttributesWithURL(log); | |||||
| assertAdded(log); | |||||
| assertModified(log); | |||||
| assertDeleted(log); | |||||
| } | |||||
| private String executeTargetAndReadLogFully(String target) | |||||
| throws IOException { | |||||
| executeTarget(target); | |||||
| FileReader r = new FileReader(getProject() | |||||
| .resolveFile("tmpdir/diff.xml")); | |||||
| try { | |||||
| return FileUtils.readFully(r); | |||||
| } finally { | |||||
| r.close(); | |||||
| } | |||||
| } | |||||
| private static final void assertAttributes(String log) { | |||||
| int start = log.indexOf("<revisiondiff"); | |||||
| Assert.assertTrue(start > -1); | |||||
| int end = log.indexOf(">", start); | |||||
| Assert.assertTrue(end > -1); | |||||
| Assert.assertTrue(log.indexOf("start=\"152904\"", start) > -1); | |||||
| Assert.assertTrue(log.indexOf("start=\"152904\"") < end); | |||||
| Assert.assertTrue(log.indexOf("end=\"153682\"", start) > -1); | |||||
| Assert.assertTrue(log.indexOf("end=\"153682\"") < end); | |||||
| } | |||||
| private static final void assertAttributesNoURL(String log) { | |||||
| assertAttributes(log); | |||||
| Assert.assertEquals(-1, log.indexOf("svnurl=")); | |||||
| } | |||||
| private static final void assertAttributesWithURL(String log) { | |||||
| assertAttributes(log); | |||||
| int start = log.indexOf("<revisiondiff"); | |||||
| int end = log.indexOf(">", start); | |||||
| Assert.assertTrue(log.indexOf("svnurl=\"http://svn.apache.org/repos/" | |||||
| + "asf/jakarta/bcel/trunk\"", start) | |||||
| > -1); | |||||
| Assert.assertTrue(log.indexOf("svnurl=\"http://svn.apache.org/repos/" | |||||
| + "asf/jakarta/bcel/trunk\"", start) | |||||
| < end); | |||||
| } | |||||
| private static final void assertAdded(String log) { | |||||
| int name = log.indexOf("<![CDATA[src/java/org/apache/bcel/classfile/" | |||||
| + "ElementValuePair.java]]>"); | |||||
| Assert.assertTrue(name > -1); | |||||
| int pathAfterName = log.indexOf("</path>", name); | |||||
| Assert.assertTrue(pathAfterName > -1); | |||||
| Assert.assertTrue(log.indexOf("<action>added</action>", name) > -1); | |||||
| Assert.assertTrue(log.indexOf("<action>added</action>", name) | |||||
| < pathAfterName); | |||||
| } | |||||
| private static final void assertModified(String log) { | |||||
| int name = log.indexOf("<name><![CDATA[xdocs/stylesheets/project." | |||||
| + "xml]]></name>"); | |||||
| Assert.assertTrue(name > -1); | |||||
| int pathAfterName = log.indexOf("</path>", name); | |||||
| Assert.assertTrue(pathAfterName > -1); | |||||
| Assert.assertTrue(log.indexOf("<action>modified</action>", name) > -1); | |||||
| Assert.assertTrue(log.indexOf("<action>modified</action>", name) | |||||
| < pathAfterName); | |||||
| } | |||||
| private static final void assertDeleted(String log) { | |||||
| int name = log.indexOf("<name><![CDATA[lib/CCK.jar]]></name>"); | |||||
| Assert.assertTrue(name > -1); | |||||
| int pathAfterName = log.indexOf("</path>", name); | |||||
| Assert.assertTrue(pathAfterName > -1); | |||||
| Assert.assertTrue(log.indexOf("<action>deleted</action>", name) > -1); | |||||
| Assert.assertTrue(log.indexOf("<action>deleted</action>", name) | |||||
| < pathAfterName); | |||||
| } | |||||
| } | |||||