test: add edge case tests for unicode, empty repos, malformed API
Add tests for unicode descriptions, repos with no commits and no release, malformed JSON responses, HTML responses, control characters in names, empty and very long descriptions. fixes #13 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -230,6 +230,31 @@ class TestRenderDashboardEmpty:
|
||||
assert "Aucun repo" in output
|
||||
|
||||
|
||||
class TestRenderDashboardEdgeCases:
|
||||
"""Test edge cases for dashboard rendering."""
|
||||
|
||||
def test_render_dashboard_unicode_description(self):
|
||||
"""Repo with unicode description renders without crash."""
|
||||
console, buf = _make_console()
|
||||
repos = [_make_repo(name="unicode", description="Projet 🚀 avec accents eaiu 中文")]
|
||||
|
||||
render_dashboard(repos, console=console)
|
||||
output = buf.getvalue()
|
||||
|
||||
assert "unicode" in output
|
||||
|
||||
def test_render_dashboard_control_chars_in_name(self):
|
||||
"""Repo with control characters in name renders without crash."""
|
||||
console, buf = _make_console()
|
||||
repos = [_make_repo(name="test\x00repo")]
|
||||
|
||||
render_dashboard(repos, console=console)
|
||||
output = buf.getvalue()
|
||||
|
||||
# Rich may strip or display the control char, but must not crash
|
||||
assert "test" in output
|
||||
|
||||
|
||||
class TestColorizeMilestoneDue:
|
||||
"""Test _colorize_milestone_due function."""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user