Blob


1 package aliases
3 import (
4 "io"
5 "strings"
6 "testing"
7 )
9 func TestParse(t *testing.T) {
10 var r io.Reader
11 valid := map[string]string{
12 "foo: bar@example.com": "parse valid line",
13 "# some comment": "parse valid commented line",
14 " ": "parse empty line",
15 }
16 for line, msg := range valid {
17 r = strings.NewReader(line)
18 _, err := Parse(r)
19 if err != nil {
20 t.Errorf("%s %q: %v", msg, line, err)
21 }
22 }
24 invalid := map[string]string{
25 "oops:": "missing destination",
26 " : asdfhjkl": "missing recipient",
27 ":": "missing recipient and destination",
28 "::: alex@example.com": "too many colons",
29 "1 2 3 4 5": "too many fields",
30 }
31 for line, problem := range invalid {
32 r = strings.NewReader(line)
33 _, err := Parse(r)
34 if err == nil {
35 t.Errorf("no error parsing %q (%s)", line, problem)
36 }
37 }