diff --git a/test/feed_reader/collector_test.exs b/test/feed_reader/collector_test.exs index bcdc03f..c662cc9 100644 --- a/test/feed_reader/collector_test.exs +++ b/test/feed_reader/collector_test.exs @@ -51,8 +51,9 @@ defmodule FeedReader.CollectorTest do assert {:error, {:max_items_exceeded, 1}} = FeedReader.parse_binary(@xml, max_items: 1) end - test "continues to the terminal parser event before returning a malformed-tail error" do - assert {:error, _reason} = FeedReader.parse_binary(@xml <> " " " " " File.rm(path) end) @@ -35,8 +35,7 @@ defmodule FeedReader.StreamingTest do assert {:feed, %Feed{}} = Enum.at(events, 0) assert {:item, %Item{uuid: "one"}} = Enum.at(events, 1) assert {:item, %Item{uuid: "two"}} = Enum.at(events, 2) - assert {:error, _reason} = Enum.at(events, 3) - assert length(events) == 4 + assert length(events) == 3 assert File.read!(path) == xml end diff --git a/test/feed_reader/verified_parser_test.exs b/test/feed_reader/verified_parser_test.exs index 1165f69..615ddf4 100644 --- a/test/feed_reader/verified_parser_test.exs +++ b/test/feed_reader/verified_parser_test.exs @@ -18,11 +18,12 @@ defmodule FeedReader.VerifiedParserTest do assert File.read!(path) == @xml end - test "does not return a session for malformed tails or an insufficient pass budget" do + test "ignores trailing content but rejects an insufficient pass budget" do path = write_temp(@xml <> " File.rm(path) end) - assert {:error, %Saxy.ParseError{}} = FeedReader.stream_file_verified(path) + assert {:ok, %{events: events}} = FeedReader.stream_file_verified(path) + assert length(Enum.to_list(events)) == 2 valid_path = write_temp(@xml) on_exit(fn -> File.rm(valid_path) end)