diff --git a/tree_blob_test.go b/tree_blob_test.go index 82a74373e..6138be5b3 100644 --- a/tree_blob_test.go +++ b/tree_blob_test.go @@ -25,3 +25,33 @@ func TestTree_TreeEntry(t *testing.T) { assert.Equal(t, ObjectTree, e.Type()) assert.True(t, e.IsTree()) } + +func TestTree_Blob(t *testing.T) { + tree, err := testrepo.LsTree("d58e3ef9f123eea6857161c79275ee22b228f659") + if err != nil { + t.Fatal(err) + } + + t.Run("not a blob", func(t *testing.T) { + _, err := tree.Blob("src") + assert.Equal(t, ErrNotBlob, err) + }) + + t.Run("get a blob", func(t *testing.T) { + b, err := tree.Blob("README.txt") + if err != nil { + t.Fatal(err) + } + + assert.True(t, b.IsBlob()) + }) + + t.Run("get an executable as blob", func(t *testing.T) { + b, err := tree.Blob("run.sh") + if err != nil { + t.Fatal(err) + } + + assert.True(t, b.IsExec()) + }) +}