github.com/grahambrereton-form3/tilt@v0.10.18/internal/tiltfile/git/git_test.go (about) 1 package git 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 "go.starlark.net/starlark" 8 9 "github.com/windmilleng/tilt/internal/tiltfile/starkit" 10 ) 11 12 func TestGitRepoPath(t *testing.T) { 13 f := NewFixture(t) 14 f.UseRealFS() 15 f.File("Tiltfile", ` 16 print(local_git_repo('.').paths('.git/index')) 17 `) 18 f.File(".git/index", "HEAD") 19 20 _, err := f.ExecFile("Tiltfile") 21 assert.NoError(t, err) 22 assert.Contains(t, f.PrintOutput(), "/.git/index") 23 } 24 25 func TestGitRepoBadMethodCall(t *testing.T) { 26 f := NewFixture(t) 27 f.UseRealFS() 28 f.File("Tiltfile", ` 29 local_git_repo('.').asdf() 30 `) 31 f.File(".git/index", "HEAD") 32 33 _, err := f.ExecFile("Tiltfile") 34 if assert.Error(t, err) { 35 msg := err.(*starlark.EvalError).Backtrace() 36 assert.Contains(t, msg, "Tiltfile:2:20: in <toplevel>") 37 assert.Contains(t, msg, "Error: git.Repo has no .asdf field or method") 38 } 39 } 40 41 func NewFixture(tb testing.TB) *starkit.Fixture { 42 return starkit.NewFixture(tb, NewExtension()) 43 }