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  }