diff --git a/lib/who_need_help_web/controllers/e2e_tile_controller.ex b/lib/who_need_help_web/controllers/e2e_tile_controller.ex index 5de67ad..2246360 100644 --- a/lib/who_need_help_web/controllers/e2e_tile_controller.ex +++ b/lib/who_need_help_web/controllers/e2e_tile_controller.ex @@ -2,12 +2,12 @@ defmodule WhoNeedHelpWeb.E2eTileController do use WhoNeedHelpWeb, :controller @tile_png Base.decode64!( - "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAQMAAABmvDolAAAAA1BMVEXu8vcBVSTwAAAAH0lEQVRo3u3BAQ0AAADCoPdPbQ43oAAAAAAAAAAAvg0hAAABfxmcpwAAAABJRU5ErkJggg==" + "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAACv0lEQVR42u3TIQEAIADAMKB/VgQGSwzEtwQ3n/vcAVXrdwD8ZADSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApBmANAOQZgDSDECaAUgzAGkGIM0ApD1/fQTXdFWILgAAAABJRU5ErkJggg==" ) def show(conn, _params) do conn - |> put_resp_content_type("image/png") + |> put_resp_content_type("image/png", nil) |> put_resp_header("cache-control", "public, max-age=3600") |> send_resp(:ok, @tile_png) end diff --git a/test/who_need_help_web/controllers/e2e_tile_controller_test.exs b/test/who_need_help_web/controllers/e2e_tile_controller_test.exs new file mode 100644 index 0000000..34c57d3 --- /dev/null +++ b/test/who_need_help_web/controllers/e2e_tile_controller_test.exs @@ -0,0 +1,25 @@ +defmodule WhoNeedHelpWeb.E2eTileControllerTest do + use WhoNeedHelpWeb.ConnCase, async: true + + test "serves a WebKit-compatible truecolor PNG without a text charset", %{conn: conn} do + conn = WhoNeedHelpWeb.E2eTileController.show(conn, %{}) + + assert response(conn, 200) + assert get_resp_header(conn, "content-type") == ["image/png"] + assert get_resp_header(conn, "cache-control") == ["public, max-age=3600"] + + assert << + 0x89, + "PNG\r\n", + 0x1A, + "\n", + 13::32, + "IHDR", + 256::32, + 256::32, + 8, + 2, + _rest::binary + >> = conn.resp_body + end +end