Skip to content

Commit 6d6cef7

Browse files
authored
Merge pull request #198 from hlindset/fix-xmp-removal-via-atom-selector
`remove_metadata/2` `:xmp` selector is a silent no-op, maps to wrong header name
2 parents 110f437 + 1f525d6 commit 6d6cef7

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

lib/image.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6668,7 +6668,7 @@ defmodule Image do
66686668

66696669
@metadata_fields %{
66706670
exif: "exif-data",
6671-
xmp: "xmp-dataa",
6671+
xmp: "xmp-data",
66726672
iptc: "iptc-data"
66736673
}
66746674

test/image_test.exs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,23 @@ defmodule Image.Test do
3535
assert input_info.size > output_info.size * 2
3636
end
3737

38+
test "Remove metadata", %{dir: _dir} do
39+
image = image_path("Kip_small.jpg")
40+
{:ok, kip} = Vimage.new_from_file(image)
41+
42+
for {atom_key, raw_header_key} <- [
43+
{:exif, "exif-data"},
44+
{:xmp, "xmp-data"},
45+
{:iptc, "iptc-data"}
46+
] do
47+
{:ok, header_fields} = Vix.Vips.Image.header_field_names(kip)
48+
assert Enum.member?(header_fields, raw_header_key)
49+
{:ok, kip} = Image.remove_metadata(kip, [atom_key])
50+
{:ok, header_fields} = Vix.Vips.Image.header_field_names(kip)
51+
refute Enum.member?(header_fields, raw_header_key)
52+
end
53+
end
54+
3855
test "Circular Image", %{dir: dir} do
3956
image = image_path("Kip_small.jpg")
4057
{:ok, kip} = Vimage.new_from_file(image)

0 commit comments

Comments
 (0)