--- old/test/javax/imageio/plugins/png/ITXtTest.java 2016-07-12 17:24:15.266242000 +0530 +++ new/test/javax/imageio/plugins/png/ITXtTest.java 2016-07-12 17:24:14.442242000 +0530 @@ -1,5 +1,5 @@ /* - * 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 @@ -21,16 +21,15 @@ * 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; @@ -157,21 +156,24 @@ File file = new File("test.png"); - writeTo(file, src); - ITXtTest dst = readFrom(file); - - if (dst == null || !dst.equals(src)) { - throw new RuntimeException("Test failed."); + 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); @@ -191,7 +193,6 @@ 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); @@ -199,10 +200,11 @@ } 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); @@ -234,3 +236,4 @@ return image; } } +