Do not panic on empty quoted string argument

Signed-off-by: Sylvain Baubeau <lebauce@gmail.com>
This commit is contained in:
Sylvain Baubeau 2022-01-11 18:33:39 +01:00 committed by Sylvain Baubeau
parent ea96e160e4
commit 5d96e09628
2 changed files with 12 additions and 4 deletions

View File

@ -22,6 +22,10 @@ func (s *QuotedString) String() string {
}
func trimQuotes(value string) string {
if len(value) < 2 {
return value
}
lastIndex := len(value) - 1
for _, char := range []byte{'\'', '"'} {
if value[0] == char && value[lastIndex] == char {

View File

@ -16,15 +16,19 @@ func TestQuotedStringSetWithQuotes(t *testing.T) {
}
func TestQuotedStringSetWithMismatchedQuotes(t *testing.T) {
value := ""
qs := NewQuotedString(&value)
qs := NewQuotedString(new(string))
assert.Check(t, qs.Set(`"something'`))
assert.Check(t, is.Equal(`"something'`, qs.String()))
}
func TestQuotedStringSetWithNoQuotes(t *testing.T) {
value := ""
qs := NewQuotedString(&value)
qs := NewQuotedString(new(string))
assert.Check(t, qs.Set("something"))
assert.Check(t, is.Equal("something", qs.String()))
}
func TestQuotedStringEmptyOrSingleCharString(t *testing.T) {
qs := NewQuotedString(new(string))
assert.Check(t, qs.Set(""))
assert.Check(t, qs.Set("'"))
}