package com.dsh105.holoapi.script; import org.junit.Test; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; public class ScriptLoaderTest { @Test public void testScript() throws ScriptException { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("javascript"); Script script = new Script("test", "return \"Success!\"") { @Override public String getSignature() { return ""; } @Override public Object eval(ScriptEngine engine, Object... args) throws ScriptException { super.compile(engine); try { Object result = ((Invocable) engine).invokeFunction(this.name, args); return result; } catch (NoSuchMethodException e) { throw new IllegalStateException("Failed to compile " + this.name + " into the ScriptEngine!", e); } } }; System.out.println(script.eval(engine, null, null)); } }