diff options
Diffstat (limited to 'jsonfeed/jsonfeed_test.go')
| -rw-r--r-- | jsonfeed/jsonfeed_test.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/jsonfeed/jsonfeed_test.go b/jsonfeed/jsonfeed_test.go new file mode 100644 index 0000000..d345f38 --- /dev/null +++ b/jsonfeed/jsonfeed_test.go @@ -0,0 +1,42 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/ + +package jsonfeed + +import ( + "os" + "testing" + "time" + + "github.com/stretchr/testify/assert" +) + +func TestParseSimple(t *testing.T) { + r, err := os.Open("testdata/feed.json") + assert.NoError(t, err, "Could not open testdata/feed.json") + + feed, err := Parse(r) + assert.NoError(t, err, "Could not parse testdata/feed.json") + + assert.Equal(t, "https://jsonfeed.org/version/1", feed.Version) + assert.Equal(t, "JSON Feed", feed.Title) + assert.Equal(t, "JSON Feed is a ...", feed.Description) + assert.Equal(t, "https://jsonfeed.org/", feed.HomePageURL) + assert.Equal(t, "https://jsonfeed.org/feed.json", feed.FeedURL) + assert.Equal(t, "This feed allows ...", feed.UserComment) + assert.Equal(t, "https://jsonfeed.org/graphics/icon.png", feed.Favicon) + assert.Equal(t, "Brent Simmons and Manton Reece", feed.Author.Name) + + assert.Equal(t, 1, len(feed.Items)) + + assert.Equal(t, "https://jsonfeed.org/2017/05/17/announcing_json_feed", feed.Items[0].ID) + assert.Equal(t, "https://jsonfeed.org/2017/05/17/announcing_json_feed", feed.Items[0].URL) + assert.Equal(t, "Announcing JSON Feed", feed.Items[0].Title) + assert.Equal(t, "<p>We ...", feed.Items[0].ContentHTML) + + datePublished, err := time.Parse("2006-01-02T15:04:05-07:00", "2017-05-17T08:02:12-07:00") + assert.NoError(t, err, "Could not parse timestamp") + + assert.Equal(t, datePublished, feed.Items[0].DatePublished) +} |
