mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-25 14:30:28 -05:00
Merge pull request #16 from owncloud/feature/conversions-package
Add conversions package
This commit is contained in:
14
conversions/strings.go
Normal file
14
conversions/strings.go
Normal 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
|
||||
}
|
||||
35
conversions/strings_test.go
Normal file
35
conversions/strings_test.go
Normal 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)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user