recovery us-ascii encoding

This commit is contained in:
mmacia committed 2026-09-25 23:33:36 +00:00
1 parent 7200ef5215
commit d030408ab8
3 files changed
+16 -3

No files matched your search

@@ -2,6 +2,7 @@ defmodule FeedReader.Recovery.EncodingTest do
use ExUnit.Case, async: true
alias FeedReader.Recovery.Encoding
alias FeedReader.Recovery
test "passes UTF-8 input through unchanged" do
chunks = ["<title>", "café", "</title>"]
@@ -29,4 +30,15 @@ defmodule FeedReader.Recovery.EncodingTest do
assert chunks |> Encoding.normalize_declaration(:latin1) |> Enum.join() ==
"<?xml version=\"1.0\" encoding=\"UTF-8\"?><rss/>"
end
test "rewrites a US-ASCII declaration to UTF-8" do
chunks = ["<?xml version=\"1.0\" encoding=\"us-ascii\"?>", "<rss/>"]
assert chunks |> Encoding.normalize_declaration(:ascii) |> Enum.join() ==
"<?xml version=\"1.0\" encoding=\"UTF-8\"?><rss/>"
end
test "recognizes US-ASCII declarations" do
assert Recovery.declared_encoding("<?xml encoding=\"us-ascii\"?>") == :ascii
end
end