Skip to content
Snippets Groups Projects
Commit 5b8eb473 authored by Frédéric Guillot's avatar Frédéric Guillot Committed by fguillot
Browse files

Handle RSS feed title with encoded Unicode entities

parent 1c9f0005
No related branches found
No related tags found
No related merge requests found
...@@ -998,6 +998,25 @@ func TestParseFeedTitleWithHTMLEntity(t *testing.T) { ...@@ -998,6 +998,25 @@ func TestParseFeedTitleWithHTMLEntity(t *testing.T) {
} }
} }
func TestParseFeedTitleWithUnicodeEntityAndCdata(t *testing.T) {
data := `<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
<channel>
<link>https://example.org/</link>
<title><![CDATA[Jenny&#8217;s Newsletter]]></title>
</channel>
</rss>`
feed, err := Parse("https://example.org/", bytes.NewBufferString(data))
if err != nil {
t.Fatal(err)
}
if feed.Title != `Jenny’s Newsletter` {
t.Errorf(`Incorrect title, got: %q`, feed.Title)
}
}
func TestParseItemTitleWithHTMLEntity(t *testing.T) { func TestParseItemTitleWithHTMLEntity(t *testing.T) {
data := `<?xml version="1.0" encoding="utf-8"?> data := `<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"> <rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
......
...@@ -53,7 +53,7 @@ func (r *rssFeed) Transform(baseURL string) *model.Feed { ...@@ -53,7 +53,7 @@ func (r *rssFeed) Transform(baseURL string) *model.Feed {
feed.FeedURL = feedURL feed.FeedURL = feedURL
} }
feed.Title = strings.TrimSpace(r.Title) feed.Title = html.UnescapeString(strings.TrimSpace(r.Title))
if feed.Title == "" { if feed.Title == "" {
feed.Title = feed.SiteURL feed.Title = feed.SiteURL
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment