From 96b676d036ff4f8f5b82f1b73c8da9fa4a01561f Mon Sep 17 00:00:00 2001 From: SimpleTest Date: Fri, 24 Jul 2026 00:39:56 +0300 Subject: [PATCH] test: serve WebKit-compatible raster tiles --- .../controllers/e2e_tile_controller.ex | 4 +-- .../controllers/e2e_tile_controller_test.exs | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 test/who_need_help_web/controllers/e2e_tile_controller_test.exs 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