github.com/tiagovtristao/plz@v13.4.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  }
    46  
    47  func TestParseNamedOutputLabelSubrepo(t *testing.T) {
    48  	pkg := NewPackage("")
    49  	input := MustParseNamedOutputLabel("@test_x86//src/core:target1", pkg)
    50  	_, ok := input.(NamedOutputLabel)
    51  	assert.False(t, ok)
    52  	label, ok := input.(BuildLabel)
    53  	assert.True(t, ok)
    54  	assert.Equal(t, "src/core", label.PackageName)
    55  	assert.Equal(t, "target1", label.Name)
    56  	assert.Equal(t, "test_x86", label.Subrepo)
    57  }
    58  
    59  func TestParseNamedOutputLabelRelativeSubrepo(t *testing.T) {
    60  	pkg := NewPackage("src/core")
    61  	input := MustParseNamedOutputLabel("@test_x86:target1", pkg)
    62  	_, ok := input.(NamedOutputLabel)
    63  	assert.False(t, ok)
    64  	label, ok := input.(BuildLabel)
    65  	assert.True(t, ok)
    66  	assert.Equal(t, "src/core", label.PackageName)
    67  	assert.Equal(t, "target1", label.Name)
    68  	assert.Equal(t, "test_x86", label.Subrepo)
    69  }