47 lines
1.0 KiB
Go
47 lines
1.0 KiB
Go
package gui
|
|
|
|
import "testing"
|
|
|
|
func TestSplitCookieLinesNormalizesLineBreaks(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
input string
|
|
want []string
|
|
}{
|
|
{
|
|
name: "crlf_and_cr",
|
|
input: "ck-a\r\nck-b\rck-c",
|
|
want: []string{"ck-a", "ck-b", "ck-c"},
|
|
},
|
|
{
|
|
name: "escaped_line_breaks",
|
|
input: `ck-a\r\nck-b\rck-c\nck-d`,
|
|
want: []string{"ck-a", "ck-b", "ck-c", "ck-d"},
|
|
},
|
|
{
|
|
name: "slash_r_line_breaks",
|
|
input: "ck-a/r/nck-b/rck-c/nck-d",
|
|
want: []string{"ck-a", "ck-b", "ck-c", "ck-d"},
|
|
},
|
|
{
|
|
name: "slash_n_only_is_preserved",
|
|
input: "ck-a/nck-b",
|
|
want: []string{"ck-a/nck-b"},
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
lines := splitCookieLines(tt.input)
|
|
if len(lines) != len(tt.want) {
|
|
t.Fatalf("len(splitCookieLines()) = %d, want %d", len(lines), len(tt.want))
|
|
}
|
|
for i, line := range lines {
|
|
if line.text != tt.want[i] {
|
|
t.Fatalf("line[%d] = %q, want %q", i, line.text, tt.want[i])
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}
|