diff options
Diffstat (limited to 'gitlint-core/gitlint/tests/rules/test_rules.py')
-rw-r--r-- | gitlint-core/gitlint/tests/rules/test_rules.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gitlint-core/gitlint/tests/rules/test_rules.py b/gitlint-core/gitlint/tests/rules/test_rules.py new file mode 100644 index 0000000..b401372 --- /dev/null +++ b/gitlint-core/gitlint/tests/rules/test_rules.py @@ -0,0 +1,32 @@ +from gitlint.rules import Rule, RuleViolation +from gitlint.tests.base import BaseTestCase + + +class RuleTests(BaseTestCase): + def test_ruleviolation__str__(self): + expected = '57: rule-ïd Tēst message: "Tēst content"' + self.assertEqual(str(RuleViolation("rule-ïd", "Tēst message", "Tēst content", 57)), expected) + + def test_rule_equality(self): + self.assertEqual(Rule(), Rule()) + # Ensure rules are not equal if they differ on their attributes + for attr in ["id", "name", "target", "options"]: + rule = Rule() + setattr(rule, attr, "åbc") + self.assertNotEqual(Rule(), rule) + + def test_rule_log(self): + rule = Rule() + self.assertIsNone(rule._log) + rule.log.debug("Tēst message") + self.assert_log_contains("DEBUG: gitlint.rules Tēst message") + + # Assert the same logger is reused when logging multiple messages + log = rule._log + rule.log.debug("Anöther message") + self.assertEqual(log, rule._log) + self.assert_log_contains("DEBUG: gitlint.rules Anöther message") + + def test_rule_violation_equality(self): + violation1 = RuleViolation("ïd1", "My messåge", "My cöntent", 1) + self.object_equality_test(violation1, ["rule_id", "message", "content", "line_nr"]) |