github.com/blend/go-sdk@v1.20220411.3/stringutil/split_csv_test.go (about) 1 /* 2 3 Copyright (c) 2022 - Present. Blend Labs, Inc. All rights reserved 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file. 5 6 */ 7 8 package stringutil 9 10 import ( 11 "testing" 12 13 "github.com/blend/go-sdk/assert" 14 ) 15 16 func TestSplitCSV(t *testing.T) { 17 assert := assert.New(t) 18 19 assert.Empty(SplitCSV("")) 20 assert.Equal([]string{"foo"}, SplitCSV("foo")) 21 assert.Equal([]string{"foo", "bar"}, SplitCSV("foo,bar")) 22 assert.Equal([]string{"foo", "bar"}, SplitCSV("foo, bar")) 23 assert.Equal([]string{"foo", "bar"}, SplitCSV(" foo , bar ")) 24 assert.Equal([]string{"foo", "bar", "baz"}, SplitCSV("foo,bar,baz")) 25 assert.Equal([]string{"foo", "bar", "baz,buzz"}, SplitCSV("foo,bar,\"baz,buzz\"")) 26 assert.Equal([]string{"foo", "bar", "baz,'buzz'"}, SplitCSV("foo,bar,\"baz,'buzz'\"")) 27 assert.Equal([]string{"foo", "bar", "baz,'buzz"}, SplitCSV("foo,bar,\"baz,'buzz\"")) 28 assert.Equal([]string{"foo", "bar", "baz,\"buzz\""}, SplitCSV("foo,bar,'baz,\"buzz\"'")) 29 }