23 * questions. 24 */ 25 26 package jdk.nashorn.api.scripting.test; 27 28 import static org.testng.Assert.assertEquals; 29 import static org.testng.Assert.fail; 30 import java.util.Objects; 31 import java.util.function.Function; 32 import javax.script.Invocable; 33 import javax.script.ScriptContext; 34 import javax.script.ScriptEngine; 35 import javax.script.ScriptEngineManager; 36 import javax.script.ScriptException; 37 import javax.script.SimpleScriptContext; 38 import org.testng.Assert; 39 import org.testng.annotations.Test; 40 41 /** 42 * Tests for javax.script.Invocable implementation of nashorn. 43 */ 44 @SuppressWarnings("javadoc") 45 public class InvocableTest { 46 47 private static void log(final String msg) { 48 org.testng.Reporter.log(msg, true); 49 } 50 51 @Test 52 public void invokeMethodTest() { 53 final ScriptEngineManager m = new ScriptEngineManager(); 54 final ScriptEngine e = m.getEngineByName("nashorn"); 55 56 try { 57 e.eval("var Example = function() { this.hello = function() { return 'Hello World!'; };}; myExample = new Example();"); 58 final Object obj = e.get("myExample"); 59 final Object res = ((Invocable) e).invokeMethod(obj, "hello"); 60 assertEquals(res, "Hello World!"); 61 } catch (final Exception exp) { 62 exp.printStackTrace(); | 23 * questions. 24 */ 25 26 package jdk.nashorn.api.scripting.test; 27 28 import static org.testng.Assert.assertEquals; 29 import static org.testng.Assert.fail; 30 import java.util.Objects; 31 import java.util.function.Function; 32 import javax.script.Invocable; 33 import javax.script.ScriptContext; 34 import javax.script.ScriptEngine; 35 import javax.script.ScriptEngineManager; 36 import javax.script.ScriptException; 37 import javax.script.SimpleScriptContext; 38 import org.testng.Assert; 39 import org.testng.annotations.Test; 40 41 /** 42 * Tests for javax.script.Invocable implementation of nashorn. 43 * 44 * @test 45 * @build jdk.nashorn.api.scripting.test.VariableArityTestInterface jdk.nashorn.api.scripting.test.InvocableTest 46 * @run testng jdk.nashorn.api.scripting.test.InvocableTest 47 */ 48 @SuppressWarnings("javadoc") 49 public class InvocableTest { 50 51 private static void log(final String msg) { 52 org.testng.Reporter.log(msg, true); 53 } 54 55 @Test 56 public void invokeMethodTest() { 57 final ScriptEngineManager m = new ScriptEngineManager(); 58 final ScriptEngine e = m.getEngineByName("nashorn"); 59 60 try { 61 e.eval("var Example = function() { this.hello = function() { return 'Hello World!'; };}; myExample = new Example();"); 62 final Object obj = e.get("myExample"); 63 final Object res = ((Invocable) e).invokeMethod(obj, "hello"); 64 assertEquals(res, "Hello World!"); 65 } catch (final Exception exp) { 66 exp.printStackTrace(); |