JDK_8169050_Test.java revision 1806:b4e57ead3fae
131183Speter/* 231183Speter * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. 331183Speter * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 431183Speter * 553024Sguido * This code is free software; you can redistribute it and/or modify it 631183Speter * under the terms of the GNU General Public License version 2 only, as 731183Speter * published by the Free Software Foundation. Oracle designates this 831183Speter * particular file as subject to the "Classpath" exception as provided 931183Speter * by Oracle in the LICENSE file that accompanied this code. 1031183Speter * 1131183Speter * This code is distributed in the hope that it will be useful, but WITHOUT 1231183Speter * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1331183Speter * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1431183Speter * version 2 for more details (a copy is included in the LICENSE file that 1531183Speter * accompanied this code). 1631183Speter * 1731183Speter * You should have received a copy of the GNU General Public License version 1831183Speter * 2 along with this work; if not, write to the Free Software Foundation, 1931183Speter * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2031183Speter * 2131183Speter * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2231183Speter * or visit www.oracle.com if you need additional information or have any 2331183Speter * questions. 2431183Speter */ 25255332Scypackage jdk.nashorn.api.scripting.test; 2631183Speter 2731183Speterimport javax.script.ScriptEngine; 28255332Scyimport javax.script.ScriptEngineManager; 2931183Speterimport javax.script.ScriptException; 3031183Speterimport org.testng.annotations.BeforeClass; 3131183Speterimport org.testng.annotations.Test; 3231183Speterimport static org.testng.Assert.*; 3331183Speter 3431183Speter/** 3531183Speter * @bug 8169050 3631183Speter * @summary underscore_linker.js sample fails after dynalink changes for JDK-8168005 3731183Speter */ 3831183Speterpublic class JDK_8169050_Test { 3931183Speter private ScriptEngine engine; 4031183Speter 4131183Speter @BeforeClass 4231183Speter public void setupTest() { 4331183Speter engine = new ScriptEngineManager().getEngineByName("js"); 4431183Speter } 4531183Speter 4631183Speter @Test 4731183Speter public void testUndersoreName() throws ScriptException { 4831183Speter engine.eval("var S = java.util.stream.Stream, v = 0;"); 4931183Speter // The underscore name 'for_each' exercises pluggable dynalink linker 5031183Speter engine.eval("S.of(4, 5, 9).for_each(function(x) { v += x })"); 5137074Speter assertEquals(18, ((Number)engine.get("v")).intValue()); 5231183Speter } 5331183Speter} 5431183Speter