< prev index next >
test/javax/imageio/plugins/shared/CanWriteSequence.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2017, 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.
@@ -21,10 +21,11 @@
* questions.
*/
import java.io.File;
import java.io.FileOutputStream;
+import java.nio.file.Files;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriter;
import javax.imageio.metadata.IIOMetadata;
@@ -32,15 +33,22 @@
import javax.imageio.spi.ImageWriterSpi;
import javax.imageio.stream.ImageOutputStream;
/**
* @test
- * @bug 4958064
- * @author Sergey Bylokhov
+ * @bug 4958064 8183349
+ * @summary Test verifies that when we try to forcefully run
+ * prepareWriteSequence() where it is not supported
+ * will ImageIO throws an UnsupportedOperationException
+ * or not.
+ * @run main CanWriteSequence
*/
public final class CanWriteSequence {
+ private static File file;
+ private static FileOutputStream fos;
+
public static void main(final String[] args) throws Exception {
final IIORegistry registry = IIORegistry.getDefaultInstance();
final Iterator<ImageWriterSpi> iter =
registry.getServiceProviders(ImageWriterSpi.class,
provider -> true, true);
@@ -52,13 +60,13 @@
}
System.out.println("Test passed");
}
private static void test(final ImageWriter writer) throws Exception {
- final File file = File.createTempFile("temp", ".img");
- file.deleteOnExit();
- final FileOutputStream fos = new FileOutputStream(file);
+ try {
+ file = File.createTempFile("temp", ".img");
+ fos = new FileOutputStream(file);
final ImageOutputStream ios = ImageIO.createImageOutputStream(fos);
writer.setOutput(ios);
final IIOMetadata data = writer.getDefaultStreamMetadata(null);
if (writer.canWriteSequence()) {
@@ -70,9 +78,13 @@
"UnsupportedOperationException was not thrown");
} catch (final UnsupportedOperationException ignored) {
// expected
}
}
+ } finally {
writer.dispose();
- ios.close();
+ fos.close();
+ Files.delete(file.toPath());
+ }
}
}
+
< prev index next >