diff options
Diffstat (limited to 'test/src/jdk/nashorn/internal/runtime/TrustedScriptEngineTest.java')
-rw-r--r-- | test/src/jdk/nashorn/internal/runtime/TrustedScriptEngineTest.java | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/test/src/jdk/nashorn/internal/runtime/TrustedScriptEngineTest.java b/test/src/jdk/nashorn/internal/runtime/TrustedScriptEngineTest.java index 0f147562..0f740a48 100644 --- a/test/src/jdk/nashorn/internal/runtime/TrustedScriptEngineTest.java +++ b/test/src/jdk/nashorn/internal/runtime/TrustedScriptEngineTest.java @@ -25,7 +25,7 @@ package jdk.nashorn.internal.runtime; - +import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; import static org.testng.Assert.fail; @@ -40,6 +40,13 @@ import org.testng.annotations.Test; * Tests for trusted client usage of nashorn script engine factory extension API */ public class TrustedScriptEngineTest { + @Test + public void versionTest() { + final ScriptEngineManager m = new ScriptEngineManager(); + final ScriptEngine e = m.getEngineByName("nashorn"); + assertEquals(e.getFactory().getEngineVersion(), Version.version()); + } + private static class MyClassLoader extends ClassLoader { // to check if script engine uses the specified class loader private final boolean[] reached = new boolean[1]; @@ -116,4 +123,26 @@ public class TrustedScriptEngineTest { fail("Cannot find nashorn factory!"); } + + @Test + public void factoryOptionsTest() { + final ScriptEngineManager sm = new ScriptEngineManager(); + for (ScriptEngineFactory fac : sm.getEngineFactories()) { + if (fac instanceof NashornScriptEngineFactory) { + final NashornScriptEngineFactory nfac = (NashornScriptEngineFactory)fac; + // specify --no-syntax-extensions flag + final String[] options = new String[] { "--no-syntax-extensions" }; + final ScriptEngine e = nfac.getScriptEngine(options); + try { + // try nashorn specific extension + e.eval("var f = funtion(x) 2*x;"); + fail("should have thrown exception!"); + } catch (final ScriptException se) { + } + return; + } + } + + fail("Cannot find nashorn factory!"); + } } |