Browse Source

Silly me forgot to commit the tests

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@277669 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 20 years ago
parent
commit
990122cd4f
4 changed files with 283 additions and 4 deletions
  1. +0
    -1
      proposal/sandbox/svn/src/etc/testcases/changelog.xml
  2. +1
    -3
      proposal/sandbox/svn/src/etc/testcases/revisiondiff.xml
  3. +146
    -0
      proposal/sandbox/svn/src/testcases/org/apache/tools/ant/taskdefs/svn/SvnChangeLogTaskTest.java
  4. +136
    -0
      proposal/sandbox/svn/src/testcases/org/apache/tools/ant/taskdefs/svn/SvnRevisionDiffTest.java

+ 0
- 1
proposal/sandbox/svn/src/etc/testcases/changelog.xml View File

@@ -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}"/>


+ 1
- 3
proposal/sandbox/svn/src/etc/testcases/revisiondiff.xml View File

@@ -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">


+ 146
- 0
proposal/sandbox/svn/src/testcases/org/apache/tools/ant/taskdefs/svn/SvnChangeLogTaskTest.java View File

@@ -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);
}
}

+ 136
- 0
proposal/sandbox/svn/src/testcases/org/apache/tools/ant/taskdefs/svn/SvnRevisionDiffTest.java View File

@@ -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);
}
}

Loading…
Cancel
Save