44 lines
1.0 KiB
Go
44 lines
1.0 KiB
Go
package fieldnames
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"google.golang.org/protobuf/reflect/protoreflect"
|
|
|
|
"gotest.tools/v3/assert"
|
|
)
|
|
|
|
func TestFieldNames(t *testing.T) {
|
|
names := []protoreflect.Name{"a", "b", "c"}
|
|
|
|
abc := "a,b,c"
|
|
f := CommaSeparatedFieldNames(abc)
|
|
assert.Equal(t, FieldNames{abc}, f)
|
|
assert.DeepEqual(t, names, f.Names())
|
|
assert.Equal(t, abc, f.String())
|
|
|
|
f = CommaSeparatedFieldNames("a, b ,c")
|
|
assert.Equal(t, FieldNames{abc}, f)
|
|
assert.DeepEqual(t, names, f.Names())
|
|
assert.Equal(t, abc, f.String())
|
|
|
|
// empty okay
|
|
f = CommaSeparatedFieldNames("")
|
|
assert.Equal(t, FieldNames{""}, f)
|
|
assert.Equal(t, 0, len(f.Names()))
|
|
assert.Equal(t, "", f.String())
|
|
|
|
f = FieldsFromNames(names)
|
|
assert.Equal(t, FieldNames{abc}, f)
|
|
assert.DeepEqual(t, names, f.Names())
|
|
assert.Equal(t, abc, f.String())
|
|
|
|
// empty okay
|
|
f = FieldsFromNames([]protoreflect.Name{})
|
|
assert.Equal(t, FieldNames{""}, f)
|
|
f = FieldsFromNames(nil)
|
|
assert.Equal(t, FieldNames{""}, f)
|
|
assert.Equal(t, 0, len(f.Names()))
|
|
assert.Equal(t, "", f.String())
|
|
}
|