@Test
public void objectArrayTest() throws ScriptException {
Map<String, Object> vars = new HashMap<String, Object>();
final Map<String, Object> obj2 = new HashMap<String,Object>() {{
put("prop2", "value2");
}};
final Map<String, Object> obj1 = new HashMap<String,Object>() {{
put("prop1", "value1");
put("obj2", obj2);
}};
vars.put("l", new Object[] { "1", "2", "3", obj1 });
String script = "l.length";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("nashorn");
Bindings bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE);
bindings.putAll(vars);
Compilable compilable = (Compilable)engine;
CompiledScript compiledScript = compilable.compile(script);
Object o = compiledScript.eval(bindings);
assertThat(((Number) o).intValue(), equalTo(4));
}
NashornTests.java 文件源码
java
阅读 17
收藏 0
点赞 0
评论 0
项目:elasticsearch-lang-javascript-nashorn
作者:
评论列表
文章目录