diff options
| author | michael boulton <[email protected]> | 2020-08-14 19:19:21 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-08-14 11:19:21 -0700 |
| commit | fc6eaf36388841b16ff004e1d48e887d3f9613dc (patch) | |
| tree | 605c87ca761838bf339844d1273a1f8b17514ef3 /status_test.go | |
| parent | 462ebd83e0ccba9cd93c05ec12dc3d98064e3d5c (diff) | |
Fix null pointer dereference in status.ByIndex (#628)
`git_status_byindex` can return a null pointer if there is no statuses.
Diffstat (limited to 'status_test.go')
| -rw-r--r-- | status_test.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/status_test.go b/status_test.go index 17ed94f..d5cd530 100644 --- a/status_test.go +++ b/status_test.go @@ -61,3 +61,31 @@ func TestStatusList(t *testing.T) { t.Fatal("Incorrect entry path: ", entry.IndexToWorkdir.NewFile.Path) } } + +func TestStatusNothing(t *testing.T) { + t.Parallel() + repo := createTestRepo(t) + defer cleanupTestRepo(t, repo) + + seedTestRepo(t, repo) + + opts := &StatusOptions{ + Show: StatusShowIndexAndWorkdir, + Flags: StatusOptIncludeUntracked | StatusOptRenamesHeadToIndex | StatusOptSortCaseSensitively, + } + + statusList, err := repo.StatusList(opts) + checkFatal(t, err) + + entryCount, err := statusList.EntryCount() + checkFatal(t, err) + + if entryCount != 0 { + t.Fatal("expected no statuses in empty repo") + } + + _, err = statusList.ByIndex(0) + if err == nil { + t.Error("expected error getting status by index") + } +} |
