1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.imaging.formats.webp;
19
20 import java.io.File;
21 import java.io.IOException;
22 import java.util.List;
23 import java.util.stream.Stream;
24
25 import org.apache.commons.imaging.AbstractImagingTest;
26 import org.apache.commons.imaging.ImageFormat;
27 import org.apache.commons.imaging.ImageFormats;
28 import org.apache.commons.imaging.Imaging;
29 import org.apache.commons.imaging.ImagingException;
30
31 public abstract class WebPBaseTest extends AbstractImagingTest {
32
33 private static final ImageFilter IMAGE_FILTER = WebPBaseTest::isWebP;
34
35 protected static List<File> getWebPImages() throws IOException, ImagingException {
36 return getTestImages(IMAGE_FILTER);
37 }
38
39 protected static Stream<File> images() throws IOException {
40 final List<File> images = getWebPImages();
41 final File emptyWebP = new File(WebPReadTest.class.getResource("/images/webp/empty/empty-100x100.webp").getFile());
42 final File animationWebP = new File(WebPReadTest.class.getResource("/images/webp/animation/example.webp").getFile());
43 final File exifWebP = new File(WebPReadTest.class.getResource("/images/webp/exif/_DSC6099.webp").getFile());
44 return Stream.concat(images.stream(), Stream.of(emptyWebP, animationWebP, exifWebP));
45 }
46
47 private static boolean isWebP(final File file) throws IOException {
48 final ImageFormat format = Imaging.guessFormat(file);
49 return format == ImageFormats.WEBP;
50 }
51 }