/hg/rhino-tests: Make the test src/org/RhinoTests/ScriptEngineMa...

ptisnovs at icedtea.classpath.org ptisnovs at icedtea.classpath.org
Tue Nov 13 02:11:18 PST 2012


changeset dc87f0d9c6b8 in /hg/rhino-tests
details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=dc87f0d9c6b8
author: Pavel Tisnovsky <ptisnovs at redhat.com>
date: Tue Nov 13 11:14:14 2012 +0100

	Make the test src/org/RhinoTests/ScriptEngineManagerClassTest.java
	compatible with JDK 7.


diffstat:

 ChangeLog                                            |    5 +
 src/org/RhinoTests/ScriptEngineManagerClassTest.java |  197 +++++++++++++++---
 2 files changed, 166 insertions(+), 36 deletions(-)

diffs (299 lines):

diff -r 700199dfbe1c -r dc87f0d9c6b8 ChangeLog
--- a/ChangeLog	Mon Nov 12 10:21:17 2012 +0100
+++ b/ChangeLog	Tue Nov 13 11:14:14 2012 +0100
@@ -1,3 +1,8 @@
+2012-11-13  Pavel Tisnovsky  <ptisnovs at redhat.com>
+
+	* src/org/RhinoTests/ScriptEngineManagerClassTest.java:
+	Make this test compatible with JDK 7.
+
 2012-11-12  Pavel Tisnovsky  <ptisnovs at redhat.com>
 
 	* src/org/RhinoTests/ScriptContextClassTest.java:
diff -r 700199dfbe1c -r dc87f0d9c6b8 src/org/RhinoTests/ScriptEngineManagerClassTest.java
--- a/src/org/RhinoTests/ScriptEngineManagerClassTest.java	Mon Nov 12 10:21:17 2012 +0100
+++ b/src/org/RhinoTests/ScriptEngineManagerClassTest.java	Tue Nov 13 11:14:14 2012 +0100
@@ -43,6 +43,8 @@
 import java.util.Arrays;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
@@ -65,7 +67,7 @@
     /**
      * Object that represents the type of ScriptEngineManager.
      */
-    Class scriptEngineManagerClass = null;
+    Class<?> scriptEngineManagerClass = null;
 
     @Override
     protected void setUp(String[] args) {
@@ -136,10 +138,64 @@
     }
 
     /**
+     * Test for method javax.script.ScriptEngineManager.getClass().isAnnotation()
+     */
+    protected void testIsAnnotation() {
+        assertFalse(this.scriptEngineManagerClass.isAnnotation(),
+                "Method ScriptEngineManager.getClass().isAnnotation() returns wrong value");
+    }
+
+    /**
+     * Test for method javax.script.ScriptEngineManager.getClass().isAnnotationPresent()
+     */
+    protected void testIsAnnotationPresent() {
+        assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.annotation.Annotation.class),
+                "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.annotation.Annotation.class) returns wrong value");
+        assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.annotation.Documented.class),
+                "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.annotation.Documented.class) returns wrong value");
+        assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.annotation.Inherited.class),
+                "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.annotation.Inherited.class) returns wrong value");
+        assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.annotation.Retention.class),
+                "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.annotation.Retention.class) returns wrong value");
+        assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.annotation.Target.class),
+                "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.annotation.Target.class) returns wrong value");
+        assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.Deprecated.class),
+                "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.Deprecated.class) returns wrong value");
+        assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.Override.class),
+                "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.Override.class) returns wrong value");
+        assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.SuppressWarnings.class),
+                "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.SuppressWarnings.class) returns wrong value");
+    }
+
+    /**
+     * Test for method javax.script.ScriptEngineManager.getClass().isAnonymousClass()
+     */
+    protected void testIsAnonymousClass() {
+        assertFalse(this.scriptEngineManagerClass.isAnonymousClass(),
+                "Method ScriptEngineManager.getClass().isAnonymousClass() returns wrong value");
+    }
+
+    /**
+     * Test for method javax.script.ScriptEngineManager.getClass().isArray()
+     */
+    protected void testIsArray() {
+        assertFalse(this.scriptEngineManagerClass.isArray(),
+                "Method ScriptEngineManager.getClass().isArray() returns wrong value");
+    }
+
+    /**
+     * Test for method javax.script.ScriptEngineManager.getClass().isEnum()
+     */
+    protected void testIsEnum() {
+        assertFalse(this.scriptEngineManagerClass.isEnum(),
+                "Method ScriptEngineManager.getClass().isEnum() returns wrong value");
+    }
+
+    /**
      * Test for method javax.script.ScriptEngineManager.getClass().getInterfaces()
      */
     protected void testGetInterfaces() {
-        List interfaces = Arrays.asList(this.scriptEngineManagerClass.getInterfaces());
+        List<Class<?>> interfaces = Arrays.asList(this.scriptEngineManagerClass.getInterfaces());
         assertTrue(interfaces.isEmpty(),
                 "list of implemented interfaces should be empty");
     }
