git-module

git clone git://git.lin.moe/fork/git-module.git

  1package git
  2
  3import (
  4	"errors"
  5	"testing"
  6
  7	"github.com/stretchr/testify/assert"
  8)
  9
 10func TestOid_Equal(t *testing.T) {
 11	tests := []struct {
 12		s1     Oid
 13		s2     interface{}
 14		expVal bool
 15	}{
 16		{
 17			s1:     MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),
 18			s2:     "fcf7087e732bfe3c25328248a9bf8c3ccd85bed4",
 19			expVal: true,
 20		}, {
 21			s1:     MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),
 22			s2:     EmptySha1ID,
 23			expVal: false,
 24		},
 25
 26		{
 27			s1:     MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),
 28			s2:     MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4").(*SHA1).bytes,
 29			expVal: true,
 30		},
 31		{
 32			s1:     MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),
 33			s2:     MustIDFromString(EmptySha1ID).(*SHA1).bytes,
 34			expVal: false,
 35		},
 36		{
 37			s1:     MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),
 38			s2:     MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),
 39			expVal: true,
 40		},
 41		{
 42			s1:     MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),
 43			s2:     MustIDFromString(EmptySha1ID),
 44			expVal: false,
 45		},
 46
 47		{
 48			s1:     MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),
 49			s2:     []byte(EmptySha1ID),
 50			expVal: false,
 51		},
 52
 53		{
 54			s1:     MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),
 55			s2:     "ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e",
 56			expVal: true,
 57		},
 58		{
 59			s1:     MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),
 60			s2:     EmptySha256ID,
 61			expVal: false,
 62		},
 63		{
 64			s1:     MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),
 65			s2:     MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e").(*SHA256).bytes,
 66			expVal: true,
 67		},
 68		{
 69			s1:     MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),
 70			s2:     MustIDFromString(EmptySha256ID).(*SHA256).bytes,
 71			expVal: false,
 72		},
 73		{
 74			s1:     MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),
 75			s2:     MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),
 76			expVal: true,
 77		},
 78		{
 79			s1:     MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),
 80			s2:     []byte(EmptySha256ID),
 81			expVal: false,
 82		},
 83
 84		{
 85			s1:     MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),
 86			s2:     MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7"),
 87			expVal: false,
 88		},
 89	}
 90	for _, test := range tests {
 91		t.Run("", func(t *testing.T) {
 92			assert.Equal(t, test.expVal, test.s1.Equal(test.s2))
 93		})
 94	}
 95}
 96
 97func TestNewID(t *testing.T) {
 98	sha, err := NewID([]byte("000000"))
 99	assert.Equal(t, errors.New("length must be 20 or 32"), err)
100	assert.Nil(t, sha)
101}
102
103func TestNewIDFromString(t *testing.T) {
104	sha, err := NewIDFromString("000000")
105	assert.Equal(t, errors.New("length must be 40 or 64"), err)
106	assert.Nil(t, sha)
107}