Files
kopia/object/objectid_test.go
Jarek Kowalski bdafe117d9 Makefile: switched linter to golangci-lint and updated goveralls setup
fixed lint errors & removed .gometalinter config
2019-04-01 19:22:01 -07:00

47 lines
853 B
Go

package object
import (
"testing"
)
func TestParseObjectID(t *testing.T) {
cases := []struct {
text string
isValid bool
}{
{"Df0f0", true},
{"IDf0f0", true},
{"IDf0f0", true},
{"IIDf0f0", true},
{"Dxf0f0", true},
{"IDxf0f0", true},
{"IDxf0f0", true},
{"IIDxf0f0", true},
{"Dxf0f", false},
{"IDxf0f", false},
{"Da", false},
{"Daf0f0", false},
{"", false},
{"B!$@#$!@#$", false},
{"X", false},
{"I.", false},
{"I.x", false},
{"I.af", false},
{"Ix.ag", false},
{"Iab.", false},
{"I1", false},
{"I1,", false},
{"I-1,X", false},
{"Xsomething", false},
}
for _, tc := range cases {
_, err := ParseID(tc.text)
if err != nil && tc.isValid {
t.Errorf("error parsing %q: %v", tc.text, err)
} else if err == nil && !tc.isValid {
t.Errorf("unexpected success parsing %v", tc.text)
}
}
}