@@ -207,7 +263,7 @@
      * Test for method javax.script.ScriptEngineManager.getClass().getSuperclass()
      */
     protected void testGetSuperclass() {
-        Class superClass = this.scriptEngineManagerClass.getSuperclass();
+        Class<?> superClass = this.scriptEngineManagerClass.getSuperclass();
         String superClassName = superClass.getName();
         assertEquals(superClassName, "java.lang.Object",
                 "Method ScriptEngineManager.getClass().getSuperclass() returns wrong value " + superClassName);
@@ -217,44 +273,66 @@
      * Test for method javax.script.ScriptEngineManager.getClass().getConstructors()
      */
     protected void testGetConstructors() {
-        Constructor[] constructors = this.scriptEngineManagerClass.getConstructors();
+        // map of constructors which should exists
+        Map<String, String> testedConstructors = null;
+        Map<String, String> testedConstructors_jdk6 = new HashMap<String, String>();
+        Map<String, String> testedConstructors_jdk7 = new HashMap<String, String>();
+
+        testedConstructors_jdk6.put("public javax.script.ScriptEngineManager()", "javax.script.ScriptEngineManager");
+        testedConstructors_jdk6.put("public javax.script.ScriptEngineManager(java.lang.ClassLoader)", "javax.script.ScriptEngineManager");
+
+        testedConstructors_jdk7.put("public javax.script.ScriptEngineManager()", "javax.script.ScriptEngineManager");
+        testedConstructors_jdk7.put("public javax.script.ScriptEngineManager(java.lang.ClassLoader)", "javax.script.ScriptEngineManager");
+
+        // get the right map containing constructor signatures
+        testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7;
+
+        // get all constructors for this class
+        Constructor<?>[] constructors = this.scriptEngineManagerClass.getConstructors();
+
+        // basic check for a number of constructors
         assertEquals(constructors.length, 2, "only 2 constructors should be set");
-        String constructorName;
-        String constructorString;
-        constructorName = constructors[0].getName();
-        constructorString = constructors[0].toString();
-        assertEquals(constructorName, "javax.script.ScriptEngineManager",
-                "wrong constructor name " + constructorName);
-        assertEquals(constructorString, "public javax.script.ScriptEngineManager()",
-                "wrong constructor.toString() " + constructorName);
-        constructorName = constructors[1].getName();
-        constructorString = constructors[1].toString();
-        assertEquals(constructorName, "javax.script.ScriptEngineManager",
-                "wrong constructor name " + constructorName);
-        assertEquals(constructorString, "public javax.script.ScriptEngineManager(java.lang.ClassLoader)",
-                "wrong constructor.toString() " + constructorName);
+
+        // check if all constructors exists
+        for (Constructor<?> constructor : constructors) {
+            String constructorName = constructor.getName();
+            String constructorString = constructor.toString();
+            assertTrue(testedConstructors.containsKey(constructorString), "wrong constructor.toString() " + constructorName);
+            assertEquals(testedConstructors.get(constructorString), constructorName, "wrong constructor name " + constructorName);
+        }
     }
 
     /**
      * Test for method javax.script.ScriptEngineManager.getClass().getDeclaredConstructors()
      */
     protected void testGetDeclaredConstructors() {
-        Constructor[] constructors = this.scriptEngineManagerClass.getDeclaredConstructors();
-        assertEquals(constructors.length, 2, "only 2 constructors should be set");
-        String constructorName;
-        String constructorString;
-        constructorName = constructors[0].getName();
-        constructorString = constructors[0].toString();
-        assertEquals(constructorName, "javax.script.ScriptEngineManager",
-                "wrong constructor name " + constructorName);
-        assertEquals(constructorString, "public javax.script.ScriptEngineManager()",
-                "wrong constructor.toString() " + constructorName);
-        constructorName = constructors[1].getName();
-        constructorString = constructors[1].toString();
-        assertEquals(constructorName, "javax.script.ScriptEngineManager",
-                "wrong constructor name " + constructorName);
-        assertEquals(constructorString, "public javax.script.ScriptEngineManager(java.lang.ClassLoader)",
-                "wrong constructor.toString() " + constructorName);
+        // map of constructors which should exists
+        Map<String, String> testedConstructors = null;
+        Map<String, String> testedConstructors_jdk6 = new HashMap<String, String>();
+        Map<String, String> testedConstructors_jdk7 = new HashMap<String, String>();
+
+        testedConstructors_jdk6.put("public javax.script.ScriptEngineManager()", "javax.script.ScriptEngineManager");
+        testedConstructors_jdk6.put("public javax.script.ScriptEngineManager(java.lang.ClassLoader)", "javax.script.ScriptEngineManager");
+
+        testedConstructors_jdk7.put("public javax.script.ScriptEngineManager()", "javax.script.ScriptEngineManager");
+        testedConstructors_jdk7.put("public javax.script.ScriptEngineManager(java.lang.ClassLoader)", "javax.script.ScriptEngineManager");
+
+        // get the right map containing constructor signatures
+        testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7;
+
+        // get all declared constructors for this class
+        Constructor<?>[] declaredConstructors = this.scriptEngineManagerClass.getDeclaredConstructors();
+
+        // basic check for a number of declared constructors
+        assertEquals(declaredConstructors.length, 2, "only 2 constructors should be set");
+
+        // check if all declared constructors exists
+        for (Constructor<?> declaredConstructor : declaredConstructors) {
+            String constructorName = declaredConstructor.getName();
+            String constructorString = declaredConstructor.toString();
+            assertTrue(testedConstructors.containsKey(constructorString), "wrong constructor.toString() " + constructorName);
+            assertEquals(testedConstructors.get(constructorString), constructorName, "wrong constructor name " + constructorName);
+        }
     }
 
     /**
@@ -310,7 +388,7 @@
      */
     protected void testGetMethods() {
         // following methods should be inherited
-        final String[] methodsThatShouldExists = {
+        final String[] methodsThatShouldExists_jdk6 = {
             "public boolean java.lang.Object.equals(java.lang.Object)",
             "public final native java.lang.Class java.lang.Object.getClass()",
             "public final native void java.lang.Object.notify()",
@@ -332,6 +410,30 @@
             "public void javax.script.ScriptEngineManager.registerEngineName(java.lang.String,javax.script.ScriptEngineFactory)",
             "public void javax.script.ScriptEngineManager.setBindings(javax.script.Bindings)",
         };
+
+        final String[] methodsThatShouldExists_jdk7 = {
+            "public boolean java.lang.Object.equals(java.lang.Object)",
+            "public final native java.lang.Class java.lang.Object.getClass()",
+            "public final native void java.lang.Object.notify()",
+            "public final native void java.lang.Object.notifyAll()",
+            "public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException",
+            "public final void java.lang.Object.wait() throws java.lang.InterruptedException",
+            "public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException",
+            "public java.lang.Object javax.script.ScriptEngineManager.get(java.lang.String)",
+            "public java.lang.String java.lang.Object.toString()",
+            "public java.util.List javax.script.ScriptEngineManager.getEngineFactories()",
+            "public javax.script.Bindings javax.script.ScriptEngineManager.getBindings()",
+            "public javax.script.ScriptEngine javax.script.ScriptEngineManager.getEngineByExtension(java.lang.String)",
+            "public javax.script.ScriptEngine javax.script.ScriptEngineManager.getEngineByMimeType(java.lang.String)",
+            "public javax.script.ScriptEngine javax.script.ScriptEngineManager.getEngineByName(java.lang.String)",
+            "public native int java.lang.Object.hashCode()",
+            "public void javax.script.ScriptEngineManager.put(java.lang.String,java.lang.Object)",
+            "public void javax.script.ScriptEngineManager.registerEngineExtension(java.lang.String,javax.script.ScriptEngineFactory)",
+            "public void javax.script.ScriptEngineManager.registerEngineMimeType(java.lang.String,javax.script.ScriptEngineFactory)",
+            "public void javax.script.ScriptEngineManager.registerEngineName(java.lang.String,javax.script.ScriptEngineFactory)",
+            "public void javax.script.ScriptEngineManager.setBindings(javax.script.Bindings)",
+        };
+
         // get all inherited methods
         Method[] methods = this.scriptEngineManagerClass.getMethods();
         // and transform the array into a list of method names
@@ -339,6 +441,7 @@
         for (Method method : methods) {
             methodsAsString.add(method.toString());
         }
+        String[] methodsThatShouldExists = getJavaVersion() < 7 ? methodsThatShouldExists_jdk6 : methodsThatShouldExists_jdk7;
         // check if all required methods really exists
         for (String methodThatShouldExists : methodsThatShouldExists) {
             assertTrue(methodsAsString.contains(methodThatShouldExists),
@@ -351,7 +454,7 @@
      */
     protected void testGetDeclaredMethods() {
         // following methods should be declared
-        final String[] declaredMethodsThatShouldExists = {
+        final String[] declaredMethodsThatShouldExists_jdk6 = {
             "private boolean javax.script.ScriptEngineManager.canCallerAccessLoader(java.lang.ClassLoader)",
             "private boolean javax.script.ScriptEngineManager.isAncestor(java.lang.ClassLoader,java.lang.ClassLoader)",
             "private java.lang.ClassLoader javax.script.ScriptEngineManager.getCallerClassLoader()",
@@ -370,6 +473,27 @@
             "public void javax.script.ScriptEngineManager.setBindings(javax.script.Bindings)",
             "static void javax.script.ScriptEngineManager.access$000(javax.script.ScriptEngineManager,java.lang.ClassLoader)",
         };
+
+        final String[] declaredMethodsThatShouldExists_jdk7 = {
+            "private boolean javax.script.ScriptEngineManager.canCallerAccessLoader(java.lang.ClassLoader)",
+            "private boolean javax.script.ScriptEngineManager.isAncestor(java.lang.ClassLoader,java.lang.ClassLoader)",
+            "private java.lang.ClassLoader javax.script.ScriptEngineManager.getCallerClassLoader()",
+            "private void javax.script.ScriptEngineManager.init(java.lang.ClassLoader)",
+            "private void javax.script.ScriptEngineManager.initEngines(java.lang.ClassLoader)",
+            "public java.lang.Object javax.script.ScriptEngineManager.get(java.lang.String)",
+            "public java.util.List javax.script.ScriptEngineManager.getEngineFactories()",
+            "public javax.script.Bindings javax.script.ScriptEngineManager.getBindings()",
+            "public javax.script.ScriptEngine javax.script.ScriptEngineManager.getEngineByExtension(java.lang.String)",
+            "public javax.script.ScriptEngine javax.script.ScriptEngineManager.getEngineByMimeType(java.lang.String)",
+            "public javax.script.ScriptEngine javax.script.ScriptEngineManager.getEngineByName(java.lang.String)",
+            "public void javax.script.ScriptEngineManager.put(java.lang.String,java.lang.Object)",
+            "public void javax.script.ScriptEngineManager.registerEngineExtension(java.lang.String,javax.script.ScriptEngineFactory)",
+            "public void javax.script.ScriptEngineManager.registerEngineMimeType(java.lang.String,javax.script.ScriptEngineFactory)",
+            "public void javax.script.ScriptEngineManager.registerEngineName(java.lang.String,javax.script.ScriptEngineFactory)",
+            "public void javax.script.ScriptEngineManager.setBindings(javax.script.Bindings)",
+            "static void javax.script.ScriptEngineManager.access$000(javax.script.ScriptEngineManager,java.lang.ClassLoader)",
+        };
+
         // get all declared methods
         Method[] declaredMethods = this.scriptEngineManagerClass.getDeclaredMethods();
         // and transform the array into a list of method names
@@ -377,6 +501,7 @@
         for (Method method : declaredMethods) {
             methodsAsString.add(method.toString());
         }
+        String[] declaredMethodsThatShouldExists = getJavaVersion() < 7 ? declaredMethodsThatShouldExists_jdk6 : declaredMethodsThatShouldExists_jdk7;
         // check if all required methods really exists
         for (String methodThatShouldExists : declaredMethodsThatShouldExists) {
             assertTrue(methodsAsString.contains(methodThatShouldExists),



More information about the distro-pkg-dev mailing list