diff -r 6193e735f4d1 -r da9e5973e699 rt/vm/src/test/java/org/apidesign/vm4brwsr/TestVM.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/TestVM.java Fri Oct 11 09:58:03 2013 +0200 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/TestVM.java Wed Oct 30 17:15:23 2013 +0100 @@ -75,7 +75,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); @@ -93,6 +96,9 @@ if (ret == null) { return; } + if (expRes instanceof Integer && ret instanceof Double) { + expRes = ((Integer)expRes).doubleValue(); + } if (expRes != null && expRes.equals(ret)) { return; }