Merge pull request #16 from owncloud/feature/conversions-package

Add conversions package
This commit is contained in:
Jörn Friedrich Dreyer
2020-01-15 12:24:37 +01:00
committed by GitHub
2 changed files with 49 additions and 0 deletions

14
conversions/strings.go Normal file
View File

@@ -0,0 +1,14 @@
package conversions
import "strings"
// StringToSliceString splits a string into a slice string according to separator
func StringToSliceString(src string, sep string) []string {
var parts []string
parsed := strings.Split(src, sep)
for _, v := range parsed {
parts = append(parts, strings.TrimSpace(v))
}
return parts
}

View File

@@ -0,0 +1,35 @@
package conversions
import "testing"
var scenarios = []struct {
name string
input string
separator string
out []string
}{
{
"comma separated input",
"a, b, c, d",
",",
[]string{"a", "b", "c", "d"},
}, {
"space separated input",
"a b c d",
" ",
[]string{"a", "b", "c", "d"},
},
}
func TestStringToSliceString(t *testing.T) {
for _, tt := range scenarios {
t.Run(tt.name, func(t *testing.T) {
s := StringToSliceString(tt.input, tt.separator)
for i, v := range tt.out {
if tt.out[i] != v {
t.Errorf("got %q, want %q", s, tt.out)
}
}
})
}
}