diff options
author | rnveach <rveach02@gmail.com> | 2016-05-16 21:00:07 -0400 |
---|---|---|
committer | Roman Ivanov <romani@users.noreply.github.com> | 2016-05-16 18:00:07 -0700 |
commit | c814e47721c0494c637b2cb31a4c10957f0095db (patch) | |
tree | c7293b19ff53dffa6158f8372c11f09a5dbfcf15 /src/test | |
parent | ecbeaa6e1df7cb021745e111b04395b9fbd509c7 (diff) | |
download | checkstyle-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.java | 29 |
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(); |