diff options
Diffstat (limited to 'tests/test_jsonfeed.nim')
| -rw-r--r-- | tests/test_jsonfeed.nim | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/test_jsonfeed.nim b/tests/test_jsonfeed.nim new file mode 100644 index 0000000..55757a0 --- /dev/null +++ b/tests/test_jsonfeed.nim @@ -0,0 +1,60 @@ +# This is just an example to get you started. You may wish to put all of your +# tests into a single file, or separate them into multiple `test1`, `test2` +# etc. files (better names are recommended, just make sure the name starts with +# the letter 't'). +# +# To run these tests, simply execute `nimble test`. + +import unittest + +import marshal + +import feednim +import ../src/feednim/jsonfeed + +test "Read Valid JsonFeed": + let feed = "./tests/test_jsonfeed.json".loadJsonFeed() + + check feed.version == "https://jsonfeed.org/version/1" + check feed.title == "Bloggs's Planes Trains and Automobiles" + check feed.home_page_url == "http://joe.bloggs" + check feed.feed_url == "http://joe.bloggs/feed.json" + check feed.description == "About Trains, Planes, and Automobiles." + check feed.next_url == "http://joe.bloggs/feed.json/02" + check feed.icon == "http://joe.bloggs/mug.jpg" + check feed.favicon == "http://joe.bloggs/little_mug.jpg" + check feed.author.name == "Joe Bloggs" + check feed.author.url == "http://joe.bloggs" + check feed.author.avatar == "http://joe.bloggs/mug.jpg" + check feed.expired == false + + check feed.items[0].title == "Aeroplanes not Airplanes" + check feed.items[0].id == "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a" + check feed.items[0].content_html == "<p><i>Aero</i>- not air-, fools!</p>" + check feed.items[0].url == "http://joe.bloggs/01-item" + check feed.items[0].summary == "Americans wrong!" + check feed.items[0].external_url == "http://american-airplanes.awesome" + check feed.items[0].attachments[0].url == "http://learntowordgood.com/aeroplane" + check feed.items[0].attachments[0].mime_type == "audio/mpeg" + check feed.items[0].attachments[0].title == "Learn How to say Aeroplane" + check feed.items[0].attachments[0].size_in_bytes == 6000 + check feed.items[0].attachments[0].duration_in_seconds == 5 + check feed.items[0].date_published == "2010-02-07T14:04:00-04:00" + + check feed.items[1].id == "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6d" + check feed.items[1].author.name == "Jane Bloggs" + check feed.items[1].image == "http://joe.bloggs/images/big-train.jpg" + check feed.items[1].banner_image == "http://joe.bloggs/images/big-train-banner.jpg" + check feed.items[1].content_text == "Trains!" + check feed.items[1].url == "http://joe.bloggs/02-item" + check feed.items[1].date_published == "2010-02-07T14:04:00-05:00" + check feed.items[1].tags[0] == "trains" + check feed.items[1].tags[1] == "photos" + +test "Fetch JsonFeed from JsonFeed.org": + let feed = getJsonFeed("https://jsonfeed.org/feed.json") + check feed.title != "" + check feed.home_page_url == "https://jsonfeed.org/" + check feed.items[0].title == "Announcing JSON Feed" + check feed.items[0].date_published != "" + check feed.items[0].id != "" |
