print ecma version if test failed

This commit is contained in:
develar
2012-06-09 14:20:38 +04:00
parent 66984a5f23
commit 073fb6c499
2 changed files with 8 additions and 6 deletions
@@ -17,6 +17,7 @@
package org.jetbrains.k2js.test.rhino; package org.jetbrains.k2js.test.rhino;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.mozilla.javascript.Context;
import org.mozilla.javascript.NativeJavaObject; import org.mozilla.javascript.NativeJavaObject;
/** /**
@@ -33,13 +34,13 @@ public class RhinoFunctionNativeObjectResultChecker extends RhinoFunctionResultC
} }
@Override @Override
protected void assertResultValid(Object result) { protected void assertResultValid(Object result, Context context) {
if (result instanceof NativeJavaObject) { if (result instanceof NativeJavaObject) {
NativeJavaObject nativeJavaObject = (NativeJavaObject) result; NativeJavaObject nativeJavaObject = (NativeJavaObject) result;
Object unwrap = nativeJavaObject.unwrap(); Object unwrap = nativeJavaObject.unwrap();
super.assertResultValid(unwrap); super.assertResultValid(unwrap, context);
} else { } else {
super.assertResultValid(result); super.assertResultValid(result, context);
} }
} }
} }
@@ -44,11 +44,12 @@ public class RhinoFunctionResultChecker implements RhinoResultChecker {
@Override @Override
public void runChecks(Context context, Scriptable scope) throws Exception { public void runChecks(Context context, Scriptable scope) throws Exception {
Object result = evaluateFunction(context, scope); Object result = evaluateFunction(context, scope);
assertResultValid(result); assertResultValid(result, context);
} }
protected void assertResultValid(Object result) { protected void assertResultValid(Object result, Context context) {
assertEquals("Result of " + namespaceName + "." + functionName + "() is not what expected!", expectedResult, result); String ecmaVersion = context.getLanguageVersion() == Context.VERSION_1_8 ? "ecma5" : "ecma3";
assertEquals("Result of " + namespaceName + "." + functionName + "() is not what expected (" + ecmaVersion + ")!", expectedResult, result);
String report = namespaceName + "." + functionName + "() = " + Context.toString(result); String report = namespaceName + "." + functionName + "() = " + Context.toString(result);
System.out.println(report); System.out.println(report);
} }