summaryrefslogtreecommitdiffstats
path: root/gitlint-core/gitlint/tests/rules/test_rules.py
diff options
context:
space:
mode:
Diffstat (limited to 'gitlint-core/gitlint/tests/rules/test_rules.py')
-rw-r--r--gitlint-core/gitlint/tests/rules/test_rules.py32
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"])