diff -r b1fe994d4267 -r 2af07db15110 rt/vm/src/test/java/org/apidesign/vm4brwsr/TestVM.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/TestVM.java Fri Apr 26 18:48:34 2013 +0200 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/TestVM.java Thu Apr 24 18:05:21 2014 +0200 @@ -65,7 +65,10 @@ // in case of Long it is necessary convert it to number // since the Long is represented by two numbers in JavaScript try { - ret = code.invokeMethod(ret, "toFP"); + final Object toFP = ((ScriptEngine)code).eval("Number.prototype.toFP"); + if (ret instanceof Long) { + ret = code.invokeMethod(toFP, "call", ret); + } ret = code.invokeFunction("Number", ret); } catch (ScriptException ex) { fail("Conversion to number failed in " + dumpJS(codeSeq) + ": " + ex.getMessage(), ex); @@ -83,6 +86,9 @@ if (ret == null) { return; } + if (expRes instanceof Integer && ret instanceof Double) { + expRes = ((Integer)expRes).doubleValue(); + } if (expRes != null && expRes.equals(ret)) { return; }