blob: 15e7aeb203240c6bf972908485293102468dfb62 [file] [log] [blame]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001// Copyright 2013 the V8 project authors. All rights reserved.
2// Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3//
4// Redistribution and use in source and binary forms, with or without
5// modification, are permitted provided that the following conditions
6// are met:
7// 1. Redistributions of source code must retain the above copyright
8// notice, this list of conditions and the following disclaimer.
9// 2. Redistributions in binary form must reproduce the above copyright
10// notice, this list of conditions and the following disclaimer in the
11// documentation and/or other materials provided with the distribution.
12//
13// THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
14// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16// DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
17// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
24description(
25
26"This test checks that activation objects for functions called with too many arguments are created properly."
27
28);
29
30
31var c1;
32
33function f1()
34{
35 var a = "x";
36 var b = "y";
37 var c = a + b;
38 var d = a + b + c;
39
40 c1 = function() { return d; }
41}
42
43f1(0, 0, 0, 0, 0, 0, 0, 0, 0);
44
45function s1() {
46 shouldBe("c1()", '"xyxy"');
47}
48
49function t1() {
50 var a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p;
51 s1();
52}
53
54t1();
55
56var c2;
57
58function f2()
59{
60 var a = "x";
61 var b = "y";
62 var c = a + b;
63 var d = a + b + c;
64
65 c2 = function() { return d; }
66}
67
68new f2(0, 0, 0, 0, 0, 0, 0, 0, 0);
69
70function s2() {
71 shouldBe("c2()", '"xyxy"');
72}
73
74function t2() {
75 var a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p;
76 s2();
77}
78
79t2();