aboutsummaryrefslogtreecommitdiff
path: root/reader/json/parser_test.go
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <f@miniflux.net> 2021-01-03 11:33:10 -0800
committerGravatar fguillot <f@miniflux.net> 2021-01-03 11:44:07 -0800
commit291bf96d15ac4fdfbb2c99e3d4de9fb9d2ee162b (patch)
tree796c7ee84550fcb2baa77d7a6187b1781dc8eb85 /reader/json/parser_test.go
parentf0610bdd9c9db82b65663e754294dd474df9fc7e (diff)
downloadv2-291bf96d15ac4fdfbb2c99e3d4de9fb9d2ee162b.tar.gz
v2-291bf96d15ac4fdfbb2c99e3d4de9fb9d2ee162b.tar.zst
v2-291bf96d15ac4fdfbb2c99e3d4de9fb9d2ee162b.zip
Do not strip tags for entry title
Some technical blogs have titles like "</some-title>" or "This is some <code>source code</code>". Miniflux was removing these elements which prevent rendering the title correctly.
Diffstat (limited to 'reader/json/parser_test.go')
-rw-r--r--reader/json/parser_test.go29
1 files changed, 28 insertions, 1 deletions
diff --git a/reader/json/parser_test.go b/reader/json/parser_test.go
index 93d8189a..46bfba40 100644
--- a/reader/json/parser_test.go
+++ b/reader/json/parser_test.go
@@ -76,7 +76,7 @@ func TestParseJsonFeed(t *testing.T) {
t.Errorf("Incorrect entry URL, got: %s", feed.Entries[1].URL)
}
- if feed.Entries[1].Title != "Hello, world!" {
+ if feed.Entries[1].Title != "https://example.org/initial-post" {
t.Errorf(`Incorrect entry title, got: "%s"`, feed.Entries[1].Title)
}
@@ -409,6 +409,33 @@ func TestParseTruncateItemTitle(t *testing.T) {
}
}
+func TestParseItemTitleWithXMLTags(t *testing.T) {
+ data := `{
+ "version": "https://jsonfeed.org/version/1",
+ "title": "My Example Feed",
+ "home_page_url": "https://example.org/",
+ "feed_url": "https://example.org/feed.json",
+ "items": [
+ {
+ "title": "</example>"
+ }
+ ]
+ }`
+
+ feed, err := Parse("https://example.org/feed.json", bytes.NewBufferString(data))
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if len(feed.Entries) != 1 {
+ t.Errorf("Incorrect number of entries, got: %d", len(feed.Entries))
+ }
+
+ if feed.Entries[0].Title != "</example>" {
+ t.Errorf("Incorrect entry title, got: %s", feed.Entries[0].Title)
+ }
+}
+
func TestParseInvalidJSON(t *testing.T) {
data := `garbage`
_, err := Parse("https://example.org/feed.json", bytes.NewBufferString(data))