github.com/amane3/goreleaser@v0.182.0/internal/pipe/pipe_test.go (about)

     1  package pipe
     2  
     3  import (
     4  	"errors"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestSkipPipe(t *testing.T) {
    11  	var reason = "this is a test"
    12  	var err = Skip(reason)
    13  	require.Error(t, err)
    14  	require.Equal(t, reason, err.Error())
    15  }
    16  
    17  func TestIsSkip(t *testing.T) {
    18  	require.True(t, IsSkip(Skip("whatever")))
    19  	require.False(t, IsSkip(errors.New("nope")))
    20  }
    21  
    22  func TestSkipMemento(t *testing.T) {
    23  	var m = SkipMemento{}
    24  	m.Remember(Skip("foo"))
    25  	m.Remember(Skip("bar"))
    26  	// test duplicated errors
    27  	m.Remember(Skip("dupe"))
    28  	m.Remember(Skip("dupe"))
    29  	require.EqualError(t, m.Evaluate(), `foo, bar, dupe`)
    30  	require.True(t, IsSkip(m.Evaluate()))
    31  }
    32  
    33  func TestSkipMementoNoErrors(t *testing.T) {
    34  	require.NoError(t, (&SkipMemento{}).Evaluate())
    35  }