|
|
@@ -732,6 +732,121 @@ func TestParseEntryWithoutAuthorName(t *testing.T) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+func TestParseEntryWithMultipleAuthors(t *testing.T) {
|
|
|
+ data := `<?xml version="1.0" encoding="utf-8"?>
|
|
|
+ <feed xmlns="http://www.w3.org/2005/Atom">
|
|
|
+ <title>Example Feed</title>
|
|
|
+ <link href="http://example.org/"/>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ <link href="http://example.org/2003/12/13/atom03"/>
|
|
|
+ <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
|
|
|
+ <updated>2003-12-13T18:30:02Z</updated>
|
|
|
+ <summary>Some text.</summary>
|
|
|
+ <author>
|
|
|
+ <name>Alice</name>
|
|
|
+ </author>
|
|
|
+ <author>
|
|
|
+ <name>Bob</name>
|
|
|
+ </author>
|
|
|
+ </entry>
|
|
|
+
|
|
|
+ </feed>`
|
|
|
+
|
|
|
+ feed, err := Parse("https://example.org/", bytes.NewBufferString(data))
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if feed.Entries[0].Author != "Alice, Bob" {
|
|
|
+ t.Errorf("Incorrect entry author, got: %s", feed.Entries[0].Author)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestParseEntryWithoutAuthor(t *testing.T) {
|
|
|
+ data := `<?xml version="1.0" encoding="utf-8"?>
|
|
|
+ <feed xmlns="http://www.w3.org/2005/Atom">
|
|
|
+ <title>Example Feed</title>
|
|
|
+ <link href="http://example.org/"/>
|
|
|
+ <author>
|
|
|
+ <name>John Doe</name>
|
|
|
+ </author>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ <link href="http://example.org/2003/12/13/atom03"/>
|
|
|
+ <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
|
|
|
+ <updated>2003-12-13T18:30:02Z</updated>
|
|
|
+ <summary>Some text.</summary>
|
|
|
+ </entry>
|
|
|
+
|
|
|
+ </feed>`
|
|
|
+
|
|
|
+ feed, err := Parse("https://example.org/", bytes.NewBufferString(data))
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if feed.Entries[0].Author != "John Doe" {
|
|
|
+ t.Errorf("Incorrect entry author, got: %s", feed.Entries[0].Author)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestParseFeedWithMultipleAuthors(t *testing.T) {
|
|
|
+ data := `<?xml version="1.0" encoding="utf-8"?>
|
|
|
+ <feed xmlns="http://www.w3.org/2005/Atom">
|
|
|
+ <title>Example Feed</title>
|
|
|
+ <link href="http://example.org/"/>
|
|
|
+ <author>
|
|
|
+ <name>Alice</name>
|
|
|
+ </author>
|
|
|
+ <author>
|
|
|
+ <name>Bob</name>
|
|
|
+ </author>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ <link href="http://example.org/2003/12/13/atom03"/>
|
|
|
+ <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
|
|
|
+ <updated>2003-12-13T18:30:02Z</updated>
|
|
|
+ <summary>Some text.</summary>
|
|
|
+ </entry>
|
|
|
+
|
|
|
+ </feed>`
|
|
|
+
|
|
|
+ feed, err := Parse("https://example.org/", bytes.NewBufferString(data))
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if feed.Entries[0].Author != "Alice, Bob" {
|
|
|
+ t.Errorf("Incorrect entry author, got: %s", feed.Entries[0].Author)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestParseFeedWithoutAuthor(t *testing.T) {
|
|
|
+ data := `<?xml version="1.0" encoding="utf-8"?>
|
|
|
+ <feed xmlns="http://www.w3.org/2005/Atom">
|
|
|
+ <title>Example Feed</title>
|
|
|
+ <link href="http://example.org/"/>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ <link href="http://example.org/2003/12/13/atom03"/>
|
|
|
+ <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
|
|
|
+ <updated>2003-12-13T18:30:02Z</updated>
|
|
|
+ <summary>Some text.</summary>
|
|
|
+ </entry>
|
|
|
+
|
|
|
+ </feed>`
|
|
|
+
|
|
|
+ feed, err := Parse("https://example.org/", bytes.NewBufferString(data))
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if feed.Entries[0].Author != "" {
|
|
|
+ t.Errorf("Incorrect entry author, got: %q", feed.Entries[0].Author)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
func TestParseEntryWithEnclosures(t *testing.T) {
|
|
|
data := `<?xml version="1.0" encoding="utf-8"?>
|
|
|
<feed xmlns="http://www.w3.org/2005/Atom">
|