fix: allow html_to_text to receive nil, e.g. for empty event descriptions

Fixes #34

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
778a69cd 2023-12-09 21:48:23 +01:00 committed by Thomas Citharel
parent 987c5b59d3
commit 5030b755a0
No known key found for this signature in database
GPG key ID: A061B9DDE0CA0773
2 changed files with 5 additions and 1 deletions

View file

@ -41,7 +41,9 @@ defmodule Mobilizon.Service.Formatter.HTML do
def strip_tags_and_insert_spaces(html), do: html def strip_tags_and_insert_spaces(html), do: html
@spec html_to_text(String.t()) :: String.t() @spec html_to_text(String.t() | nil) :: String.t() | nil
def html_to_text(nil), do: nil
def html_to_text(html) do def html_to_text(html) do
html html
|> String.replace(~r/<li>/, "\\g{1}- ", global: true) |> String.replace(~r/<li>/, "\\g{1}- ", global: true)

View file

@ -44,11 +44,13 @@ defmodule Mobilizon.Service.ICalendarTest do
%Event{} = event = insert(:event, title: "I'm public") %Event{} = event = insert(:event, title: "I'm public")
%Event{} = event2 = insert(:event, visibility: :private, title: "I'm private") %Event{} = event2 = insert(:event, visibility: :private, title: "I'm private")
%Event{} = event3 = insert(:event, title: "Another public") %Event{} = event3 = insert(:event, title: "Another public")
%Event{} = event4 = insert(:event, title: "No description", description: nil)
{:commit, ics} = ICalendarService.create_cache("instance") {:commit, ics} = ICalendarService.create_cache("instance")
assert ics =~ event.title assert ics =~ event.title
refute ics =~ event2.title refute ics =~ event2.title
assert ics =~ event3.title assert ics =~ event3.title
assert ics =~ event4.title
end end
test "with 50 events" do test "with 50 events" do