github.phpd.cn/thought-machine/please@v12.2.0+incompatible/src/core/build_input_test.go (about) 1 package core 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestParseNamedOutputLabel(t *testing.T) { 10 pkg := NewPackage("") 11 input, _ := MustParseNamedOutputLabel("//src/core:target1|test", pkg) 12 label, ok := input.(NamedOutputLabel) 13 assert.True(t, ok) 14 assert.Equal(t, "src/core", label.PackageName) 15 assert.Equal(t, "target1", label.Name) 16 assert.Equal(t, "test", label.Output) 17 } 18 19 func TestParseNamedOutputLabelRelative(t *testing.T) { 20 pkg := NewPackage("src/core") 21 input, _ := MustParseNamedOutputLabel(":target1|test", pkg) 22 label, ok := input.(NamedOutputLabel) 23 assert.True(t, ok) 24 assert.Equal(t, "src/core", label.PackageName) 25 assert.Equal(t, "target1", label.Name) 26 assert.Equal(t, "test", label.Output) 27 } 28 29 func TestParseNamedOutputLabelNoOutput(t *testing.T) { 30 pkg := NewPackage("") 31 input, _ := MustParseNamedOutputLabel("//src/core:target1", pkg) 32 _, ok := input.(NamedOutputLabel) 33 assert.False(t, ok) 34 label, ok := input.(BuildLabel) 35 assert.True(t, ok) 36 assert.Equal(t, "src/core", label.PackageName) 37 assert.Equal(t, "target1", label.Name) 38 } 39 40 func TestParseNamedOutputLabelEmptyOutput(t *testing.T) { 41 pkg := NewPackage("") 42 assert.Panics(t, func() { 43 MustParseNamedOutputLabel("//src/core:target1|", pkg) 44 }) 45 }