def test_set_from_commit_ignore_specific(self): # ignore specific rules config_builder = LintConfigBuilder() config_builder.set_config_from_commit( self.gitcommit(u"tëst\ngitlint-ignore: T1, body-hard-tab")) config = config_builder.build() self.assertEqual(config.ignore, ["T1", "body-hard-tab"])
def test_lint_sample5(self): commit = self.gitcommit(self.get_sample("commit_message/sample5")) config_builder = LintConfigBuilder() config_builder.set_config_from_commit(commit) linter = GitLinter(config_builder.build()) violations = linter.lint(commit) title = u" Commit title containing 'WIP', \tleading and tråiling whitespace and longer than 72 characters." # expect only certain violations because sample5 has a 'gitlint-ignore: T3, T6, body-max-line-length' expected = [ RuleViolation("T1", "Title exceeds max length (95>72)", title, 1), RuleViolation("T4", "Title contains hard tab characters (\\t)", title, 1), RuleViolation("T5", "Title contains the word 'WIP' (case-insensitive)", title, 1), RuleViolation("B4", "Second line is not empty", u"This line should be ëmpty", 2), RuleViolation("B2", "Line has trailing whitespace", u"This line has a tråiling space. ", 4), RuleViolation("B2", "Line has trailing whitespace", "This line has a trailing tab.\t", 5), RuleViolation("B3", "Line contains hard tab characters (\\t)", "This line has a trailing tab.\t", 5) ] self.assertListEqual(violations, expected)
def test_lint_sample4(self): commit = self.gitcommit(self.get_sample("commit_message/sample4")) config_builder = LintConfigBuilder() config_builder.set_config_from_commit(commit) linter = GitLinter(config_builder.build()) violations = linter.lint(commit) # expect no violations because sample4 has a 'gitlint: disable line' expected = [] self.assertListEqual(violations, expected)
def test_set_from_commit_ignore_all(self): config = LintConfig() original_rules = config.rules original_rule_ids = [rule.id for rule in original_rules] config_builder = LintConfigBuilder() # nothing gitlint config_builder.set_config_from_commit(self.gitcommit("test\ngitlint\nfoo")) config = config_builder.build() self.assertListEqual(config.rules, original_rules) self.assertListEqual(config.ignore, []) # ignore all rules config_builder.set_config_from_commit(self.gitcommit("test\ngitlint-ignore: all\nfoo")) config = config_builder.build() self.assertEqual(config.ignore, original_rule_ids) # ignore all rules, no space config_builder.set_config_from_commit(self.gitcommit("test\ngitlint-ignore:all\nfoo")) config = config_builder.build() self.assertEqual(config.ignore, original_rule_ids) # ignore all rules, more spacing config_builder.set_config_from_commit(self.gitcommit("test\ngitlint-ignore: \t all\nfoo")) config = config_builder.build() self.assertEqual(config.ignore, original_rule_ids)
def test_set_from_commit_ignore_all(self): config = LintConfig() original_rules = config.rules original_rule_ids = [rule.id for rule in original_rules] config_builder = LintConfigBuilder() # nothing gitlint config_builder.set_config_from_commit( self.gitcommit(u"tëst\ngitlint\nfoo")) config = config_builder.build() self.assertListEqual(config.rules, original_rules) self.assertListEqual(config.ignore, []) # ignore all rules config_builder.set_config_from_commit( self.gitcommit(u"tëst\ngitlint-ignore: all\nfoo")) config = config_builder.build() self.assertEqual(config.ignore, original_rule_ids) # ignore all rules, no space config_builder.set_config_from_commit( self.gitcommit(u"tëst\ngitlint-ignore:all\nfoo")) config = config_builder.build() self.assertEqual(config.ignore, original_rule_ids) # ignore all rules, more spacing config_builder.set_config_from_commit( self.gitcommit(u"tëst\ngitlint-ignore: \t all\nfoo")) config = config_builder.build() self.assertEqual(config.ignore, original_rule_ids)
def test_lint_sample5(self): commit = self.gitcommit(self.get_sample("commit_message/sample5")) config_builder = LintConfigBuilder() config_builder.set_config_from_commit(commit) linter = GitLinter(config_builder.build()) violations = linter.lint(commit) title = " Commit title containing 'WIP', \tleading and trailing whitespace and longer than 72 characters." # expect only certain violations because sample5 has a 'gitlint: T3,' expected = [RuleViolation("T1", "Title exceeds max length (95>72)", title, 1), RuleViolation("T4", "Title contains hard tab characters (\\t)", title, 1), RuleViolation("T5", "Title contains the word 'WIP' (case-insensitive)", title, 1), RuleViolation("B4", "Second line is not empty", "This line should be empty", 2), RuleViolation("B2", "Line has trailing whitespace", "This line has a trailing space. ", 4), RuleViolation("B2", "Line has trailing whitespace", "This line has a trailing tab.\t", 5), RuleViolation("B3", "Line contains hard tab characters (\\t)", "This line has a trailing tab.\t", 5)] self.assertListEqual(violations, expected)
def test_set_from_commit_ignore_specific(self): # ignore specific rules config_builder = LintConfigBuilder() config_builder.set_config_from_commit(self.gitcommit("test\ngitlint-ignore: T1, body-hard-tab")) config = config_builder.build() self.assertEqual(config.ignore, ["T1", "body-hard-tab"])