diff --git a/test/feed_reader/collector_test.exs b/test/feed_reader/collector_test.exs index 513cbf5..a8e80f8 100644 --- a/test/feed_reader/collector_test.exs +++ b/test/feed_reader/collector_test.exs @@ -60,6 +60,18 @@ defmodule FeedReader.CollectorTest do assert {:error, _reason} = FeedReader.parse_binary("junk" <> @xml, max_items: 2) end + test "transcodes ISO-8859-1 XML while parsing as UTF-8" do + xml = + ~s(caf) <> + <<0xE9>> <> + ~s() + + expected_title = "caf" <> <<0xC3, 0xA9>> + + assert {:ok, %ParseResult{feed: %Feed{title: ^expected_title}}} = + FeedReader.parse_binary(xml, max_items: 1) + end + test "rejects invalid chunks and binary arguments" do assert {:error, :invalid_chunk} = FeedReader.parse_stream([@xml, 123], max_items: 2)