< prev index next >

test/jdk/jdk/internal/reflect/Reflection/Filtering.java

Print this page




  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 }
< prev index next >