< prev index next >
test/jdk/java/net/SocketPermission/Ctor.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, 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,21 +21,66 @@
* questions.
*/
/*
* @test
- * @bug 4391898
+ * @bug 4391898 8230407
* @summary SocketPermission(":",...) throws ArrayIndexOutOfBoundsException
+ * SocketPermission constructor argument checks
+ * @run testng Ctor
*/
-import java.net.*;
+import java.net.SocketPermission;
+import org.testng.annotations.Test;
+import static java.lang.System.out;
+import static org.testng.Assert.*;
public class Ctor {
- public static void main(String[] args) {
- try {
- SocketPermission sp = new java.net.SocketPermission(":", "connect");
- } catch (java.lang.ArrayIndexOutOfBoundsException e) {
- throw new RuntimeException(e);
+
+ static final Class<NullPointerException> NPE = NullPointerException.class;
+ static final Class<IllegalArgumentException> IAE = IllegalArgumentException.class;
+
+ @Test
+ public void positive() {
+ // ArrayIndexOutOfBoundsException is the bug, 4391898, exists
+ SocketPermission sp1 = new SocketPermission(":", "connect");
+ }
+
+ @Test
+ public void npe() {
+ NullPointerException e;
+ e = expectThrows(NPE, () -> new SocketPermission(null, null));
+ out.println("caught expected NPE: " + e);
+ e = expectThrows(NPE, () -> new SocketPermission("foo", null));
+ out.println("caught expected NPE: " + e);
+ e = expectThrows(NPE, () -> new SocketPermission(null, "connect"));
+ out.println("caught expected NPE: " + e);
}
- System.out.println("Test passed!!!");
+
+ @Test
+ public void iae() {
+ IllegalArgumentException e;
+ // host
+ e = expectThrows(IAE, () -> new SocketPermission("1:2:3:4", "connect"));
+ out.println("caught expected IAE: " + e);
+ e = expectThrows(IAE, () -> new SocketPermission("foo:5-4", "connect"));
+ out.println("caught expected IAE: " + e);
+
+ // actions
+ e = expectThrows(IAE, () -> new SocketPermission("foo", ""));
+ out.println("caught expected IAE: " + e);
+ e = expectThrows(IAE, () -> new SocketPermission("foo", "badAction"));
+ out.println("caught expected IAE: " + e);
+ e = expectThrows(IAE, () -> new SocketPermission("foo", "badAction,connect"));
+ out.println("caught expected IAE: " + e);
+ e = expectThrows(IAE, () -> new SocketPermission("foo", "badAction,,connect"));
+ out.println("caught expected IAE: " + e);
+ e = expectThrows(IAE, () -> new SocketPermission("foo", ",connect"));
+ out.println("caught expected IAE: " + e);
+ e = expectThrows(IAE, () -> new SocketPermission("foo", ",,connect"));
+ out.println("caught expected IAE: " + e);
+ e = expectThrows(IAE, () -> new SocketPermission("foo", "connect,"));
+ out.println("caught expected IAE: " + e);
+ e = expectThrows(IAE, () -> new SocketPermission("foo", "connect,,"));
+ out.println("caught expected IAE: " + e);
}
}
< prev index next >