< prev index next >

test/src/jdk/nashorn/api/javaaccess/test/ArrayConversionTest.java

Print this page

        

*** 102,116 **** } @Test public void testVarArgs() throws ScriptException { // Sole NativeArray in vararg position becomes vararg array itself ! runTest("assertVarArg_42_17", "[42, 17]"); // NativeArray in vararg position becomes an argument if there are more arguments ! runTest("assertVarArg_array_17", "[42], 18"); // Only NativeArray is converted to vararg array, other objects (e.g. a function) aren't ! runTest("assertVarArg_function", "function() { return 'Hello' }"); } private static void runTest(final String testMethodName, final String argument) throws ScriptException { e.eval("Java.type('" + ArrayConversionTest.class.getName() + "')." + testMethodName + "(" + argument + ")"); } --- 102,116 ---- } @Test public void testVarArgs() throws ScriptException { // Sole NativeArray in vararg position becomes vararg array itself ! runTest("assertVarArgWith42And17", "[42, 17]"); // NativeArray in vararg position becomes an argument if there are more arguments ! runTest("assertVarArgArray7", "[42], 18"); // Only NativeArray is converted to vararg array, other objects (e.g. a function) aren't ! runTest("assertVarArgFunction", "function() { return 'Hello' }"); } private static void runTest(final String testMethodName, final String argument) throws ScriptException { e.eval("Java.type('" + ArrayConversionTest.class.getName() + "')." + testMethodName + "(" + argument + ")"); }
*** 207,230 **** assertEquals(2, array.length); assertEquals(Arrays.asList("foo", "bar"), array[0]); assertEquals(Arrays.asList("apple", "orange"), array[1]); } ! public static void assertVarArg_42_17(final Object... args) { assertEquals(2, args.length); assertEquals(42, ((Number)args[0]).intValue()); assertEquals(17, ((Number)args[1]).intValue()); } ! public static void assertVarArg_array_17(final Object... args) throws ScriptException { assertEquals(2, args.length); e.getBindings(ScriptContext.ENGINE_SCOPE).put("arr", args[0]); assertTrue((Boolean)e.eval("arr instanceof Array && arr.length == 1 && arr[0] == 42")); assertEquals(18, ((Number)args[1]).intValue()); } ! public static void assertVarArg_function(final Object... args) throws ScriptException { assertEquals(1, args.length); e.getBindings(ScriptContext.ENGINE_SCOPE).put("fn", args[0]); assertEquals("Hello", e.eval("fn()")); } --- 207,230 ---- assertEquals(2, array.length); assertEquals(Arrays.asList("foo", "bar"), array[0]); assertEquals(Arrays.asList("apple", "orange"), array[1]); } ! public static void assertVarArgWith42And17(final Object... args) { assertEquals(2, args.length); assertEquals(42, ((Number)args[0]).intValue()); assertEquals(17, ((Number)args[1]).intValue()); } ! public static void assertVarArgArray7(final Object... args) throws ScriptException { assertEquals(2, args.length); e.getBindings(ScriptContext.ENGINE_SCOPE).put("arr", args[0]); assertTrue((Boolean)e.eval("arr instanceof Array && arr.length == 1 && arr[0] == 42")); assertEquals(18, ((Number)args[1]).intValue()); } ! public static void assertVarArgFunction(final Object... args) throws ScriptException { assertEquals(1, args.length); e.getBindings(ScriptContext.ENGINE_SCOPE).put("fn", args[0]); assertEquals("Hello", e.eval("fn()")); }
< prev index next >