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  }