Skip to content

Commit a47c49d

Browse files
committed
JavaScriptTest: be more lenient with return values
The Nashorn script engine, as well as the stock Mozilla Rhino implementation (the one not shipped as part of Java 6), both return Integer instead of Double when you write "return 4;" and similar.
1 parent 965b097 commit a47c49d

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/test/java/org/scijava/plugins/scripting/javascript/JavaScriptTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,10 @@ public void testLoad() throws IOException, InterruptedException, ExecutionExcept
122122
final Context context = new Context(ScriptService.class);
123123
final ScriptService scriptService = context.getService(ScriptService.class);
124124
final String script = "load('" + tmp.getPath() + "'); three();";
125-
final Object result = scriptService.run("three.js", script, false).get().getReturnValue();
126-
assertEquals(4.0, (Number) result);
125+
// NB: Some JVMs return Integer, others Double. Let's be careful here.
126+
final ScriptModule m = scriptService.run("three.js", script, false).get();
127+
final Number result = (Number) m.getReturnValue();
128+
assertEquals(4.0, result.doubleValue(), 0.0);
127129
assertTrue(tmp.delete());
128130
}
129131
}

0 commit comments

Comments
 (0)