blob: 210ffc57aed89a924e293b71c729d4e6ed772252 [file] [log] [blame]
// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
package convert
import (
"testing"
"github.com/stretchr/testify/assert"
)
func Test_FromPtr(t *testing.T) {
type t1 struct{}
tests := []struct {
name string
input interface{}
expected interface{}
}{
{
name: "struct",
input: t1{},
expected: t1{},
},
{
name: "ptr",
input: &t1{},
expected: t1{},
},
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
out := FromPtr(test.input)
assert.Equal(t, test.expected, out)
})
}
}
func Test_Describe(t *testing.T) {
type t1 struct {
text string
}
tests := []struct {
name string
input interface{}
expected string
}{
{
name: "struct",
input: t1{
text: "some-text",
},
expected: "github.com/spdx/tools-golang/convert.t1: {text:some-text}",
},
{
name: "ptr",
input: &t1{
text: "some-text",
},
expected: "github.com/spdx/tools-golang/convert.*t1: {text:some-text}",
},
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
out := Describe(test.input)
assert.Equal(t, test.expected, out)
})
}
}
func Test_limit(t *testing.T) {
tests := []struct {
expected string
input string
length int
}{
{
expected: "abc",
input: "abc",
length: 3,
},
{
expected: "abc...",
input: "abcdefg",
length: 3,
},
{
expected: "abcdef",
input: "abcdef",
length: 3,
},
{
expected: "abcd",
input: "abcd",
length: -1,
},
{
expected: "",
input: "",
length: 100,
},
}
for _, test := range tests {
t.Run(test.expected, func(t *testing.T) {
out := limit(test.input, test.length)
assert.Equal(t, test.expected, out)
})
}
}