Skip to content

Commit bb92561

Browse files
committed
test: cover message hook list entries that are not dicts
Exercises the process_commit_message branch that skips non-dict items so Codecov patch coverage meets the project threshold. Made-with: Cursor
1 parent 1f48ce2 commit bb92561

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

tests/test_changelog.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1468,6 +1468,32 @@ def changelog_message_builder_hook(message: dict, commit: git.GitCommit):
14681468
assert f"Message #{idx}" in result
14691469

14701470

1471+
def test_changelog_message_builder_hook_skips_non_dict_entries(
1472+
gitcommits, tags, any_changelog_format: ChangelogFormat
1473+
):
1474+
"""Non-dict elements in a list returned by the hook are skipped."""
1475+
1476+
def changelog_message_builder_hook(message: dict, commit: git.GitCommit):
1477+
second = message.copy()
1478+
second["message"] = "second entry"
1479+
return [message, "not-a-dict-commit", second]
1480+
1481+
parser = ConventionalCommitsCz.commit_parser
1482+
changelog_pattern = ConventionalCommitsCz.changelog_pattern
1483+
loader = ConventionalCommitsCz.template_loader
1484+
template = any_changelog_format.template
1485+
tree = changelog.generate_tree_from_commits(
1486+
gitcommits,
1487+
tags,
1488+
parser,
1489+
changelog_pattern,
1490+
changelog_message_builder_hook=changelog_message_builder_hook,
1491+
)
1492+
result = changelog.render_changelog(tree, loader, template)
1493+
1494+
assert "second entry" in result
1495+
1496+
14711497
def test_changelog_message_builder_hook_can_access_and_modify_change_type(
14721498
gitcommits, tags, any_changelog_format: ChangelogFormat
14731499
):

0 commit comments

Comments
 (0)