44 { AccessibleObject.class, null }, 45 { ClassLoader.class, null }, 46 { Constructor.class, null }, 47 { Field.class, null }, 48 { Method.class, null }, 49 }; 50 } 51 52 @DataProvider(name = "sensitiveFields") 53 private Object[][] sensitiveFields() { 54 return new Object[][]{ 55 { AccessibleObject.class, "override" }, 56 { Class.class, "classLoader" }, 57 { ClassLoader.class, "parent" }, 58 { Field.class, "clazz" }, 59 { Field.class, "modifiers" }, 60 { Lookup.class, "lookupClass" }, 61 { Lookup.class, "allowedModes" }, 62 { Method.class, "clazz" }, 63 { Method.class, "modifiers" }, 64 { System.class, "security" }, 65 }; 66 } 67 68 @Test(dataProvider = "sensitiveClasses") 69 public void testClass(Class<?> clazz, Object ignore) throws Exception { 70 Field[] fields = clazz.getDeclaredFields(); 71 assertTrue(fields.length == 0); 72 } 73 74 @Test(dataProvider = "sensitiveFields", 75 expectedExceptions = NoSuchFieldException.class) 76 public void testField(Class<?> clazz, String name) throws Exception { 77 clazz.getDeclaredField(name); 78 } 79 80 } | 44 { AccessibleObject.class, null }, 45 { ClassLoader.class, null }, 46 { Constructor.class, null }, 47 { Field.class, null }, 48 { Method.class, null }, 49 }; 50 } 51 52 @DataProvider(name = "sensitiveFields") 53 private Object[][] sensitiveFields() { 54 return new Object[][]{ 55 { AccessibleObject.class, "override" }, 56 { Class.class, "classLoader" }, 57 { ClassLoader.class, "parent" }, 58 { Field.class, "clazz" }, 59 { Field.class, "modifiers" }, 60 { Lookup.class, "lookupClass" }, 61 { Lookup.class, "allowedModes" }, 62 { Method.class, "clazz" }, 63 { Method.class, "modifiers" }, 64 { Module.class, "name" }, 65 { Module.class, "loader" }, 66 { System.class, "security" }, 67 }; 68 } 69 70 @Test(dataProvider = "sensitiveClasses") 71 public void testClass(Class<?> clazz, Object ignore) throws Exception { 72 Field[] fields = clazz.getDeclaredFields(); 73 assertTrue(fields.length == 0); 74 } 75 76 @Test(dataProvider = "sensitiveFields", 77 expectedExceptions = NoSuchFieldException.class) 78 public void testField(Class<?> clazz, String name) throws Exception { 79 clazz.getDeclaredField(name); 80 } 81 82 } |