8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /*
25 * @test
26 * @bug 6960211
27 * @summary JavaScript engine allows creation of interface although methods not available.
28 */
29
30 import javax.script.*;
31
32 public class GetInterfaceTest {
33 public static void main(String[] args) throws Exception {
34 ScriptEngineManager manager = new ScriptEngineManager();
35 ScriptEngine engine = manager.getEngineByName("js");
36
37 if (engine == null) {
38 System.out.println("Warning: No engine engine found; test vacuously passes.");
39 return;
40 }
41
42 // don't define any function.
43 engine.eval("");
44
45 Runnable runnable = ((Invocable)engine).getInterface(Runnable.class);
46 if (runnable != null) {
47 throw new RuntimeException("runnable is not null!");
|
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /*
25 * @test
26 * @bug 6960211
27 * @summary JavaScript engine allows creation of interface although methods not available.
28 * @run main/othervm -Djava.awt.headless=true GetInterfaceTest
29 */
30
31 import javax.script.*;
32
33 public class GetInterfaceTest {
34 public static void main(String[] args) throws Exception {
35 ScriptEngineManager manager = new ScriptEngineManager();
36 ScriptEngine engine = manager.getEngineByName("js");
37
38 if (engine == null) {
39 System.out.println("Warning: No engine engine found; test vacuously passes.");
40 return;
41 }
42
43 // don't define any function.
44 engine.eval("");
45
46 Runnable runnable = ((Invocable)engine).getInterface(Runnable.class);
47 if (runnable != null) {
48 throw new RuntimeException("runnable is not null!");
|