< 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.
@@ -22,22 +22,27 @@
*/
import java.io.File;
import java.io.FileOutputStream;
import java.util.Iterator;
+import java.nio.file.Files;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriter;
import javax.imageio.metadata.IIOMetadata;
import javax.imageio.spi.IIORegistry;
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/manual CanWriteSequence
*/
public final class CanWriteSequence {
public static void main(final String[] args) throws Exception {
final IIORegistry registry = IIORegistry.getDefaultInstance();
@@ -52,27 +57,34 @@
}
System.out.println("Test passed");
}
private static void test(final ImageWriter writer) throws Exception {
- final File file = File.createTempFile("temp", ".img");
- file.deleteOnExit();
+ String sep = System.getProperty("file.separator");
+ String dir = System.getProperty("test.src", ".");
+ String filePath = dir+sep;
+ File directory = new File(filePath);
+ final File file = File.createTempFile("temp", ".img", directory);
+ directory.delete();
final FileOutputStream fos = new FileOutputStream(file);
final ImageOutputStream ios = ImageIO.createImageOutputStream(fos);
writer.setOutput(ios);
final IIOMetadata data = writer.getDefaultStreamMetadata(null);
if (writer.canWriteSequence()) {
writer.prepareWriteSequence(data);
} else {
try {
writer.prepareWriteSequence(data);
+ Files.delete(file.toPath());
throw new RuntimeException(
"UnsupportedOperationException was not thrown");
} catch (final UnsupportedOperationException ignored) {
// expected
}
}
writer.dispose();
- ios.close();
+ fos.close();
+ Files.delete(file.toPath());
}
}
+
< prev index next >