@@ -203,3 +203,27 @@ func Test_StringToLower1stLetter(t *testing.T) {
203203 assert .Equal (t , "abc" , StringToLower1stLetter ("Abc" ))
204204 assert .Equal (t , "ối" , StringToLower1stLetter ("Ối" ))
205205}
206+
207+ func Test_StringSplitEx (t * testing.T ) {
208+ assert .Equal (t , []string {"" }, StringSplitEx ("" , " " , "\" " ))
209+ assert .Equal (t , []string {"" , "" }, StringSplitEx (" " , " " , "\" " ))
210+ assert .Equal (t , []string {"" , "" , "" }, StringSplitEx (",," , "," , "`" ))
211+
212+ assert .Equal (t , []string {"abc" }, StringSplitEx ("abc" , " " , "\" " ))
213+ assert .Equal (t , []string {"" , "ab" , "" , "cd" , "12" , "" , "" , "34" , "" },
214+ StringSplitEx (" ab cd 12 34 " , " " , "\" " ))
215+ assert .Equal (t , []string {"ab" , "xy" , "\" 12 34 \" 56" },
216+ StringSplitEx ("ab xy \" 12 34 \" 56" , " " , "\" " ))
217+ assert .Equal (t , []string {"ab" , "xy" , "''12" , "34" , "'56" , "" },
218+ StringSplitEx ("ab xy ''12 34 '56 " , " " , "'" ))
219+
220+ assert .Equal (t , []string {"" , "ab" , "" , "cd" , "[12 34][ 56 ]" , "" },
221+ StringSplitEx (" ab cd [12 34][ 56 ] " , " " , "[ ]" ))
222+ assert .Equal (t , []string {"" , "ab" , "" , "cd" , "[12 34]" , "[ 56 ]" , "" },
223+ StringSplitEx (" ab cd [12 34] [ 56 ] " , " " , "[ ]" ))
224+ assert .Equal (t , []string {"" , "ab" , "" , "cd" , "[[12 34]" , "56" , "" },
225+ StringSplitEx (" ab cd [[12 34] 56 " , " " , "[ ]" ))
226+
227+ assert .Equal (t , []string {"" , "ab" , "" , "cd" , "{{12 34}}" , "{56" , "78}" , "" },
228+ StringSplitEx (" ab cd {{12 34}} {56 78} " , " " , "{{ }}" ))
229+ }
0 commit comments