You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ep...@apache.org on 2006/04/07 09:25:22 UTC

svn commit: r392208 - in /maven/sandbox/plugins/maven-changelog-plugin/src/test: changelog-xml/ changelog-xml/min-changelog.xml java/org/apache/maven/changelog/ChangeLogTest.java

Author: epunzalan
Date: Fri Apr  7 00:25:21 2006
New Revision: 392208

URL: http://svn.apache.org/viewcvs?rev=392208&view=rev
Log:
PR: MCHANGELOG-34

Added tests for the changelog xml cache parser

Added:
    maven/sandbox/plugins/maven-changelog-plugin/src/test/changelog-xml/
    maven/sandbox/plugins/maven-changelog-plugin/src/test/changelog-xml/min-changelog.xml
    maven/sandbox/plugins/maven-changelog-plugin/src/test/java/org/apache/maven/changelog/ChangeLogTest.java

Added: maven/sandbox/plugins/maven-changelog-plugin/src/test/changelog-xml/min-changelog.xml
URL: http://svn.apache.org/viewcvs/maven/sandbox/plugins/maven-changelog-plugin/src/test/changelog-xml/min-changelog.xml?rev=392208&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-changelog-plugin/src/test/changelog-xml/min-changelog.xml (added)
+++ maven/sandbox/plugins/maven-changelog-plugin/src/test/changelog-xml/min-changelog.xml Fri Apr  7 00:25:21 2006
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<changelog>
+  <changeset start="1977-08-06" end="2005-02-25">
+    <changelog-entry>
+      <date>1977-08-06</date>
+      <time>05:30:00</time>
+      <author>Edwin Punzalan</author>
+      <file>
+        <name>/path/to/file.extension</name>
+        <revision>1</revision>
+      </file>
+      <msg>First commit msg</msg>
+    </changelog-entry>
+    <changelog-entry>
+      <time>21:30:00</time>
+      <date>2005-02-24</date>
+      <author>Edwin Punzalan</author>
+      <file>
+        <name>/path/to/file.extension</name>
+        <revision>2</revision>
+      </file>
+      <file>
+        <name>/path/to/file2.extension</name>
+        <revision>2</revision>
+      </file>
+      <msg>Second commit msg</msg>
+    </changelog-entry>
+  </changeset>
+  <changeset start="2005-02-25" end="2100-02-25">
+    <changelog-entry>
+      <time>22:45:00</time>
+      <date>2005-02-25</date>
+      <author>Keogh Edrich Punzalan</author>
+      <file>
+        <name>/path/to/file.extension</name>
+        <revision>3</revision>
+      </file>
+      <msg>Third commit msg</msg>
+    </changelog-entry>
+    <changelog-entry>
+      <date>2100-02-25</date>
+      <time>05:30:00</time>
+      <author>Keogh Edrich Punzalan</author>
+      <file>
+        <name>/path/to/file.extension</name>
+        <revision>4</revision>
+      </file>
+      <file>
+        <name>/path/to/file2.extension</name>
+        <revision>4</revision>
+      </file>
+      <msg>Last commit msg</msg>
+    </changelog-entry>
+  </changeset>
+</changelog>

