package server import ( "strings" "testing" ) func TestWriteTitles(t *testing.T) { titles := []string{"Hamilton", `Les Misérables`, `Sweeney Todd: The "Demon" Barber, of Fleet Street`, "Two\nLines"} var txt strings.Builder if err := writeTitles(&txt, "txt", titles); err != nil { t.Fatal(err) } wantTxt := "Hamilton\nLes Misérables\nSweeney Todd: The \"Demon\" Barber, of Fleet Street\nTwo Lines\n" if txt.String() != wantTxt { t.Errorf("txt:\n%q\nwant\n%q", txt.String(), wantTxt) } var csv strings.Builder if err := writeTitles(&csv, "csv", titles); err != nil { t.Fatal(err) } wantCSV := "\xef\xbb\xbfHamilton\r\nLes Misérables\r\n\"Sweeney Todd: The \"\"Demon\"\" Barber, of Fleet Street\"\r\nTwo Lines\r\n" if csv.String() != wantCSV { t.Errorf("csv:\n%q\nwant\n%q", csv.String(), wantCSV) } }