diff options
author | Tiago Botelho <tiagonbotelho@hotmail.com> | 2018-09-25 16:02:56 +0300 |
---|---|---|
committer | Tiago Botelho <tiagonbotelho@hotmail.com> | 2018-09-25 16:02:56 +0300 |
commit | 46e6eae9951b7c1740e518a22d04f41bb9a69eae (patch) | |
tree | 19ae2dbf1bec87439f65d64cd5a5548fe610394b | |
parent | 30e4d0f1d252d256d27a924de77fd9500bc94382 (diff) |
Adds tests for lstree package
-rw-r--r-- | internal/git/lstree/last_commits.go | 2 | ||||
-rw-r--r-- | internal/git/lstree/last_commits_test.go | 62 | ||||
-rw-r--r-- | internal/git/lstree/testdata/z-lstree.txt | bin | 0 -> 187 bytes |
3 files changed, 63 insertions, 1 deletions
diff --git a/internal/git/lstree/last_commits.go b/internal/git/lstree/last_commits.go index f21c6cb8f..c51a33678 100644 --- a/internal/git/lstree/last_commits.go +++ b/internal/git/lstree/last_commits.go @@ -93,7 +93,7 @@ func toEnum(s string) (objectType, error) { return tree, nil case "blob": return blob, nil - case "submodule": + case "commit": return submodule, nil default: return -1, fmt.Errorf("Error in objectType conversion %q", s) diff --git a/internal/git/lstree/last_commits_test.go b/internal/git/lstree/last_commits_test.go new file mode 100644 index 000000000..6bb402743 --- /dev/null +++ b/internal/git/lstree/last_commits_test.go @@ -0,0 +1,62 @@ +package lstree + +import ( + "io" + "os" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestParser(t *testing.T) { + file, err := os.Open("testdata/z-lstree.txt") + + require.NoError(t, err) + defer file.Close() + + var parsedEntries Entries + + parser := NewParser(file) + + for { + entry, err := parser.NextEntry() + if err == io.EOF { + break + } + + require.NoError(t, err) + parsedEntries = append(parsedEntries, entry) + } + + expectedEntries := Entries{ + { + Mode: []byte("100644"), + Type: 1, + Object: "b78f2bdd90e85de463bd091622efcc70489de893", + Path: ".gitmodules", + }, + { + Mode: []byte("040000"), + Type: 0, + Object: "85ecfbd13807e6374407ba97d252bfe0cf2403fe", + Path: "_locales", + }, + { + Mode: []byte("160000"), + Type: 2, + Object: "b2291647b9346873501cedf482270495cd85b7b9", + Path: "bar", + }, + } + + require.Equal(t, len(expectedEntries), len(parsedEntries)) + + for index, parsedEntry := range parsedEntries { + expectedEntry := expectedEntries[index] + + require.Equal(t, expectedEntry.Mode, parsedEntry.Mode) + require.Equal(t, expectedEntry.Type, parsedEntry.Type) + require.Equal(t, expectedEntry.Object, parsedEntry.Object) + require.Equal(t, expectedEntry.Path, parsedEntry.Path) + } +} diff --git a/internal/git/lstree/testdata/z-lstree.txt b/internal/git/lstree/testdata/z-lstree.txt Binary files differnew file mode 100644 index 000000000..7abfa6df7 --- /dev/null +++ b/internal/git/lstree/testdata/z-lstree.txt |