|
|
|
@ -186,3 +186,37 @@ func Test_OptionalBool(t *testing.T) { |
|
|
|
|
assert.Equal(t, OptionalBoolTrue, OptionalBoolParse("t")) |
|
|
|
|
assert.Equal(t, OptionalBoolTrue, OptionalBoolParse("True")) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Test case for any function which accepts and returns a single string.
|
|
|
|
|
type StringTest struct { |
|
|
|
|
in, out string |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var upperTests = []StringTest{ |
|
|
|
|
{"", ""}, |
|
|
|
|
{"ONLYUPPER", "ONLYUPPER"}, |
|
|
|
|
{"abc", "ABC"}, |
|
|
|
|
{"AbC123", "ABC123"}, |
|
|
|
|
{"azAZ09_", "AZAZ09_"}, |
|
|
|
|
{"longStrinGwitHmixofsmaLLandcAps", "LONGSTRINGWITHMIXOFSMALLANDCAPS"}, |
|
|
|
|
{"long\u0250string\u0250with\u0250nonascii\u2C6Fchars", "LONG\u0250STRING\u0250WITH\u0250NONASCII\u2C6FCHARS"}, |
|
|
|
|
{"\u0250\u0250\u0250\u0250\u0250", "\u0250\u0250\u0250\u0250\u0250"}, |
|
|
|
|
{"a\u0080\U0010FFFF", "A\u0080\U0010FFFF"}, |
|
|
|
|
{"lél", "LéL"}, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func TestToUpperASCII(t *testing.T) { |
|
|
|
|
for _, tc := range upperTests { |
|
|
|
|
assert.Equal(t, ToUpperASCII(tc.in), tc.out) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func BenchmarkToUpper(b *testing.B) { |
|
|
|
|
for _, tc := range upperTests { |
|
|
|
|
b.Run(tc.in, func(b *testing.B) { |
|
|
|
|
for i := 0; i < b.N; i++ { |
|
|
|
|
ToUpperASCII(tc.in) |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|