diff options
Diffstat (limited to 'test/script/basic/JDK-8016618.js')
-rw-r--r-- | test/script/basic/JDK-8016618.js | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/test/script/basic/JDK-8016618.js b/test/script/basic/JDK-8016618.js index 1b35db76..0db20a08 100644 --- a/test/script/basic/JDK-8016618.js +++ b/test/script/basic/JDK-8016618.js @@ -1,21 +1,21 @@ /* * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. - * + * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). - * + * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * + * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. @@ -38,7 +38,7 @@ var x = 33; function func(x, y) { print('func.x = ' + x); print('func.x = ' + y) -}; +}; var obj = { foo: 'hello', @@ -54,18 +54,30 @@ EOF }); // load on mirror with local object as argument -global.load({ +global.load({ name: "code", script: "print('x = ' + x)" }); function f() { // mirror function called with local arguments + // global.func.apply(obj, arguments); global.func.apply(obj, arguments); } f(23, "hello"); +f(24, "hello2"); + +var oldCall = Function.prototype.call; +Function.prototype.call = function() { + throw "this should never happen! go back to apply!"; +}; + +f(25, "hello3"); + +Function.prototype.call = oldCall; + var fObject = global.eval("Object"); // instanceof on mirrors |