Mercurial > hg > rhino-tests
changeset 62:610558995315 draft
Added five new tests to the test suite
src/org/RhinoTests/ScriptEngineFactoryClassTest.java and
made this test compatible with JDK 7.
author | Pavel Tisnovsky <ptisnovs@redhat.com> |
---|---|
date | Thu, 15 Nov 2012 10:22:11 +0100 |
parents | 39454ef51d62 |
children | 649ff1c652d1 |
files | ChangeLog src/org/RhinoTests/ScriptEngineFactoryClassTest.java |
diffstat | 2 files changed, 131 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Wed Nov 14 11:05:35 2012 +0100 +++ b/ChangeLog Thu Nov 15 10:22:11 2012 +0100 @@ -1,3 +1,9 @@ +2012-11-15 Pavel Tisnovsky <ptisnovs@redhat.com> + + * src/org/RhinoTests/ScriptEngineFactoryClassTest.java: + Added five new tests to this test suite. + Make this test compatible with JDK 7. + 2012-11-14 Pavel Tisnovsky <ptisnovs@redhat.com> * src/org/RhinoTests/ScriptEngineClassTest.java:
--- a/src/org/RhinoTests/ScriptEngineFactoryClassTest.java Wed Nov 14 11:05:35 2012 +0100 +++ b/src/org/RhinoTests/ScriptEngineFactoryClassTest.java Thu Nov 15 10:22:11 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 ScriptEngineFactory. */ - Class scriptEngineFactoryClass = null; + Class<?> scriptEngineFactoryClass = null; @Override protected void setUp(String[] args) { @@ -136,10 +138,64 @@ } /** + * Test for method javax.script.ScriptEngineFactory.getClass().isAnnotation() + */ + protected void testIsAnnotation() { + assertFalse(this.scriptEngineFactoryClass.isAnnotation(), + "Method ScriptEngineFactory.getClass().isAnnotation() returns wrong value"); + } + + /** + * Test for method javax.script.ScriptEngineFactory.getClass().isAnnotationPresent() + */ + protected void testIsAnnotationPresent() { + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.annotation.Annotation.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.annotation.Annotation.class) returns wrong value"); + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.annotation.Documented.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.annotation.Documented.class) returns wrong value"); + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.annotation.Inherited.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.annotation.Inherited.class) returns wrong value"); + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.annotation.Retention.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.annotation.Retention.class) returns wrong value"); + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.annotation.Target.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.annotation.Target.class) returns wrong value"); + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.Deprecated.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.Deprecated.class) returns wrong value"); + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.Override.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.Override.class) returns wrong value"); + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.SuppressWarnings.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.SuppressWarnings.class) returns wrong value"); + } + + /** + * Test for method javax.script.ScriptEngineFactory.getClass().isAnonymousClass() + */ + protected void testIsAnonymousClass() { + assertFalse(this.scriptEngineFactoryClass.isAnonymousClass(), + "Method ScriptEngineFactory.getClass().isAnonymousClass() returns wrong value"); + } + + /** + * Test for method javax.script.ScriptEngineFactory.getClass().isArray() + */ + protected void testIsArray() { + assertFalse(this.scriptEngineFactoryClass.isArray(), + "Method ScriptEngineFactory.getClass().isArray() returns wrong value"); + } + + /** + * Test for method javax.script.ScriptEngineFactory.getClass().isEnum() + */ + protected void testIsEnum() { + assertFalse(this.scriptEngineFactoryClass.isEnum(), + "Method ScriptEngineFactory.getClass().isEnum() returns wrong value"); + } + + /** * Test for method javax.script.ScriptEngineFactory.getClass().getInterfaces() */ protected void testGetInterfaces() { - List interfaces = Arrays.asList(this.scriptEngineFactoryClass.getInterfaces()); + List<Class<?>> interfaces = Arrays.asList(this.scriptEngineFactoryClass.getInterfaces()); assertTrue(interfaces.isEmpty(), "list of implemented interfaces should be empty"); } @@ -207,7 +263,7 @@ * Test for method javax.script.ScriptEngineFactory.getClass().getSuperclass() */ protected void testGetSuperclass() { - Class superClass = this.scriptEngineFactoryClass.getSuperclass(); + Class<?> superClass = this.scriptEngineFactoryClass.getSuperclass(); assertNull(superClass, "Method ScriptEngineFactory.getClass().getSuperclass() does not return null"); } @@ -216,16 +272,42 @@ * Test for method javax.script.ScriptEngineFactory.getClass().getConstructors() */ protected void testGetConstructors() { - Constructor[] constructors = this.scriptEngineFactoryClass.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>(); + + + // get the right map containing constructor signatures + testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; + + // get all constructors for this class + Constructor<?>[] constructors = this.scriptEngineFactoryClass.getConstructors(); + + // basic check for a number of constructors assertEquals(constructors.length, 0, "no constructors should be set"); + } /** * Test for method javax.script.ScriptEngineFactory.getClass().getDeclaredConstructors() */ protected void testGetDeclaredConstructors() { - Constructor[] constructors = this.scriptEngineFactoryClass.getDeclaredConstructors(); - assertEquals(constructors.length, 0, "no constructors should be set"); + // 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>(); + + + // get the right map containing constructor signatures + testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; + + // get all declared constructors for this class + Constructor<?>[] declaredConstructors = this.scriptEngineFactoryClass.getDeclaredConstructors(); + + // basic check for a number of declared constructors + assertEquals(declaredConstructors.length, 0, "no constructors should be set"); + } /** @@ -275,7 +357,22 @@ */ protected void testGetMethods() { // following methods should be inherited - final String[] methodsThatShouldExists = { + final String[] methodsThatShouldExists_jdk6 = { + "public abstract java.lang.Object javax.script.ScriptEngineFactory.getParameter(java.lang.String)", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineName()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineVersion()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getLanguageName()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getLanguageVersion()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getMethodCallSyntax(java.lang.String,java.lang.String,java.lang.String[])", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getOutputStatement(java.lang.String)", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getProgram(java.lang.String[])", + "public abstract java.util.List javax.script.ScriptEngineFactory.getExtensions()", + "public abstract java.util.List javax.script.ScriptEngineFactory.getMimeTypes()", + "public abstract java.util.List javax.script.ScriptEngineFactory.getNames()", + "public abstract javax.script.ScriptEngine javax.script.ScriptEngineFactory.getScriptEngine()", + }; + + final String[] methodsThatShouldExists_jdk7 = { "public abstract java.lang.Object javax.script.ScriptEngineFactory.getParameter(java.lang.String)", "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineName()", "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineVersion()", @@ -289,6 +386,7 @@ "public abstract java.util.List javax.script.ScriptEngineFactory.getNames()", "public abstract javax.script.ScriptEngine javax.script.ScriptEngineFactory.getScriptEngine()", }; + // get all inherited methods Method[] methods = this.scriptEngineFactoryClass.getMethods(); // and transform the array into a list of method names @@ -296,6 +394,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), @@ -308,7 +407,7 @@ */ protected void testGetDeclaredMethods() { // following methods should be declared - final String[] declaredMethodsThatShouldExists = { + final String[] declaredMethodsThatShouldExists_jdk6 = { "public abstract java.lang.Object javax.script.ScriptEngineFactory.getParameter(java.lang.String)", "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineName()", "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineVersion()", @@ -322,6 +421,22 @@ "public abstract java.util.List javax.script.ScriptEngineFactory.getNames()", "public abstract javax.script.ScriptEngine javax.script.ScriptEngineFactory.getScriptEngine()", }; + + final String[] declaredMethodsThatShouldExists_jdk7 = { + "public abstract java.lang.Object javax.script.ScriptEngineFactory.getParameter(java.lang.String)", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineName()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineVersion()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getLanguageName()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getLanguageVersion()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getMethodCallSyntax(java.lang.String,java.lang.String,java.lang.String[])", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getOutputStatement(java.lang.String)", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getProgram(java.lang.String[])", + "public abstract java.util.List javax.script.ScriptEngineFactory.getExtensions()", + "public abstract java.util.List javax.script.ScriptEngineFactory.getMimeTypes()", + "public abstract java.util.List javax.script.ScriptEngineFactory.getNames()", + "public abstract javax.script.ScriptEngine javax.script.ScriptEngineFactory.getScriptEngine()", + }; + // get all declared methods Method[] declaredMethods = this.scriptEngineFactoryClass.getDeclaredMethods(); // and transform the array into a list of method names @@ -329,6 +444,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), @@ -339,6 +455,7 @@ /** * Test for instanceof operator applied to a class javax.script.ScriptEngineFactory */ + @SuppressWarnings("cast") protected void testInstanceOf() { // tested object Object o = new ScriptEngineManager().getEngineFactories().get(0);