mirror of
https://github.com/tiennm99/ghstats.git
synced 2026-08-30 16:20:17 +00:00
The pagination guard broke on seen >= maxPerRepo, so a cap of 0 stopped before the first page and rendered empty productive-time, productive-weekday and most-commit-language cards. That inverted the meaning 0 carries for top-repos, where it already means unlimited. Treat a cap of 0 or less as no cap. Verified against a real repo: a cap of 100 still stops at 100, while 500 and 0 both walk the full 382-commit history.
28 lines
800 B
Go
28 lines
800 B
Go
package github
|
|
|
|
import "testing"
|
|
|
|
func TestReachedCommitCap(t *testing.T) {
|
|
cases := []struct {
|
|
name string
|
|
seen int
|
|
maxPerRepo int
|
|
want bool
|
|
}{
|
|
{"under the cap", 100, 500, false},
|
|
{"at the cap", 500, 500, true},
|
|
{"past the cap", 700, 500, true},
|
|
// Zero means unlimited, so even a fresh repo keeps paginating. The
|
|
// old behavior stopped here and rendered empty commit-derived cards.
|
|
{"zero cap, nothing seen yet", 0, 0, false},
|
|
{"zero cap, deep into history", 100_000, 0, false},
|
|
{"negative cap treated as unlimited", 10, -1, false},
|
|
}
|
|
for _, tc := range cases {
|
|
if got := reachedCommitCap(tc.seen, tc.maxPerRepo); got != tc.want {
|
|
t.Errorf("%s: reachedCommitCap(%d, %d) = %v, want %v",
|
|
tc.name, tc.seen, tc.maxPerRepo, got, tc.want)
|
|
}
|
|
}
|
|
}
|