Validate we can convert heic to jpeg

This commit is contained in:
Mark Felder 2021-02-16 09:14:40 -06:00
parent b40581c4e8
commit 889341d0d7
2 changed files with 40 additions and 0 deletions

BIN
test/fixtures/image.heic vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,40 @@
# Pleroma: A lightweight social networking server
# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Upload.Filter.HeicToJpegTest do
use Pleroma.DataCase, async: true
alias Pleroma.Upload.Filter
test "apply HeicToJpeg filter" do
assert Pleroma.Utils.command_available?("mogrify")
File.cp!(
"test/fixtures/image.heic",
"test/fixtures/heictmp"
)
upload = %Pleroma.Upload{
name: "image.heic",
content_type: "image/heic",
path: Path.absname("test/fixtures/image.heic"),
tempfile: Path.absname("test/fixtures/heictmp")
}
{:ok, :filtered, result} = Filter.HeifToJpeg.filter(upload)
assert result.content_type == "image/jpeg"
assert result.name == "image.jpg"
assert String.ends_with?(result.path, "jpg")
assert {:ok,
%Majic.Result{
content:
"JPEG image data, JFIF standard 1.02, resolution (DPI), density 96x96, segment length 16, progressive, precision 8, 1024x768, components 3",
encoding: "binary",
mime_type: "image/jpeg"
}} == Majic.perform(result.path, pool: Pleroma.MajicPool)
on_exit(fn -> File.rm!("test/fixtures/heictmp") end)
end
end