package namedotcom import ( "strings" "testing" ) var txtData = []struct { decoded []string encoded string }{ {[]string{`simple`}, `simple`}, {[]string{`changed`}, `changed`}, {[]string{`with spaces`}, `with spaces`}, {[]string{`with whitespace`}, `with whitespace`}, {[]string{"one", "two"}, `"one""two"`}, {[]string{"eh", "bee", "cee"}, `"eh""bee""cee"`}, {[]string{"o\"ne", "tw\"o"}, `"o\"ne""tw\"o"`}, {[]string{"dimple"}, `dimple`}, {[]string{"fun", "two"}, `"fun""two"`}, {[]string{"eh", "bzz", "cee"}, `"eh""bzz""cee"`}, } // func TestEncodeTxt(t *testing.T) { // // Test encoded the lists of strings into a string: // for i, test := range txtData { // enc := encodeTxt(test.decoded) // if enc != test.encoded { // t.Errorf("%v: txt\n data: []string{%v}\nexpected: %s\n got: %s", // i, "`"+strings.Join(test.decoded, "`, `")+"`", test.encoded, enc) // } // } //} func TestDecodeTxt(t *testing.T) { // Test decoded a string into the list of strings: for i, test := range txtData { data := test.encoded got := decodeTxt(data) wanted := test.decoded if len(got) != len(wanted) { t.Errorf("%v: txt\n decode: %v\nexpected: `%v`\n got: `%v`\n", i, data, strings.Join(wanted, "`, `"), strings.Join(got, "`, `")) } else { for j := range got { if got[j] != wanted[j] { t.Errorf("%v: txt\n decode: %v\nexpected: `%v`\n got: `%v`\n", i, data, strings.Join(wanted, "`, `"), strings.Join(got, "`, `")) } } } } }