From df9615bac55ac6f1c3f516b66279ac0007175030 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 19 Mar 2020 15:00:14 +0100 Subject: Adding upstream version 0.13.1. Signed-off-by: Daniel Baumann --- gitlint/tests/contrib/test_conventional_commit.py | 47 +++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 gitlint/tests/contrib/test_conventional_commit.py (limited to 'gitlint/tests/contrib/test_conventional_commit.py') diff --git a/gitlint/tests/contrib/test_conventional_commit.py b/gitlint/tests/contrib/test_conventional_commit.py new file mode 100644 index 0000000..ea808fd --- /dev/null +++ b/gitlint/tests/contrib/test_conventional_commit.py @@ -0,0 +1,47 @@ + +# -*- coding: utf-8 -*- +from gitlint.tests.base import BaseTestCase +from gitlint.rules import RuleViolation +from gitlint.contrib.rules.conventional_commit import ConventionalCommit +from gitlint.config import LintConfig + + +class ContribConventionalCommitTests(BaseTestCase): + + def test_enable(self): + # Test that rule can be enabled in config + for rule_ref in ['CT1', 'contrib-title-conventional-commits']: + config = LintConfig() + config.contrib = [rule_ref] + self.assertIn(ConventionalCommit(), config.rules) + + def test_conventional_commits(self): + rule = ConventionalCommit() + + # No violations when using a correct type and format + for type in ["fix", "feat", "chore", "docs", "style", "refactor", "perf", "test", "revert"]: + violations = rule.validate(type + u": föo", None) + self.assertListEqual([], violations) + + # assert violation on wrong type + expected_violation = RuleViolation("CT1", "Title does not start with one of fix, feat, chore, docs," + " style, refactor, perf, test, revert", u"bår: foo") + violations = rule.validate(u"bår: foo", None) + self.assertListEqual([expected_violation], violations) + + # assert violation on wrong format + expected_violation = RuleViolation("CT1", "Title does not follow ConventionalCommits.org format " + "'type(optional-scope): description'", u"fix föo") + violations = rule.validate(u"fix föo", None) + self.assertListEqual([expected_violation], violations) + + # assert no violation when adding new type + rule = ConventionalCommit({'types': [u"föo", u"bär"]}) + for typ in [u"föo", u"bär"]: + violations = rule.validate(typ + u": hür dur", None) + self.assertListEqual([], violations) + + # assert violation when using incorrect type when types have been reconfigured + violations = rule.validate(u"fix: hür dur", None) + expected_violation = RuleViolation("CT1", u"Title does not start with one of föo, bär", u"fix: hür dur") + self.assertListEqual([expected_violation], violations) -- cgit v1.2.3