< prev index next >

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

Print this page
rev 58565 : 8238358: Implementation of JEP 371: Hidden Classes
Reviewed-by: duke
Contributed-by: mandy.chung@oracle.com, lois.foltan@oracle.com, david.holmes@oracle.com, harold.seigel@oracle.com, serguei.spitsyn@oracle.com, alex.buckley@oracle.com, jamsheed.c.m@oracle.com


  37 
  38 public class Filtering {
  39 
  40     @DataProvider(name = "sensitiveClasses")
  41     private Object[][] sensitiveClasses() {
  42         return new Object[][]{
  43             { jdk.internal.reflect.Reflection.class, null },
  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",


  37 
  38 public class Filtering {
  39 
  40     @DataProvider(name = "sensitiveClasses")
  41     private Object[][] sensitiveClasses() {
  42         return new Object[][]{
  43             { jdk.internal.reflect.Reflection.class, null },
  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             { Class.class, "classData" },
  58             { ClassLoader.class, "parent" },
  59             { Field.class, "clazz" },
  60             { Field.class, "modifiers" },
  61             { Lookup.class, "lookupClass" },
  62             { Lookup.class, "allowedModes" },
  63             { Method.class, "clazz" },
  64             { Method.class, "modifiers" },
  65             { Module.class, "name" },
  66             { Module.class, "loader" },
  67             { System.class, "security" },
  68         };
  69     }
  70 
  71     @Test(dataProvider = "sensitiveClasses")
  72     public void testClass(Class<?> clazz, Object ignore) throws Exception {
  73         Field[] fields = clazz.getDeclaredFields();
  74         assertTrue(fields.length == 0);
  75     }
  76 
  77     @Test(dataProvider = "sensitiveFields",
< prev index next >