summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorLain Soykaf <lain@lain.com>2025-01-30 12:18:20 +0400
committerLain Soykaf <lain@lain.com>2025-01-30 12:18:20 +0400
commit81ab906466f8e46ac2a16011faa8d0c2bd009957 (patch)
tree4d8205d7230d4f94ef36929c1cb0c36736777204 /test
parent011d70df792fff9ecae8cc92728b45c026fe9be3 (diff)
downloadpleroma-81ab906466f8e46ac2a16011faa8d0c2bd009957.tar.gz
pleroma-81ab906466f8e46ac2a16011faa8d0c2bd009957.zip
AnalyzeMetadata: Don't crash on grayscale image blurhash
Diffstat (limited to 'test')
-rw-r--r--test/fixtures/break_analyze.pngbin0 -> 368176 bytes
-rw-r--r--test/pleroma/upload/filter/analyze_metadata_test.exs14
2 files changed, 14 insertions, 0 deletions
diff --git a/test/fixtures/break_analyze.png b/test/fixtures/break_analyze.png
new file mode 100644
index 000000000..b5e91b08a
--- /dev/null
+++ b/test/fixtures/break_analyze.png
Binary files differ
diff --git a/test/pleroma/upload/filter/analyze_metadata_test.exs b/test/pleroma/upload/filter/analyze_metadata_test.exs
index e4ac673b2..6e1f2afaf 100644
--- a/test/pleroma/upload/filter/analyze_metadata_test.exs
+++ b/test/pleroma/upload/filter/analyze_metadata_test.exs
@@ -34,6 +34,20 @@ defmodule Pleroma.Upload.Filter.AnalyzeMetadataTest do
assert meta.blurhash == "eXJi-E:SwCEm5rCmn$+YWYn+15K#5A$xxCi{SiV]s*W:Efa#s.jE-T"
end
+ test "it gets dimensions for grayscale images" do
+ upload = %Pleroma.Upload{
+ name: "break_analyze.png",
+ content_type: "image/png",
+ path: Path.absname("test/fixtures/break_analyze.png"),
+ tempfile: Path.absname("test/fixtures/break_analyze.png")
+ }
+
+ {:ok, :filtered, meta} = AnalyzeMetadata.filter(upload)
+
+ assert %{width: 1410, height: 2048} = meta
+ assert is_nil(meta.blurhash)
+ end
+
test "adds the dimensions for videos" do
upload = %Pleroma.Upload{
name: "coolvideo.mp4",