package parser import ( "reflect" "strings" "testing" "time" ) func TestAtom(t *testing.T) { have, _ := Parse(strings.NewReader(` Example Feed A subtitle. urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6 2003-12-13T18:30:02Z Atom-Powered Robots Run Amok urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a 2003-12-13T18:30:02Z Some text.

This is the entry content.

John Doe johndoe@example.com
`)) want := &Feed{ Title: "Example Feed", SiteURL: "http://example.org/", Items: []Item{ { GUID: "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a", Date: time.Unix(1071340202, 0).UTC(), URL: "http://example.org/2003/12/13/atom03.html", Title: "Atom-Powered Robots Run Amok", Content: `

This is the entry content.

`, ImageURL: "", AudioURL: "", }, }, } if !reflect.DeepEqual(want, have) { t.Logf("want: %#v", want) t.Logf("have: %#v", have) t.Fatal("invalid atom") } } func TestAtomClashingNamespaces(t *testing.T) { have, err := Parse(strings.NewReader(` atom content `)) want := &Feed{Items: []Item{{Content: "atom content"}}} if err != nil { t.Fatal(err) } if !reflect.DeepEqual(want, have) { t.Logf("want: %#v", want) t.Logf("have: %#v", have) t.FailNow() } }