github.com/triarius/goreleaser@v1.12.5/internal/gio/hash_test.go (about)

     1  package gio
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  )
     8  
     9  func TestEqualFilesError(t *testing.T) {
    10  	tests := []struct {
    11  		a string
    12  		b string
    13  	}{
    14  		{"./testdata/nope.txt", "./testdata/somefile.txt"},
    15  		{"./testdata/somefile.txt", "./testdata/nope.txt"},
    16  	}
    17  	for _, test := range tests {
    18  		equal, err := EqualFiles(test.a, test.b)
    19  		require.Error(t, err)
    20  		require.False(t, equal)
    21  
    22  		equalContents, err := EqualFileContents(test.a, test.b)
    23  		require.Error(t, err)
    24  		require.False(t, equalContents)
    25  	}
    26  }
    27  
    28  func TestEqualFiles(t *testing.T) {
    29  	tests := []struct {
    30  		a string
    31  		b string
    32  	}{
    33  		{"./testdata/somefile.txt", "./testdata/somefile_copy.txt"},
    34  	}
    35  	for _, test := range tests {
    36  		equal, err := EqualFiles(test.a, test.b)
    37  		require.NoError(t, err)
    38  		require.True(t, equal)
    39  
    40  		equalContents, err := EqualFileContents(test.a, test.b)
    41  		require.NoError(t, err)
    42  		require.True(t, equalContents)
    43  	}
    44  }
    45  
    46  func TestEqualFileCointents(t *testing.T) {
    47  	tests := []struct {
    48  		a string
    49  		b string
    50  	}{
    51  		{"./testdata/somefile.txt", "./testdata/somefile_copy_perm.txt"},
    52  	}
    53  	for _, test := range tests {
    54  		equal, err := EqualFiles(test.a, test.b)
    55  		require.NoError(t, err)
    56  		require.False(t, equal)
    57  
    58  		equalContents, err := EqualFileContents(test.a, test.b)
    59  		require.NoError(t, err)
    60  		require.True(t, equalContents)
    61  	}
    62  }