import org.junit.Test;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
/**
* Created by uerturk on 15/07/2014.
*/
public class MainTest {
public String getName(){
return "hevi.info";
}
@Test
public void testScript() {
ScriptEngineManager engineManager = new ScriptEngineManager();
ScriptEngine scriptEngine = engineManager.getEngineByName("nashorn");
String fileName = "src/main/resources/jsfile.js";
String functionName = "doIt";
try {
scriptEngine.eval("load('" + fileName + "');");
Invocable inv = (Invocable) scriptEngine;
String retValue = (String) inv.invokeFunction(functionName, new MainTest());
System.out.println(fileName + "@" + functionName + " returned " + retValue);
} catch (ScriptException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
}