25 |
25 |
26 package jdk.nashorn.api.scripting; |
26 package jdk.nashorn.api.scripting; |
27 |
27 |
28 import static org.testng.Assert.assertEquals; |
28 import static org.testng.Assert.assertEquals; |
29 import static org.testng.Assert.assertNotNull; |
29 import static org.testng.Assert.assertNotNull; |
|
30 import static org.testng.Assert.assertNull; |
30 import static org.testng.Assert.assertTrue; |
31 import static org.testng.Assert.assertTrue; |
31 import static org.testng.Assert.fail; |
32 import static org.testng.Assert.fail; |
32 import java.io.StringReader; |
33 import java.io.StringReader; |
33 import java.io.StringWriter; |
34 import java.io.StringWriter; |
34 import java.lang.reflect.InvocationHandler; |
35 import java.lang.reflect.InvocationHandler; |
666 e.eval("var arr = [ 'hello', 'world' ]"); |
667 e.eval("var arr = [ 'hello', 'world' ]"); |
667 e.eval("ctx.set(arr)"); |
668 e.eval("ctx.set(arr)"); |
668 assertEquals("helloworld", inv.invokeMethod(ctx.get(), "join", "")); |
669 assertEquals("helloworld", inv.invokeMethod(ctx.get(), "join", "")); |
669 } |
670 } |
670 |
671 |
|
672 // @bug 8068524: NashornScriptEngineFactory.getParameter() throws IAE |
|
673 // for an unknown key, doesn't conform to the general spec |
|
674 @Test |
|
675 public void getParameterInvalidKeyTest() throws Exception { |
|
676 final ScriptEngineManager manager = new ScriptEngineManager(); |
|
677 final ScriptEngine e = manager.getEngineByName("nashorn"); |
|
678 // no exception expected here! |
|
679 Object value = e.getFactory().getParameter("no value assigned to this key"); |
|
680 assertNull(value); |
|
681 } |
|
682 |
671 private static void checkProperty(final ScriptEngine e, final String name) |
683 private static void checkProperty(final ScriptEngine e, final String name) |
672 throws ScriptException { |
684 throws ScriptException { |
673 final String value = System.getProperty(name); |
685 final String value = System.getProperty(name); |
674 e.put("name", name); |
686 e.put("name", name); |
675 assertEquals(value, e.eval("java.lang.System.getProperty(name)")); |
687 assertEquals(value, e.eval("java.lang.System.getProperty(name)")); |