From 284f840613762707d7047085f33f74136bafbbac Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Sun, 1 Sep 2019 15:49:30 -0400 Subject: [PATCH] Add feed parsing tests --- lib/parser/atom.ex | 2 +- test/feed_parser_test.exs | 4 --- test/fixtures/atom/feed.xml | 20 +++++++++++ test/fixtures/jsonfeed/feed.json | 18 ++++++++++ test/fixtures/rss2/feed.xml | 22 ++++++++++++ test/fixtures/rssinjson/feed.json | 58 +++++++++++++++++++++++++++++++ test/parser/atom_test.exs | 25 +++++++++++++ test/parser/jsonfeed_test.exs | 26 ++++++++++++++ test/parser/rss2_test.exs | 28 +++++++++++++++ test/parser/rssinjson_test.exs | 22 ++++++++++++ 10 files changed, 220 insertions(+), 5 deletions(-) create mode 100644 test/fixtures/atom/feed.xml create mode 100644 test/fixtures/jsonfeed/feed.json create mode 100644 test/fixtures/rss2/feed.xml create mode 100644 test/fixtures/rssinjson/feed.json create mode 100644 test/parser/atom_test.exs create mode 100644 test/parser/jsonfeed_test.exs create mode 100644 test/parser/rss2_test.exs create mode 100644 test/parser/rssinjson_test.exs diff --git a/lib/parser/atom.ex b/lib/parser/atom.ex index f9b72ab..40bae42 100644 --- a/lib/parser/atom.ex +++ b/lib/parser/atom.ex @@ -12,7 +12,7 @@ defmodule FeedParser.Parser.Atom do def accepts(data, content_type) do case content_type do "application/atom+xml" -> - true + {true, XML.parse(data)} _ when content_type in ["text/xml", "application/xml"] -> doc = XML.parse(data) diff --git a/test/feed_parser_test.exs b/test/feed_parser_test.exs index 37e34c7..eebb4d3 100644 --- a/test/feed_parser_test.exs +++ b/test/feed_parser_test.exs @@ -1,8 +1,4 @@ defmodule FeedParserTest do use ExUnit.Case doctest FeedParser - - test "greets the world" do - assert FeedParser.hello() == :world - end end diff --git a/test/fixtures/atom/feed.xml b/test/fixtures/atom/feed.xml new file mode 100644 index 0000000..18ab87a --- /dev/null +++ b/test/fixtures/atom/feed.xml @@ -0,0 +1,20 @@ + + + + Example Feed + + 2003-12-13T18:30:02Z + + John Doe + + urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6 + + + Atom-Powered Robots Run Amok + + urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a + 2003-12-13T18:30:02Z + Some text. + + + diff --git a/test/fixtures/jsonfeed/feed.json b/test/fixtures/jsonfeed/feed.json new file mode 100644 index 0000000..b895db8 --- /dev/null +++ b/test/fixtures/jsonfeed/feed.json @@ -0,0 +1,18 @@ +{ + "version": "https://jsonfeed.org/version/1", + "title": "My Example Feed", + "home_page_url": "https://example.org/", + "feed_url": "https://example.org/feed.json", + "items": [ + { + "id": "2", + "content_text": "This is a second item.", + "url": "https://example.org/second-item" + }, + { + "id": "1", + "content_html": "

Hello, world!

", + "url": "https://example.org/initial-post" + } + ] +} diff --git a/test/fixtures/rss2/feed.xml b/test/fixtures/rss2/feed.xml new file mode 100644 index 0000000..37c6144 --- /dev/null +++ b/test/fixtures/rss2/feed.xml @@ -0,0 +1,22 @@ + +