diff --git a/src/parser/feed.go b/src/parser/feed.go index bbed1d4..146d500 100644 --- a/src/parser/feed.go +++ b/src/parser/feed.go @@ -43,7 +43,7 @@ func sniff(lookup string) (string, processor) { } func Parse(r io.Reader) (*Feed, error) { - lookup := make([]byte, 1024) + lookup := make([]byte, 2048) n, err := io.ReadFull(r, lookup) switch { case err == io.ErrUnexpectedEOF: diff --git a/src/parser/rss_test.go b/src/parser/rss_test.go index e9e6553..0baefc8 100644 --- a/src/parser/rss_test.go +++ b/src/parser/rss_test.go @@ -83,3 +83,35 @@ func TestRSSMediaContentThumbnail(t *testing.T) { t.FailNow() } } + +func TestRSSWithLotsOfSpaces(t *testing.T) { + // https://pxlnv.com/: https://feedpress.me/pxlnv + feed, err := Parse(strings.NewReader(strings.ReplaceAll(` + + + + + + finally + + + `, "", strings.Repeat(" ", 500)))) + if err != nil { + t.Fatal(err) + } + have := feed.Title + want := "finally" + if have != want { + t.Logf("want: %#v", want) + t.Logf("have: %#v", have) + t.FailNow() + } +}