aboutsummaryrefslogtreecommitdiff
path: root/reader/atom/atom_10_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'reader/atom/atom_10_test.go')
-rw-r--r--reader/atom/atom_10_test.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/reader/atom/atom_10_test.go b/reader/atom/atom_10_test.go
index c6a50ef0..bf45a7a9 100644
--- a/reader/atom/atom_10_test.go
+++ b/reader/atom/atom_10_test.go
@@ -1604,3 +1604,48 @@ func TestAbsoluteCommentsURL(t *testing.T) {
t.Errorf("Incorrect entry comments URL, got: %s", feed.Entries[0].CommentsURL)
}
}
+
+func TestParseFeedWithCategories(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>
+ <category term='Tech' />
+ <category term='Technology' label='Science' />
+ </entry>
+
+ </feed>`
+
+ feed, err := Parse("https://example.org/", bytes.NewBufferString(data))
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if len(feed.Entries[0].Tags) != 2 {
+ t.Errorf("Incorrect number of tags, got: %d", len(feed.Entries[0].Tags))
+ }
+
+ expected := "Tech"
+ result := feed.Entries[0].Tags[0]
+ if result != expected {
+ t.Errorf("Incorrect entry category, got %q instead of %q", result, expected)
+ }
+
+ expected = "Science"
+ result = feed.Entries[0].Tags[1]
+ if result != expected {
+ t.Errorf("Incorrect entry category, got %q instead of %q", result, expected)
+ }
+}