github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/tiltfile/starlarkstruct/struct_test.go (about) 1 package starlarkstruct 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 8 "github.com/tilt-dev/tilt/internal/tiltfile/starkit" 9 ) 10 11 func TestStruct(t *testing.T) { 12 f := NewFixture(t) 13 f.File("Tiltfile", ` 14 x = struct(a = "foo", b = 2) 15 print("a",x.a) 16 print("b",x.b) 17 `) 18 _, err := f.ExecFile("Tiltfile") 19 require.NoError(t, err) 20 require.Contains(t, f.PrintOutput(), "a foo") 21 require.Contains(t, f.PrintOutput(), "b 2") 22 } 23 24 func TestModule(t *testing.T) { 25 f := NewFixture(t) 26 f.File("Tiltfile", ` 27 x = module("test_module", a = "foo", b = 2) 28 print("a",x.a) 29 print("b",x.b) 30 print("x",x) 31 `) 32 _, err := f.ExecFile("Tiltfile") 33 require.NoError(t, err) 34 require.Contains(t, f.PrintOutput(), "a foo") 35 require.Contains(t, f.PrintOutput(), "b 2") 36 require.Contains(t, f.PrintOutput(), "x <module \"test_module\">") 37 } 38 39 func NewFixture(tb testing.TB) *starkit.Fixture { 40 return starkit.NewFixture(tb, NewPlugin()) 41 }