< 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 >