7023034: Files.createTempDirectory((Path)null, "temp") does not throw NPE

Reviewed-by: forax
This commit is contained in:
Alan Bateman 2011-03-01 12:03:44 +00:00
parent 314c75c742
commit c4da54f7a9
2 changed files with 31 additions and 3 deletions

View File

@ -794,7 +794,8 @@ public final class Files {
FileAttribute<?>... attrs) FileAttribute<?>... attrs)
throws IOException throws IOException
{ {
return TempFileHelper.createTempFile(dir, prefix, suffix, attrs); return TempFileHelper.createTempFile(Objects.requireNonNull(dir),
prefix, suffix, attrs);
} }
/** /**
@ -891,7 +892,8 @@ public final class Files {
FileAttribute<?>... attrs) FileAttribute<?>... attrs)
throws IOException throws IOException
{ {
return TempFileHelper.createTempDirectory(dir, prefix, attrs); return TempFileHelper.createTempDirectory(Objects.requireNonNull(dir),
prefix, attrs);
} }
/** /**

View File

@ -22,7 +22,7 @@
*/ */
/* @test /* @test
* @bug 4313887 6838333 7006126 * @bug 4313887 6838333 7006126 7023034
* @summary Unit test for Files.createTempXXX * @summary Unit test for Files.createTempXXX
* @library .. * @library ..
*/ */
@ -167,5 +167,31 @@ public class TemporaryFiles {
testInvalidFileTemp("../blah", null); testInvalidFileTemp("../blah", null);
testInvalidFileTemp("dir/blah", null); testInvalidFileTemp("dir/blah", null);
testInvalidFileTemp("blah", ".dat/foo"); testInvalidFileTemp("blah", ".dat/foo");
// nulls
try {
Files.createTempFile("blah", ".tmp", (FileAttribute<?>[])null);
throw new RuntimeException("NullPointerException expected");
} catch (NullPointerException ignore) { }
try {
Files.createTempFile("blah", ".tmp", new FileAttribute<?>[] { null });
throw new RuntimeException("NullPointerException expected");
} catch (NullPointerException ignore) { }
try {
Files.createTempDirectory("blah", (FileAttribute<?>[])null);
throw new RuntimeException("NullPointerException expected");
} catch (NullPointerException ignore) { }
try {
Files.createTempDirectory("blah", new FileAttribute<?>[] { null });
throw new RuntimeException("NullPointerException expected");
} catch (NullPointerException ignore) { }
try {
Files.createTempFile((Path)null, "blah", ".tmp");
throw new RuntimeException("NullPointerException expected");
} catch (NullPointerException ignore) { }
try {
Files.createTempDirectory((Path)null, "blah");
throw new RuntimeException("NullPointerException expected");
} catch (NullPointerException ignore) { }
} }
} }