nielsbasjes commented on code in PR #135:
URL: https://github.com/apache/maven-scm/pull/135#discussion_r877539598
##########
maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java:
##########
@@ -172,4 +173,72 @@ public void testConsumer2()
assertTrue( cf.getRevision() != null && cf.getRevision().length() > 0
);
}
+ public void testGitLogConsumer3()
+ throws Exception
+ {
+ GitChangeLogConsumer consumer = new GitChangeLogConsumer( new
DefaultLog(), null );
+
+ File f = getTestFile(
"/src/test/resources/git/changelog/gitlog3.gitlog" );
+
+ ConsumerUtils.consumeFile( f, consumer );
+
+ List<ChangeSet> modifications = consumer.getModifications();
+
+ assertEquals( 10, modifications.size() );
+
+ SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss Z" );
+ sdf.setTimeZone( TimeZone.getTimeZone( "GMT" ) );
Review Comment:
The file contains a timestamp in a timezone which is parsed into an instance
of `Date`. All this does is format this parsed date into a String so it is an
easier to read assertion. How is that error prone?
##########
maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java:
##########
@@ -172,4 +173,72 @@ public void testConsumer2()
assertTrue( cf.getRevision() != null && cf.getRevision().length() > 0
);
}
+ public void testGitLogConsumer3()
+ throws Exception
+ {
+ GitChangeLogConsumer consumer = new GitChangeLogConsumer( new
DefaultLog(), null );
+
+ File f = getTestFile(
"/src/test/resources/git/changelog/gitlog3.gitlog" );
+
+ ConsumerUtils.consumeFile( f, consumer );
+
+ List<ChangeSet> modifications = consumer.getModifications();
+
+ assertEquals( 10, modifications.size() );
+
+ SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss Z" );
+ sdf.setTimeZone( TimeZone.getTimeZone( "GMT" ) );
+
+ ChangeSet first = modifications.get(0);
+ assertEquals( "Michael Osipov <[email protected]>",
first.getAuthor() );
+ assertEquals( "2022-01-08 20:02:12 +0000", sdf.format( first.getDate()
) );
+ assertEquals( "[maven-release-plugin] prepare for next development
iteration", first.getComment() );
+ assertEquals( "4fc34cfa14f2e72506187b03a492ce55ed459d4c",
first.getRevision() );
+ assertEquals( Collections.emptyList(), first.getTags() );
+ assertNotNull( first.getFiles() );
+ assertFalse( first.getFiles().isEmpty() );
+
+ ChangeSet second = modifications.get(1);
+ assertEquals( "Michael Osipov <[email protected]>",
second.getAuthor() );
+ assertEquals( "2022-01-08 20:02:01 +0000", sdf.format(
second.getDate() ) );
+ assertEquals( "[maven-release-plugin] prepare release
maven-scm-2.0.0-M1", second.getComment() );
+ assertEquals( "3a6d9817fe809c43eca588d7c0f4428254eae17c",
second.getRevision() );
+ assertEquals( Collections.singletonList("maven-scm-2.0.0-M1"),
second.getTags() );
+ assertNotNull( second.getFiles() );
+ assertFalse( second.getFiles().isEmpty() );
+ }
+
+ public void testTagAndBranchConsumer() {
+ String[] lines = {
+ "commit a6d03ee7bcec7bfd6b0fc890a277f004a1c54077 (HEAD -> main,
tag: TestTag, origin/main, origin/HEAD)",
+ "Author: Niels Basjes <[email protected]>",
+ "Date: 2022-02-06 16:19:01 +0100",
+ "",
+ " This",
+ " is",
+ " a",
+ " multiline",
+ " comment",
+ "",
+ ":100644 100644 2019174 808473f M\tdocumentation/pom.xml",
+ ""
+ };
+ GitChangeLogConsumer consumer = new GitChangeLogConsumer( new
DefaultLog(), null );
+
+ for (String line : lines) {
+ consumer.consumeLine(line);
Review Comment:
Yes
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]