1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.imaging.formats.jpeg.iptc;
19
20 import static org.junit.jupiter.api.Assertions.assertNotNull;
21
22 import java.io.File;
23 import java.util.List;
24 import java.util.stream.Stream;
25
26 import org.apache.commons.imaging.Imaging;
27 import org.apache.commons.imaging.formats.jpeg.JpegImageMetadata;
28 import org.apache.commons.imaging.formats.jpeg.JpegPhotoshopMetadata;
29 import org.apache.commons.imaging.internal.Debug;
30 import org.junit.jupiter.params.ParameterizedTest;
31 import org.junit.jupiter.params.provider.MethodSource;
32
33 public class IptcDumpTest extends AbstractIptcTest {
34
35 public static Stream<File> data() throws Exception {
36 return getImagesWithIptcData().stream();
37 }
38
39 @ParameterizedTest
40 @MethodSource("data")
41 public void test(final File imageFile) throws Exception {
42 final JpegImageMetadata metadata = (JpegImageMetadata) Imaging.getMetadata(imageFile);
43 assertNotNull(metadata);
44 assertNotNull(metadata.getPhotoshop());
45
46 metadata.getPhotoshop().dump();
47
48 final JpegPhotoshopMetadata psMetadata = metadata.getPhotoshop();
49 final List<IptcRecord> oldRecords = psMetadata.photoshopApp13Data.getRecords();
50
51 Debug.debug();
52 for (final IptcRecord record : oldRecords) {
53 if (record.iptcType != IptcTypes.CITY) {
54 Debug.debug("Key: " + record.iptcType.getName() + " (0x" + Integer.toHexString(record.iptcType.getType()) + "), value: " + record.getValue());
55 }
56 }
57 Debug.debug();
58 }
59
60 }