diff --git a/imageio/imageio-batik/src/test/java/com/twelvemonkeys/imageio/plugins/svg/SVGProviderInfoTest.java b/imageio/imageio-batik/src/test/java/com/twelvemonkeys/imageio/plugins/svg/SVGProviderInfoTest.java
new file mode 100644
index 00000000..2537db4f
--- /dev/null
+++ b/imageio/imageio-batik/src/test/java/com/twelvemonkeys/imageio/plugins/svg/SVGProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.svg;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * SVGProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: SVGProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class SVGProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new SVGProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-batik/src/test/java/com/twelvemonkeys/imageio/plugins/wmf/WMFProviderInfoTest.java b/imageio/imageio-batik/src/test/java/com/twelvemonkeys/imageio/plugins/wmf/WMFProviderInfoTest.java
new file mode 100644
index 00000000..6b96d2cf
--- /dev/null
+++ b/imageio/imageio-batik/src/test/java/com/twelvemonkeys/imageio/plugins/wmf/WMFProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.wmf;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * WMFProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: WMFProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class WMFProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new WMFProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/BMPProviderInfoTest.java b/imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/BMPProviderInfoTest.java
new file mode 100644
index 00000000..97773065
--- /dev/null
+++ b/imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/BMPProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.bmp;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * BMPProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: BMPProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class BMPProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new BMPProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/CURProviderInfoTest.java b/imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/CURProviderInfoTest.java
new file mode 100644
index 00000000..61a814b2
--- /dev/null
+++ b/imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/CURProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.bmp;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * CURProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: CURProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class CURProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new CURProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/ICOProviderInfoTest.java b/imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/ICOProviderInfoTest.java
new file mode 100644
index 00000000..832d0ec9
--- /dev/null
+++ b/imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/ICOProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.bmp;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * ICOProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: ICOProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class ICOProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new ICOProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ReaderWriterProviderInfo.java b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ReaderWriterProviderInfo.java
index 9b3f8edb..a6138816 100644
--- a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ReaderWriterProviderInfo.java
+++ b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ReaderWriterProviderInfo.java
@@ -52,7 +52,7 @@ public abstract class ReaderWriterProviderInfo extends ProviderInfo {
private final String[] writerSpiClassNames;
private final Class[] outputTypes = new Class[] {ImageOutputStream.class};
private final boolean supportsStandardStreamMetadata;
- private final String nativeStreameMetadataFormatName;
+ private final String nativeStreamMetadataFormatName;
private final String nativeStreamMetadataFormatClassName;
private final String[] extraStreamMetadataFormatNames;
private final String[] extraStreamMetadataFormatClassNames;
@@ -97,7 +97,7 @@ public abstract class ReaderWriterProviderInfo extends ProviderInfo {
this.writerClassName = writerClassName;
this.writerSpiClassNames = writerSpiClassNames;
this.supportsStandardStreamMetadata = supportsStandardStreamMetadata;
- this.nativeStreameMetadataFormatName = nativeStreameMetadataFormatName;
+ this.nativeStreamMetadataFormatName = nativeStreameMetadataFormatName;
this.nativeStreamMetadataFormatClassName = nativeStreamMetadataFormatClassName;
this.extraStreamMetadataFormatNames = extraStreamMetadataFormatNames;
this.extraStreamMetadataFormatClassNames = extraStreamMetadataFormatClassNames;
@@ -149,7 +149,7 @@ public abstract class ReaderWriterProviderInfo extends ProviderInfo {
}
public String nativeStreamMetadataFormatName() {
- return nativeStreameMetadataFormatName;
+ return nativeStreamMetadataFormatName;
}
public String nativeStreamMetadataFormatClassName() {
diff --git a/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/spi/ReaderWriterProviderInfoTest.java b/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/spi/ReaderWriterProviderInfoTest.java
new file mode 100644
index 00000000..af0df7ed
--- /dev/null
+++ b/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/spi/ReaderWriterProviderInfoTest.java
@@ -0,0 +1,160 @@
+package com.twelvemonkeys.imageio.spi;
+
+import org.hamcrest.Description;
+import org.junit.Test;
+import org.junit.internal.matchers.TypeSafeMatcher;
+
+import javax.imageio.ImageReader;
+import javax.imageio.ImageWriter;
+import javax.imageio.metadata.IIOMetadataFormat;
+import javax.imageio.spi.ImageReaderSpi;
+import javax.imageio.spi.ImageWriterSpi;
+import java.util.List;
+
+import static java.util.Arrays.asList;
+import static org.junit.Assert.*;
+
+/**
+ * ReaderWriterProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: ReaderWriterProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public abstract class ReaderWriterProviderInfoTest {
+
+ private final ReaderWriterProviderInfo providerInfo = createProviderInfo();
+
+ protected abstract ReaderWriterProviderInfo createProviderInfo();
+
+ protected final ReaderWriterProviderInfo getProviderInfo() {
+ return providerInfo;
+ }
+
+ @Test
+ public void readerClassName() throws Exception {
+ assertClassExists(providerInfo.readerClassName(), ImageReader.class);
+ }
+
+ @Test
+ public void readerSpiClassNames() throws Exception {
+ assertClassesExist(providerInfo.readerSpiClassNames(), ImageReaderSpi.class);
+ }
+
+ @Test
+ public void inputTypes() throws Exception {
+ assertNotNull(providerInfo.inputTypes());
+ }
+
+ @Test
+ public void writerClassName() throws Exception {
+ assertClassExists(providerInfo.writerClassName(), ImageWriter.class);
+ }
+
+ @Test
+ public void writerSpiClassNames() throws Exception {
+ assertClassesExist(providerInfo.writerSpiClassNames(), ImageWriterSpi.class);
+ }
+
+ @Test
+ public void outputTypes() throws Exception {
+ assertNotNull(providerInfo.outputTypes());
+ }
+
+ @Test
+ public void nativeStreamMetadataFormatClassName() throws Exception {
+ assertClassExists(providerInfo.nativeStreamMetadataFormatClassName(), IIOMetadataFormat.class);
+ }
+
+ @Test
+ public void extraStreamMetadataFormatClassNames() throws Exception {
+ assertClassesExist(providerInfo.extraStreamMetadataFormatClassNames(), IIOMetadataFormat.class);
+ }
+
+ @Test
+ public void nativeImageMetadataFormatClassName() throws Exception {
+ assertClassExists(providerInfo.nativeImageMetadataFormatClassName(), IIOMetadataFormat.class);
+ }
+
+ @Test
+ public void extraImageMetadataFormatClassNames() throws Exception {
+ assertClassesExist(providerInfo.extraImageMetadataFormatClassNames(), IIOMetadataFormat.class);
+ }
+
+ @Test
+ public void formatNames() {
+ String[] names = providerInfo.formatNames();
+ assertNotNull(names);
+ assertFalse(names.length == 0);
+
+ List list = asList(names);
+
+ for (String name : list) {
+ assertNotNull(name);
+ assertFalse(name.isEmpty());
+
+ assertTrue(list.contains(name.toLowerCase()));
+ assertTrue(list.contains(name.toUpperCase()));
+ }
+ }
+
+ @Test
+ public void suffixes() {
+ String[] suffixes = providerInfo.suffixes();
+ assertNotNull(suffixes);
+ assertFalse(suffixes.length == 0);
+
+ for (String suffix : suffixes) {
+ assertNotNull(suffix);
+ assertFalse(suffix.isEmpty());
+ }
+ }
+
+ @Test
+ public void mimeTypes() {
+ String[] mimeTypes = providerInfo.mimeTypes();
+ assertNotNull(mimeTypes);
+ assertFalse(mimeTypes.length == 0);
+
+ for (String mimeType : mimeTypes) {
+ assertNotNull(mimeType);
+ assertFalse(mimeType.isEmpty());
+
+ assertTrue(mimeType.length() > 1);
+ assertTrue(mimeType.indexOf('/') > 0);
+ assertTrue(mimeType.indexOf('/') < mimeType.length() - 1);
+ }
+ }
+
+ public static void assertClassExists(final String className, final Class type) {
+ if (className != null) {
+ try {
+ final Class> cl = Class.forName(className);
+
+ assertThat(cl, new TypeSafeMatcher>() {
+ @Override
+ public boolean matchesSafely(Class> item) {
+ return type.isAssignableFrom(cl);
+ }
+
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("is subclass of ").appendValue(type);
+ }
+ });
+ }
+ catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ fail("Class not found: " + e.getMessage());
+ }
+ }
+ }
+
+ public static void assertClassesExist(final String[] classNames, final Class type) {
+ if (classNames != null) {
+ for (String className : classNames) {
+ assertClassExists(className, type);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-hdr/src/test/java/com/twelvemonkeys/imageio/plugins/hdr/HDRProviderInfoTest.java b/imageio/imageio-hdr/src/test/java/com/twelvemonkeys/imageio/plugins/hdr/HDRProviderInfoTest.java
new file mode 100644
index 00000000..153f3b45
--- /dev/null
+++ b/imageio/imageio-hdr/src/test/java/com/twelvemonkeys/imageio/plugins/hdr/HDRProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.hdr;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * HDRProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: HDRProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class HDRProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new HDRProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-icns/src/main/java/com/twelvemonkeys/imageio/plugins/icns/ICNSProviderInfo.java b/imageio/imageio-icns/src/main/java/com/twelvemonkeys/imageio/plugins/icns/ICNSProviderInfo.java
index 0a82801e..59cb4e9e 100644
--- a/imageio/imageio-icns/src/main/java/com/twelvemonkeys/imageio/plugins/icns/ICNSProviderInfo.java
+++ b/imageio/imageio-icns/src/main/java/com/twelvemonkeys/imageio/plugins/icns/ICNSProviderInfo.java
@@ -47,7 +47,7 @@ final class ICNSProviderInfo extends ReaderWriterProviderInfo {
"image/x-apple-icons", // Common extension MIME
},
"com.twelvemonkeys.imageio.plugins.icns.ICNSImageReader",
- new String[] {"com.twelvemonkeys.imageio.plugins.ics.ICNImageReaderSpi"},
+ new String[] {"com.twelvemonkeys.imageio.plugins.icns.ICNSImageReaderSpi"},
null, null,
false, null, null, null, null,
true, null, null, null, null
diff --git a/imageio/imageio-icns/src/test/java/com/twelvemonkeys/imageio/plugins/icns/ICNSProviderInfoTest.java b/imageio/imageio-icns/src/test/java/com/twelvemonkeys/imageio/plugins/icns/ICNSProviderInfoTest.java
new file mode 100644
index 00000000..c5772ae6
--- /dev/null
+++ b/imageio/imageio-icns/src/test/java/com/twelvemonkeys/imageio/plugins/icns/ICNSProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.icns;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * ICNSProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: ICNSProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class ICNSProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new ICNSProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-iff/src/test/java/com/twelvemonkeys/imageio/plugins/iff/IFFProviderInfoTest.java b/imageio/imageio-iff/src/test/java/com/twelvemonkeys/imageio/plugins/iff/IFFProviderInfoTest.java
new file mode 100644
index 00000000..ec666c9a
--- /dev/null
+++ b/imageio/imageio-iff/src/test/java/com/twelvemonkeys/imageio/plugins/iff/IFFProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.iff;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * IFFProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: IFFProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class IFFProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new IFFProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGProviderInfoTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGProviderInfoTest.java
new file mode 100644
index 00000000..6885f09a
--- /dev/null
+++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.jpeg;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * JPEGProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: JPEGProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class JPEGProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new JPEGProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-pcx/src/test/java/com/twelvemonkeys/imageio/plugins/dcx/DCXProviderInfoTest.java b/imageio/imageio-pcx/src/test/java/com/twelvemonkeys/imageio/plugins/dcx/DCXProviderInfoTest.java
new file mode 100644
index 00000000..5e3893e7
--- /dev/null
+++ b/imageio/imageio-pcx/src/test/java/com/twelvemonkeys/imageio/plugins/dcx/DCXProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.dcx;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * DCXProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: DCXProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class DCXProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new DCXProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-pcx/src/test/java/com/twelvemonkeys/imageio/plugins/pcx/PCXProviderInfoTest.java b/imageio/imageio-pcx/src/test/java/com/twelvemonkeys/imageio/plugins/pcx/PCXProviderInfoTest.java
new file mode 100644
index 00000000..d82951a0
--- /dev/null
+++ b/imageio/imageio-pcx/src/test/java/com/twelvemonkeys/imageio/plugins/pcx/PCXProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.pcx;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * PCXProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: PCXProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class PCXProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new PCXProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-pict/src/test/java/com/twelvemonkeys/imageio/plugins/pict/PICTProviderInfoTest.java b/imageio/imageio-pict/src/test/java/com/twelvemonkeys/imageio/plugins/pict/PICTProviderInfoTest.java
new file mode 100644
index 00000000..920e2c91
--- /dev/null
+++ b/imageio/imageio-pict/src/test/java/com/twelvemonkeys/imageio/plugins/pict/PICTProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.pict;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * PICTProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: PICTProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class PICTProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new PICTProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-pnm/src/test/java/com/twelvemonkeys/imageio/plugins/pnm/PAMImageWriterSpiTest.java b/imageio/imageio-pnm/src/test/java/com/twelvemonkeys/imageio/plugins/pnm/PAMImageWriterSpiTest.java
new file mode 100644
index 00000000..c6efb07b
--- /dev/null
+++ b/imageio/imageio-pnm/src/test/java/com/twelvemonkeys/imageio/plugins/pnm/PAMImageWriterSpiTest.java
@@ -0,0 +1,38 @@
+package com.twelvemonkeys.imageio.plugins.pnm;
+
+import org.junit.Test;
+
+import javax.imageio.ImageWriter;
+import javax.imageio.spi.ImageReaderSpi;
+import javax.imageio.spi.ImageWriterSpi;
+
+import static com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest.assertClassExists;
+import static com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest.assertClassesExist;
+import static org.junit.Assert.assertNotNull;
+
+/**
+ * PAMImageWriterSpiTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: PAMImageWriterSpiTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class PAMImageWriterSpiTest {
+
+ private final ImageWriterSpi spi = new PAMImageWriterSpi();
+
+ @Test
+ public void getPluginClassName() {
+ assertClassExists(spi.getPluginClassName(), ImageWriter.class);
+ }
+
+ @Test
+ public void getImageReaderSpiNames() {
+ assertClassesExist(spi.getImageReaderSpiNames(), ImageReaderSpi.class);
+ }
+
+ @Test
+ public void getOutputTypes() {
+ assertNotNull(spi.getOutputTypes());
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-pnm/src/test/java/com/twelvemonkeys/imageio/plugins/pnm/PNMImageReaderSpiTest.java b/imageio/imageio-pnm/src/test/java/com/twelvemonkeys/imageio/plugins/pnm/PNMImageReaderSpiTest.java
new file mode 100644
index 00000000..2ed5daef
--- /dev/null
+++ b/imageio/imageio-pnm/src/test/java/com/twelvemonkeys/imageio/plugins/pnm/PNMImageReaderSpiTest.java
@@ -0,0 +1,38 @@
+package com.twelvemonkeys.imageio.plugins.pnm;
+
+import org.junit.Test;
+
+import javax.imageio.ImageReader;
+import javax.imageio.spi.ImageReaderSpi;
+import javax.imageio.spi.ImageWriterSpi;
+
+import static com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest.assertClassExists;
+import static com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest.assertClassesExist;
+import static org.junit.Assert.assertNotNull;
+
+/**
+ * PNMImageReaderSpiTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: PNMImageReaderSpiTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class PNMImageReaderSpiTest {
+
+ private final ImageReaderSpi spi = new PNMImageReaderSpi();
+
+ @Test
+ public void getPluginClassName() {
+ assertClassExists(spi.getPluginClassName(), ImageReader.class);
+ }
+
+ @Test
+ public void getImageWriterSpiNames() {
+ assertClassesExist(spi.getImageWriterSpiNames(), ImageWriterSpi.class);
+ }
+
+ @Test
+ public void getInputTypes() {
+ assertNotNull(spi.getInputTypes());
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-pnm/src/test/java/com/twelvemonkeys/imageio/plugins/pnm/PNMImageWriterSpiTest.java b/imageio/imageio-pnm/src/test/java/com/twelvemonkeys/imageio/plugins/pnm/PNMImageWriterSpiTest.java
new file mode 100644
index 00000000..4bbb4936
--- /dev/null
+++ b/imageio/imageio-pnm/src/test/java/com/twelvemonkeys/imageio/plugins/pnm/PNMImageWriterSpiTest.java
@@ -0,0 +1,38 @@
+package com.twelvemonkeys.imageio.plugins.pnm;
+
+import org.junit.Test;
+
+import javax.imageio.ImageWriter;
+import javax.imageio.spi.ImageReaderSpi;
+import javax.imageio.spi.ImageWriterSpi;
+
+import static com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest.assertClassExists;
+import static com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest.assertClassesExist;
+import static org.junit.Assert.assertNotNull;
+
+/**
+ * PNMImageWriterSpiTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: PNMImageWriterSpiTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class PNMImageWriterSpiTest {
+
+ private final ImageWriterSpi spi = new PNMImageWriterSpi();
+
+ @Test
+ public void getPluginClassName() {
+ assertClassExists(spi.getPluginClassName(), ImageWriter.class);
+ }
+
+ @Test
+ public void getImageReaderSpiNames() {
+ assertClassesExist(spi.getImageReaderSpiNames(), ImageReaderSpi.class);
+ }
+
+ @Test
+ public void getOutputTypes() {
+ assertNotNull(spi.getOutputTypes());
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-pnm/src/test/java/com/twelvemonkeys/imageio/plugins/pnm/PNMProviderInfoTest.java b/imageio/imageio-pnm/src/test/java/com/twelvemonkeys/imageio/plugins/pnm/PNMProviderInfoTest.java
new file mode 100644
index 00000000..7ae7e892
--- /dev/null
+++ b/imageio/imageio-pnm/src/test/java/com/twelvemonkeys/imageio/plugins/pnm/PNMProviderInfoTest.java
@@ -0,0 +1,21 @@
+package com.twelvemonkeys.imageio.plugins.pnm;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertNotNull;
+
+/**
+ * PNMProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: PNMProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class PNMProviderInfoTest {
+ @Test
+ public void vendorVersion() {
+ PNMProviderInfo providerInfo = new PNMProviderInfo();
+ assertNotNull(providerInfo.getVendorName());
+ assertNotNull(providerInfo.getVersion());
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-psd/src/test/java/com/twelvemonkeys/imageio/plugins/psd/PSDProviderInfoTest.java b/imageio/imageio-psd/src/test/java/com/twelvemonkeys/imageio/plugins/psd/PSDProviderInfoTest.java
new file mode 100644
index 00000000..58e073d8
--- /dev/null
+++ b/imageio/imageio-psd/src/test/java/com/twelvemonkeys/imageio/plugins/psd/PSDProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.psd;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * PSDProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: PSDProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class PSDProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new PSDProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-sgi/src/test/java/com/twelvemonkeys/imageio/plugins/sgi/SGIProviderInfoTest.java b/imageio/imageio-sgi/src/test/java/com/twelvemonkeys/imageio/plugins/sgi/SGIProviderInfoTest.java
new file mode 100644
index 00000000..7a84ff48
--- /dev/null
+++ b/imageio/imageio-sgi/src/test/java/com/twelvemonkeys/imageio/plugins/sgi/SGIProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.sgi;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * SGIProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: SGIProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class SGIProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new SGIProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-tga/src/test/java/com/twelvemonkeys/imageio/plugins/tga/TGAProviderInfoTest.java b/imageio/imageio-tga/src/test/java/com/twelvemonkeys/imageio/plugins/tga/TGAProviderInfoTest.java
new file mode 100644
index 00000000..99a85127
--- /dev/null
+++ b/imageio/imageio-tga/src/test/java/com/twelvemonkeys/imageio/plugins/tga/TGAProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.tga;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * TGAProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: TGAProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class TGAProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new TGAProviderInfo();
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBProviderInfo.java b/imageio/imageio-thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBProviderInfo.java
index ac7019a5..a7585f00 100644
--- a/imageio/imageio-thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBProviderInfo.java
+++ b/imageio/imageio-thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBProviderInfo.java
@@ -41,9 +41,9 @@ final class ThumbsDBProviderInfo extends ReaderWriterProviderInfo {
protected ThumbsDBProviderInfo() {
super(
ThumbsDBProviderInfo.class,
- new String[]{"thumbs", "THUMBS", "Thumbs DB"},
- new String[]{"db"},
- new String[]{"image/x-thumbs-db", "application/octet-stream"}, // TODO: Check IANA et al...
+ new String[] {"thumbs", "THUMBS", "Thumbs DB"},
+ new String[] {"db"},
+ new String[] {"image/x-thumbs-db", "application/octet-stream"}, // TODO: Check IANA et al...
"com.twelvemonkeys.imageio.plugins.thumbsdb.ThumbsDBImageReader",
new String[] {"com.twelvemonkeys.imageio.plugins.thumbsdb.ThumbsDBImageReaderSpi"},
null,
diff --git a/imageio/imageio-thumbsdb/src/test/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBProviderInfoTest.java b/imageio/imageio-thumbsdb/src/test/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBProviderInfoTest.java
new file mode 100644
index 00000000..8c9be0e6
--- /dev/null
+++ b/imageio/imageio-thumbsdb/src/test/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBProviderInfoTest.java
@@ -0,0 +1,43 @@
+package com.twelvemonkeys.imageio.plugins.thumbsdb;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static java.util.Arrays.asList;
+import static org.junit.Assert.*;
+
+/**
+ * ThumbsDBProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: ThumbsDBProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class ThumbsDBProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new ThumbsDBProviderInfo();
+ }
+
+ @Override
+ public void formatNames() {
+ String[] names = getProviderInfo().formatNames();
+ assertNotNull(names);
+ assertFalse(names.length == 0);
+
+ List list = new ArrayList<>(asList(names));
+ assertTrue(list.remove("Thumbs DB")); // No dupes of this name
+
+ for (String name : list) {
+ assertNotNull(name);
+ assertFalse(name.isEmpty());
+
+ assertTrue(list.contains(name.toLowerCase()));
+ assertTrue(list.contains(name.toUpperCase()));
+ }
+ }
+}
\ No newline at end of file
diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFProviderInfo.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFProviderInfo.java
index 4fd7d394..0d2a9a5d 100644
--- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFProviderInfo.java
+++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFProviderInfo.java
@@ -49,9 +49,9 @@ final class TIFFProviderInfo extends ReaderWriterProviderInfo {
"com.twelvemonkeys.imageio.plugins.tiff.TIFFImageReader",
new String[] {"com.twelvemonkeys.imageio.plugins.tiff.TIFFImageReaderSpi"},
"com.twelvemonkeys.imageio.plugins.tiff.TIFFImageWriter",
- new String[] {"com.twelvemonkeys.imageio.plugins.tif.TIFFImageWriterSpi"},
- false, TIFFMedataFormat.SUN_NATIVE_STREAM_METADATA_FORMAT_NAME, "TODO", null, null,
- true, TIFFMedataFormat.SUN_NATIVE_IMAGE_METADATA_FORMAT_NAME, "com.twelvemonkeys.imageio.plugins.tiff.TIFFImageMetadata", null, null
+ new String[] {"com.twelvemonkeys.imageio.plugins.tiff.TIFFImageWriterSpi"},
+ false, TIFFStreamMetadata.SUN_NATIVE_STREAM_METADATA_FORMAT_NAME, "com.twelvemonkeys.imageio.plugins.tiff.TIFFStreamMetadataFormat", null, null,
+ true, TIFFMedataFormat.SUN_NATIVE_IMAGE_METADATA_FORMAT_NAME, "com.twelvemonkeys.imageio.plugins.tiff.TIFFMedataFormat", null, null
);
}
}
diff --git a/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFProviderInfoTest.java b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFProviderInfoTest.java
new file mode 100644
index 00000000..bdb8df3b
--- /dev/null
+++ b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFProviderInfoTest.java
@@ -0,0 +1,19 @@
+package com.twelvemonkeys.imageio.plugins.tiff;
+
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
+import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfoTest;
+
+/**
+ * TIFFProviderInfoTest.
+ *
+ * @author Harald Kuhr
+ * @author last modified by $Author: harald.kuhr$
+ * @version $Id: TIFFProviderInfoTest.java,v 1.0 02/06/16 harald.kuhr Exp$
+ */
+public class TIFFProviderInfoTest extends ReaderWriterProviderInfoTest {
+
+ @Override
+ protected ReaderWriterProviderInfo createProviderInfo() {
+ return new TIFFProviderInfo();
+ }
+}
\ No newline at end of file