# HG changeset patch # User asaha # Date 1424296197 28800 # Node ID 582ef9805bb0a895502c26c66576e9ffedbc3cb9 # Parent b0b90d6c5265f45cee7fde968e15f8f272b5b24b# Parent 397ea4a1bff8adbceaa1a40ff826b3d2d3b09e81 Merge diff -r b0b90d6c5265 -r 582ef9805bb0 .hgtags --- a/.hgtags Wed Feb 18 12:11:14 2015 -0800 +++ b/.hgtags Wed Feb 18 13:49:57 2015 -0800 @@ -322,6 +322,8 @@ 4b9cc65dd24d398c4f921c0beccfb8caeaaaf584 jdk8u25-b17 cdbf34dbef404b47805c8c85b11c65c2afaa6674 jdk8u25-b18 4f9e65387c21831d0ea5726641a302c2ce73a4cc jdk8u25-b31 +be20e9a00818df15af12544c21839c3a3d5768d9 jdk8u25-b32 +a8526abf70a8c98aee5fed64eb727210745a6e5a jdk8u25-b33 9b692a6e5f22228f822973d35610d37cb9dd9693 jdk8u31-b00 6bf53bb6c969678488b1c073d56dd55df1a0ea17 jdk8u31-b01 809bf97d7e70dcb3873fcbc10f12f62580b1c11d jdk8u31-b02 @@ -336,6 +338,8 @@ 599bd596fa549d882aa8fc5104c322a75a3af728 jdk8u31-b11 f36c71a03e4ed467f630cc46d076a5bb4c58b6d5 jdk8u31-b12 ec36fa3b35eb00f053d624ae837579c6b8e446ac jdk8u31-b13 +34a64e22b81bd78cf29603a80ff1f4cfc1694df8 jdk8u31-b31 +d2b5784a3452a4fd9d1ccfefe93ee2d36662842c jdk8u31-b32 f2925491b61b22ac42f8c30ee9c6723ffa401a4c jdk8u40-b00 62468d841b842769d875bd97d10370585c296eb7 jdk8u40-b01 b476c69c820ac1e05071f4de5abab8e2dff80e87 jdk8u40-b02 @@ -358,6 +362,19 @@ 6ec61d2494283fbaca6df227f1a5b45487dc1ca7 jdk8u40-b19 4d240320929f7b2247eeb97e43efe2370b70582e jdk8u40-b20 dbb663a9d9aa2807ef501c7d20f29415816a1973 jdk8u40-b21 +f9f70a0f60f48fbb95275b6c1110cedf740c6177 jdk8u40-b22 +6ca090832d30fd0e46214ccc00816490ad75a8ab jdk8u40-b23 +b2ce5df33715583c898530560d4202853b9ff9bc jdk8u40-b24 +fb7b6c2b95c5661f15e8e747a63ec6d95d49fe46 jdk8u40-b25 +05a3614ed5276e5db2a73cce918be04b1a2922fb jdk8u45-b00 +21ec16eb7e6346c78b4fa67ccd6d2a9c58f0b696 jdk8u45-b01 +37b3ef9a07323afd2556d6837824db154cccc874 jdk8u45-b02 +ed3a4177da50d75d6da55ff521bf3f971cfe5214 jdk8u45-b03 +65f24dedfd29ec02af43f745742647412d90f005 jdk8u45-b04 +de2ee4c1341fd4eeaba39b81194df0c4274e7c8b jdk8u45-b05 +cf0097b8987d2d2f480d8a6d2a8f235509bd4421 jdk8u45-b06 +bb112473c7314146bebb75fb5220b4ec641b0b7a jdk8u45-b07 +8ab14ee47c8b1558854d3cd71006eceb6c6804d1 jdk8u45-b08 6ec61d2494283fbaca6df227f1a5b45487dc1ca7 jdk8u60-b00 af290f203369ecf8e67b89c4a3a8df0bf535230e jdk8u60-b01 39e0c14d45c3fee93a29993f1415b3393d03483f jdk8u60-b02 diff -r b0b90d6c5265 -r 582ef9805bb0 test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java --- a/test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Wed Feb 18 12:11:14 2015 -0800 +++ b/test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Wed Feb 18 13:49:57 2015 -0800 @@ -675,6 +675,41 @@ assertEquals("helloworld", inv.invokeMethod(ctx.get(), "join", "")); } + // @bug JDK-8068889: ConsString arguments to a functional interface wasn't converted to string. + @Test + public void functionalInterfaceStringTest() throws Exception { + final ScriptEngineManager manager = new ScriptEngineManager(); + final ScriptEngine e = manager.getEngineByName("nashorn"); + final AtomicBoolean invoked = new AtomicBoolean(false); + e.put("f", new Function() { + @Override + public String apply(String t) { + invoked.set(true); + return t; + } + }); + assertEquals(e.eval("var x = 'a'; x += 'b'; f(x)"), "ab"); + assertTrue(invoked.get()); + } + + // @bug JDK-8068889: ScriptObject arguments to a functional interface wasn't converted to a mirror. + @Test + public void functionalInterfaceObjectTest() throws Exception { + final ScriptEngineManager manager = new ScriptEngineManager(); + final ScriptEngine e = manager.getEngineByName("nashorn"); + final AtomicBoolean invoked = new AtomicBoolean(false); + e.put("c", new Consumer() { + @Override + public void accept(Object t) { + assertTrue(t instanceof ScriptObjectMirror); + assertEquals(((ScriptObjectMirror)t).get("a"), "xyz"); + invoked.set(true); + } + }); + e.eval("var x = 'xy'; x += 'z';c({a:x})"); + assertTrue(invoked.get()); + } + // @bug 8068524: NashornScriptEngineFactory.getParameter() throws IAE // for an unknown key, doesn't conform to the general spec @Test