aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorrnveach <rveach02@gmail.com>2016-05-16 21:00:07 -0400
committerRoman Ivanov <romani@users.noreply.github.com>2016-05-16 18:00:07 -0700
commitc814e47721c0494c637b2cb31a4c10957f0095db (patch)
treec7293b19ff53dffa6158f8372c11f09a5dbfcf15 /src/test
parentecbeaa6e1df7cb021745e111b04395b9fbd509c7 (diff)
downloadcheckstyle-c814e47721c0494c637b2cb31a4c10957f0095db.tar.gz
Issue #3168: forbid no commits and whitespace on end of commit message (#3181)
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/com/puppycrawl/tools/checkstyle/internal/CommitValidationTest.java29
1 files changed, 26 insertions, 3 deletions
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/internal/CommitValidationTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/internal/CommitValidationTest.java
index d2f7de76f..137e72a7e 100644
--- a/src/test/java/com/puppycrawl/tools/checkstyle/internal/CommitValidationTest.java
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/internal/CommitValidationTest.java
@@ -19,6 +19,7 @@
package com.puppycrawl.tools.checkstyle.internal;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
@@ -73,10 +74,10 @@ public class CommitValidationTest {
private static final List<String> USERS_EXCLUDED_FROM_VALIDATION =
Collections.singletonList("Roman Ivanov");
- private static final String ISSUE_COMMIT_MESSAGE_REGEX_PATTERN = "^Issue #\\d*: .*[^\\.]$";
- private static final String PR_COMMIT_MESSAGE_REGEX_PATTERN = "^Pull #\\d*: .*[^\\.]$";
+ private static final String ISSUE_COMMIT_MESSAGE_REGEX_PATTERN = "^Issue #\\d*: .*[^\\.\\s]$";
+ private static final String PR_COMMIT_MESSAGE_REGEX_PATTERN = "^Pull #\\d*: .*[^\\.\\s]$";
private static final String OTHER_COMMIT_MESSAGE_REGEX_PATTERN =
- "^(minor|config|infra|doc|spelling): .*[^\\.]$";
+ "^(minor|config|infra|doc|spelling): .*[^\\.\\s]$";
private static final String ACCEPTED_COMMIT_MESSAGE_REGEX_PATTERN =
"(" + ISSUE_COMMIT_MESSAGE_REGEX_PATTERN + ")|"
@@ -103,6 +104,28 @@ public class CommitValidationTest {
}
@Test
+ public void testHasCommits() {
+ assertTrue("must have atleast one commit to validate",
+ lastCommits != null && !lastCommits.isEmpty());
+ }
+
+ @Test
+ public void testCommitMessage() {
+ assertFalse("should not accept commit message with periods on end",
+ ACCEPTED_COMMIT_MESSAGE_PATTERN.matcher("minor: Test. Test.").matches());
+ assertFalse("should not accept commit message with spaces on end",
+ ACCEPTED_COMMIT_MESSAGE_PATTERN.matcher("minor: Test. ").matches());
+ assertFalse("should not accept commit message with tabs on end",
+ ACCEPTED_COMMIT_MESSAGE_PATTERN.matcher("minor: Test.\t").matches());
+ assertFalse("should not accept commit message with newline on end",
+ ACCEPTED_COMMIT_MESSAGE_PATTERN.matcher("minor: Test.\n").matches());
+ assertFalse("should not accept commit message with missing prefix",
+ ACCEPTED_COMMIT_MESSAGE_PATTERN.matcher("Test. Test").matches());
+ assertTrue("should accept commit message that ends properly",
+ ACCEPTED_COMMIT_MESSAGE_PATTERN.matcher("minor: Test. Test").matches());
+ }
+
+ @Test
public void testCommitMessageHasProperStructure() {
for (RevCommit commit : filterValidCommits(lastCommits)) {
final String commitId = commit.getId().getName();