Added: maven/sandbox/plugins/maven-changelog-plugin/src/test/java/org/apache/maven/changelog/ChangeLogTest.java
URL: http://svn.apache.org/viewcvs/maven/sandbox/plugins/maven-changelog-plugin/src/test/java/org/apache/maven/changelog/ChangeLogTest.java?rev=392208&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-changelog-plugin/src/test/java/org/apache/maven/changelog/ChangeLogTest.java (added)
+++ maven/sandbox/plugins/maven-changelog-plugin/src/test/java/org/apache/maven/changelog/ChangeLogTest.java Fri Apr  7 00:25:21 2006
@@ -0,0 +1,146 @@
+package org.apache.maven.changelog;
+
+/*
+ * Copyright 2001-2006 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.
+ */
+
+import junit.framework.TestCase;
+import org.apache.maven.scm.command.changelog.ChangeLogSet;
+import org.apache.maven.scm.ChangeSet;
+import org.apache.maven.scm.ChangeFile;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.util.List;
+
+/**
+ * @author Edwin Punzalan
+ */
+public class ChangeLogTest
+    extends TestCase
+{
+    public void testReadFile()
+        throws Exception
+    {
+        List changedLogs = readChangeLogXml( "min-changelog.xml" );
+
+        assertNotNull( "Test changedSets were parsed", changedLogs );
+
+        assertEquals( "Test number of changelog entries", 2, changedLogs.size() );
+
+        ChangeLogSet changelogSets = (ChangeLogSet) changedLogs.get( 0 );
+
+        assertEquals( "Test number of revisions on changelog 1", 2, changelogSets.getChangeSets().size() );
+
+        ChangeSet changeSet = (ChangeSet) changelogSets.getChangeSets().get( 0 );
+
+        assertEquals( "Test changelog 1 set 1 date/time", 239635800000L, changeSet.getDate().getTime() );
+
+        assertEquals( "Test changelog 1 set 1 author", "Edwin Punzalan", changeSet.getAuthor() );
+
+        assertEquals( "Test changelog 1 set 1 msg", "First commit msg", changeSet.getComment() );
+
+        assertEquals( "Test changelog 1 set 1 files", 1, changeSet.getFiles().size() );
+
+        ChangeFile changeFile = (ChangeFile) changeSet.getFiles().get( 0 );
+
+        assertEquals( "Test changelog 1 set 1 file 1 filename", "/path/to/file.extension", changeFile.getName() );
+
+        assertEquals( "Test changelog 1 set 1 file 1 revision", "1", changeFile.getRevision() );
+
+
+        changeSet = (ChangeSet) changelogSets.getChangeSets().get( 1 );
+
+        assertEquals( "Test changelog 1 set 2 date/time", 1109223000000L, changeSet.getDate().getTime() );
+
+        assertEquals( "Test changelog 1 set 2 author", "Edwin Punzalan", changeSet.getAuthor() );
+
+        assertEquals( "Test changelog 1 set 2 msg", "Second commit msg", changeSet.getComment() );
+
+        assertEquals( "Test changelog 1 set 2 files", 2, changeSet.getFiles().size() );
+
+        changeFile = (ChangeFile) changeSet.getFiles().get( 0 );
+
+        assertEquals( "Test changelog 1 set 2 file 1 filename", "/path/to/file.extension", changeFile.getName() );
+
+        assertEquals( "Test changelog 1 set 2 file 1 revision", "2", changeFile.getRevision() );
+
+        changeFile = (ChangeFile) changeSet.getFiles().get( 1 );
+
+        assertEquals( "Test changelog 1 set 2 file 2 filename", "/path/to/file2.extension", changeFile.getName() );
+
+        assertEquals( "Test changelog 1 set 2 file 2 revision", "2", changeFile.getRevision() );
+
+
+
+        changelogSets = (ChangeLogSet) changedLogs.get( 1 );
+
+        assertEquals( "Test number of revisions on changelog 2", 2, changelogSets.getChangeSets().size() );
+
+        changeSet = (ChangeSet) changelogSets.getChangeSets().get( 0 );
+
+        assertEquals( "Test changelog 2 set 1 date/time", 1109313900000L, changeSet.getDate().getTime() );
+
+        assertEquals( "Test changelog 2 set 1 author", "Keogh Edrich Punzalan", changeSet.getAuthor() );
+
+        assertEquals( "Test changelog 2 set 1 msg", "Third commit msg", changeSet.getComment() );
+
+        assertEquals( "Test changelog 2 set 1 files", 1, changeSet.getFiles().size() );
+
+        changeFile = (ChangeFile) changeSet.getFiles().get( 0 );
+
+        assertEquals( "Test changelog 2 set 1 file 1 filename", "/path/to/file.extension", changeFile.getName() );
+
+        assertEquals( "Test changelog 2 set 1 file 1 revision", "3", changeFile.getRevision() );
+
+
+        changeSet = (ChangeSet) changelogSets.getChangeSets().get( 1 );
+
+        assertEquals( "Test changelog 2 set 2 date/time", 4107159000000L, changeSet.getDate().getTime() );
+
+        assertEquals( "Test changelog 2 set 2 author", "Keogh Edrich Punzalan", changeSet.getAuthor() );
+
+        assertEquals( "Test changelog 2 set 2 msg", "Last commit msg", changeSet.getComment() );
+
+        assertEquals( "Test changelog 2 set 2 files", 2, changeSet.getFiles().size() );
+
+        changeFile = (ChangeFile) changeSet.getFiles().get( 0 );
+
+        assertEquals( "Test changelog 2 set 2 file 1 filename", "/path/to/file.extension", changeFile.getName() );
+
+        assertEquals( "Test changelog 2 set 2 file 1 revision", "4", changeFile.getRevision() );
+
+        changeFile = (ChangeFile) changeSet.getFiles().get( 1 );
+
+        assertEquals( "Test changelog 2 set 2 file 2 filename", "/path/to/file2.extension", changeFile.getName() );
+
+        assertEquals( "Test changelog 2 set 2 file 2 revision", "4", changeFile.getRevision() );
+    }
+
+    private List readChangeLogXml( String filename )
+        throws Exception
+    {
+        File inputFile = new File( getBasedir(), "src/test/changelog-xml/" + filename );
+        InputStream in = new FileInputStream( inputFile );
+
+        return ChangeLog.loadChangedSets( in );
+    }
+
+    private String getBasedir()
+    {
+        return System.getProperty( "basedir" );
+    }
+}