diff options
author | Mark Felder <feld@feld.me> | 2021-02-16 09:14:40 -0600 |
---|---|---|
committer | Mark Felder <feld@feld.me> | 2021-02-16 09:14:40 -0600 |
commit | 889341d0d730b8993fa319a9f111c80f2c149b6a (patch) | |
tree | 553882c985396e6b538763c549adc8141de41d05 | |
parent | b40581c4e8b07748ccf58ca6f3923be542ed8f93 (diff) | |
download | pleroma-889341d0d730b8993fa319a9f111c80f2c149b6a.tar.gz |
Validate we can convert heic to jpeg
-rw-r--r-- | test/fixtures/image.heic | bin | 0 -> 41465 bytes | |||
-rw-r--r-- | test/pleroma/upload/filter/heic_to_jpeg_test.exs | 40 |
2 files changed, 40 insertions, 0 deletions
diff --git a/test/fixtures/image.heic b/test/fixtures/image.heic Binary files differnew file mode 100644 index 000000000..efd119a0e --- /dev/null +++ b/test/fixtures/image.heic diff --git a/test/pleroma/upload/filter/heic_to_jpeg_test.exs b/test/pleroma/upload/filter/heic_to_jpeg_test.exs new file mode 100644 index 000000000..3a5d0a1c1 --- /dev/null +++ b/test/pleroma/upload/filter/heic_to_jpeg_test.exs @@ -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 |