< prev index next >
test/javax/imageio/plugins/png/ITXtTest.java
Print this page
*** 43,57 ****
import javax.imageio.ImageWriter;
import javax.imageio.metadata.IIOMetadata;
import javax.imageio.metadata.IIOMetadataNode;
import javax.imageio.stream.ImageOutputStream;
import javax.imageio.stream.ImageInputStream;
import org.w3c.dom.Node;
public class ITXtTest {
! static public void main(String args[]) {
ITXtTest t_en = new ITXtTest();
t_en.description = "xml - en";
t_en.keyword = "XML:com.adobe.xmp";
t_en.isCompressed = false;
t_en.compression = 0;
--- 43,58 ----
import javax.imageio.ImageWriter;
import javax.imageio.metadata.IIOMetadata;
import javax.imageio.metadata.IIOMetadataNode;
import javax.imageio.stream.ImageOutputStream;
import javax.imageio.stream.ImageInputStream;
+ import java.io.IOException;
import org.w3c.dom.Node;
public class ITXtTest {
! static public void main(String args[]) throws IOException {
ITXtTest t_en = new ITXtTest();
t_en.description = "xml - en";
t_en.keyword = "XML:com.adobe.xmp";
t_en.isCompressed = false;
t_en.compression = 0;
*** 149,178 ****
return true;
}
! private static void doTest(ITXtTest src) {
System.out.println("Test: " + src.description);
File file = new File("test.png");
writeTo(file, src);
ITXtTest dst = readFrom(file);
if (dst == null || !dst.equals(src)) {
throw new RuntimeException("Test failed.");
! }
!
System.out.println("Test passed.");
}
! private static void writeTo(File f, ITXtTest t) {
BufferedImage src = createBufferedImage();
try {
! ImageOutputStream imageOutputStream =
ImageIO.createImageOutputStream(f);
ImageTypeSpecifier imageTypeSpecifier =
new ImageTypeSpecifier(src);
ImageWriter imageWriter =
--- 150,182 ----
return true;
}
! private static void doTest(ITXtTest src) throws IOException {
System.out.println("Test: " + src.description);
File file = new File("test.png");
writeTo(file, src);
ITXtTest dst = readFrom(file);
if (dst == null || !dst.equals(src)) {
+ file.delete();
throw new RuntimeException("Test failed.");
! } else {
! file.delete();
System.out.println("Test passed.");
}
+ }
! private static void writeTo(File f, ITXtTest t) throws IOException {
BufferedImage src = createBufferedImage();
+ ImageOutputStream imageOutputStream = null;
try {
! imageOutputStream =
ImageIO.createImageOutputStream(f);
ImageTypeSpecifier imageTypeSpecifier =
new ImageTypeSpecifier(src);
ImageWriter imageWriter =
*** 192,208 ****
imageWriter.write(new IIOImage(src, null, m));
imageOutputStream.close();
System.out.println("Writing done.");
} catch (Throwable e) {
throw new RuntimeException("Writing test failed.", e);
}
}
! private static ITXtTest readFrom(File f) {
try {
! ImageInputStream iis = ImageIO.createImageInputStream(f);
ImageReader r = ImageIO.getImageReaders(iis).next();
r.setInput(iis);
IIOImage dst = r.readAll(0, null);
--- 196,217 ----
imageWriter.write(new IIOImage(src, null, m));
imageOutputStream.close();
System.out.println("Writing done.");
} catch (Throwable e) {
+ if (imageOutputStream != null) {
+ imageOutputStream.close();
+ }
+ f.delete();
throw new RuntimeException("Writing test failed.", e);
}
}
! private static ITXtTest readFrom(File f) throws IOException {
! ImageInputStream iis = null;
try {
! iis = ImageIO.createImageInputStream(f);
ImageReader r = ImageIO.getImageReaders(iis).next();
r.setInput(iis);
IIOImage dst = r.readAll(0, null);
*** 215,226 ****
--- 224,240 ----
}
if (n == null) {
throw new RuntimeException("No iTXt node!");
}
ITXtTest t = ITXtTest.getFromNode((IIOMetadataNode)n);
+ iis.close();
return t;
} catch (Throwable e) {
+ if (iis != null) {
+ iis.close();
+ }
+ f.delete();
throw new RuntimeException("Reading test failed.", e);
}
}
private static BufferedImage createBufferedImage() {
< prev index next >