test/script/basic/JDK-8068580.js

Mon, 12 Jan 2015 11:29:42 +0100

author
attila
date
Mon, 12 Jan 2015 11:29:42 +0100
changeset 1214
f98201c9d76a
child 1482
58791cd01bc9
permissions
-rw-r--r--

8068580: make JavaAdapterFactory.isAutoConvertibleFromFunction more robust
Reviewed-by: lagergren, sundar

attila@1214 1 /*
attila@1214 2 * Copyright (c) 2014 Oracle and/or its affiliates. All rights reserved.
attila@1214 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
attila@1214 4 *
attila@1214 5 * This code is free software; you can redistribute it and/or modify it
attila@1214 6 * under the terms of the GNU General Public License version 2 only, as
attila@1214 7 * published by the Free Software Foundation.
attila@1214 8 *
attila@1214 9 * This code is distributed in the hope that it will be useful, but WITHOUT
attila@1214 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
attila@1214 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
attila@1214 12 * version 2 for more details (a copy is included in the LICENSE file that
attila@1214 13 * accompanied this code).
attila@1214 14 *
attila@1214 15 * You should have received a copy of the GNU General Public License version
attila@1214 16 * 2 along with this work; if not, write to the Free Software Foundation,
attila@1214 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
attila@1214 18 *
attila@1214 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
attila@1214 20 * or visit www.oracle.com if you need additional information or have any
attila@1214 21 * questions.
attila@1214 22 */
attila@1214 23
attila@1214 24 /**
attila@1214 25 * JDK-8068580: make JavaAdapterFactory.isAutoConvertibleFromFunction more robust
attila@1214 26 *
attila@1214 27 * @test
attila@1214 28 * @run
attila@1214 29 */
attila@1214 30
attila@1214 31 var BigAbstract = Java.type("jdk.nashorn.test.models.BigAbstract")
attila@1214 32 try {
attila@1214 33 new BigAbstract({});
attila@1214 34 } catch (e) {
attila@1214 35 Assert.assertTrue(e instanceof TypeError);
attila@1214 36 Assert.assertEquals(e.message, "Can not extend/implement [class jdk.nashorn.test.models.BigAbstract] because of java.lang.RuntimeException: Method code too large!");
attila@1214 37 }
attila@1214 38 try {
attila@1214 39 BigAbstract.accept(function() { });
attila@1214 40 } catch (e) {
attila@1214 41 Assert.assertSame(e.class, java.lang.ClassCastException.class);
attila@1214 42 }

mercurial