< prev index next >
test/javax/imageio/plugins/png/ITXtTest.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2016 Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -19,20 +19,19 @@
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-/**
+/*
* @test
- * @bug 6541476
- * @summary Test verifies that ImageIO PNG plugin correcly handles the
+ * @bug 6541476 7059970
+ * @summary Test verifies that ImageIO PNG plug-in correctly handles the
* iTxt chunk (International textual data).
*
* @run main ITXtTest
*/
-
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
@@ -155,25 +154,28 @@
System.out.println("Test: " + src.description);
File file = new File("test.png");
+ try {
writeTo(file, src);
ITXtTest dst = readFrom(file);
-
if (dst == null || !dst.equals(src)) {
throw new RuntimeException("Test failed.");
}
-
+ } catch (RuntimeException e) {
+ throw e;
+ } finally {
+ file.delete();
+ }
System.out.println("Test passed.");
}
private static void writeTo(File f, ITXtTest t) {
BufferedImage src = createBufferedImage();
- try {
- ImageOutputStream imageOutputStream =
- ImageIO.createImageOutputStream(f);
+ try (ImageOutputStream imageOutputStream =
+ ImageIO.createImageOutputStream(f)) {
ImageTypeSpecifier imageTypeSpecifier =
new ImageTypeSpecifier(src);
ImageWriter imageWriter =
ImageIO.getImageWritersByFormatName("PNG").next();
@@ -189,22 +191,22 @@
IIOMetadataNode iTXt = t.getNode();
root.appendChild(iTXt);
m.setFromTree(format, root);
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);
+ try (ImageInputStream imageInputStream =
+ ImageIO.createImageInputStream(f)) {
+
+ ImageReader r = ImageIO.getImageReaders(imageInputStream).next();
+ r.setInput(imageInputStream);
IIOImage dst = r.readAll(0, null);
// look for iTXt node
IIOMetadata m = dst.getMetadata();
@@ -232,5 +234,6 @@
graph.fillRect(32, 32, 64, 64);
graph.dispose();
return image;
}
}
+
< prev index next >