lagergren@1000: /* lagergren@1000: * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. lagergren@1000: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. lagergren@1000: * lagergren@1000: * This code is free software; you can redistribute it and/or modify it lagergren@1000: * under the terms of the GNU General Public License version 2 only, as lagergren@1000: * published by the Free Software Foundation. lagergren@1000: * lagergren@1000: * This code is distributed in the hope that it will be useful, but WITHOUT lagergren@1000: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or lagergren@1000: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License lagergren@1000: * version 2 for more details (a copy is included in the LICENSE file that lagergren@1000: * accompanied this code). lagergren@1000: * lagergren@1000: * You should have received a copy of the GNU General Public License version lagergren@1000: * 2 along with this work; if not, write to the Free Software Foundation, lagergren@1000: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. lagergren@1000: * lagergren@1000: * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA lagergren@1000: * or visit www.oracle.com if you need additional information or have any lagergren@1000: * questions. lagergren@1000: */ lagergren@1000: lagergren@1000: /** lagergren@1000: * this apply with extra arguments lagergren@1000: * lagergren@1000: * @subtest lagergren@1000: */ lagergren@1000: lagergren@1000: function func(x, y, z) { lagergren@1000: print(x, y, z); lagergren@1000: } lagergren@1000: lagergren@1000: function g() { lagergren@1000: func.apply(this, arguments); lagergren@1000: } lagergren@1000: function h() { lagergren@1000: func.apply(this, arguments, 23); lagergren@1000: } lagergren@1000: function i() { lagergren@1000: func.apply(this, arguments, 23, 4711); lagergren@1000: } lagergren@1000: function j() { lagergren@1000: func.apply(this, arguments, 23, 4711, "apa", "dingo", "gorilla"); lagergren@1000: } lagergren@1000: function k() { lagergren@1000: func.apply(this, arguments, 23); lagergren@1000: } lagergren@1000: function l() { lagergren@1000: func.apply(this, [23, "apa", "gorilla", "dingo"], 17); lagergren@1000: } lagergren@1000: function m() { lagergren@1000: func.apply(this, [23, "apa", "gorilla", "dingo"]); lagergren@1000: } lagergren@1000: function n() { lagergren@1000: func.apply(this, "significant"); lagergren@1000: } lagergren@1000: lagergren@1000: g(1,2); lagergren@1000: g(1,2,3); lagergren@1000: g(1,2,3,4); lagergren@1000: lagergren@1000: h(1,2); lagergren@1000: h(1,2,3); lagergren@1000: h(1,2,3,4); lagergren@1000: lagergren@1000: i(1,2); lagergren@1000: i(1,2,3); lagergren@1000: i(1,2,3,4); lagergren@1000: lagergren@1000: j(1,2); lagergren@1000: j(1,2,3); lagergren@1000: j(1,2,3,4); lagergren@1000: lagergren@1000: k(1,2); lagergren@1000: k(1,2,3); lagergren@1000: k(1,2,3,4); lagergren@1000: lagergren@1000: l(1,2); lagergren@1000: l(1,2,3); lagergren@1000: l(1,2,3,4); lagergren@1000: lagergren@1000: m(1,2); lagergren@1000: m(1,2,3); lagergren@1000: m(1,2,3,4); lagergren@1000: lagergren@1000: try { lagergren@1000: n(1,2); lagergren@1000: } catch (e) { lagergren@1000: print(e); lagergren@1000: } lagergren@1000: try { lagergren@1000: n(1,2,3); lagergren@1000: } catch (e) { lagergren@1000: print(e); lagergren@1000: } lagergren@1000: lagergren@1000: try { lagergren@1000: n(1,2,3,4); lagergren@1000: } catch (e) { lagergren@1000: print(e); lagergren@1000: }