b73ca2df7127a49e378bd38f426bcfc74e1e079f
[profile/ivi/qtdeclarative.git] / tests / auto / declarative / parserstress / tests / ecma / Array / 15.4-1.js
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* ***** BEGIN LICENSE BLOCK *****
3  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
4  *
5  * The contents of this file are subject to the Mozilla Public License Version
6  * 1.1 (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  * http://www.mozilla.org/MPL/
9  *
10  * Software distributed under the License is distributed on an "AS IS" basis,
11  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12  * for the specific language governing rights and limitations under the
13  * License.
14  *
15  * The Original Code is Mozilla Communicator client code, released
16  * March 31, 1998.
17  *
18  * The Initial Developer of the Original Code is
19  * Netscape Communications Corporation.
20  * Portions created by the Initial Developer are Copyright (C) 1998
21  * the Initial Developer. All Rights Reserved.
22  *
23  * Contributor(s):
24  *
25  * Alternatively, the contents of this file may be used under the terms of
26  * either the GNU General Public License Version 2 or later (the "GPL"), or
27  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
28  * in which case the provisions of the GPL or the LGPL are applicable instead
29  * of those above. If you wish to allow use of your version of this file only
30  * under the terms of either the GPL or the LGPL, and not to allow others to
31  * use your version of this file under the terms of the MPL, indicate your
32  * decision by deleting the provisions above and replace them with the notice
33  * and other provisions required by the GPL or the LGPL. If you do not delete
34  * the provisions above, a recipient may use your version of this file under
35  * the terms of any one of the MPL, the GPL or the LGPL.
36  *
37  * ***** END LICENSE BLOCK ***** */
38
39 gTestfile = '15.4-1.js';
40
41 /**
42    File Name:          15.4-1.js
43    ECMA Section:       15.4 Array Objects
44
45    Description:        Every Array object has a length property whose value
46    is always an integer with positive sign and less than
47    Math.pow(2,32).
48
49    Author:             christine@netscape.com
50    Date:               28 october 1997
51
52 */
53 var SECTION = "15.4-1";
54 var VERSION = "ECMA_1";
55 startTest();
56
57 var TITLE   = "Array Objects";
58
59 writeHeaderToLog( SECTION + " "+ TITLE);
60
61 new TestCase(SECTION,
62              "var myarr = new Array(); myarr[Math.pow(2,32)-2]='hi'; myarr[Math.pow(2,32)-2]",
63              "hi",
64              eval("var myarr = new Array(); myarr[Math.pow(2,32)-2]='hi'; myarr[Math.pow(2,32)-2]")
65   );
66
67 new TestCase(SECTION,
68              "var myarr = new Array(); myarr[Math.pow(2,32)-2]='hi'; myarr.length",
69              (Math.pow(2,32)-1),
70              eval("var myarr = new Array(); myarr[Math.pow(2,32)-2]='hi'; myarr.length")
71   );
72
73 new TestCase(SECTION,
74              "var myarr = new Array(); myarr[Math.pow(2,32)-3]='hi'; myarr[Math.pow(2,32)-3]",
75              "hi",
76              eval("var myarr = new Array(); myarr[Math.pow(2,32)-3]='hi'; myarr[Math.pow(2,32)-3]")
77   );
78
79 new TestCase(SECTION,
80              "var myarr = new Array(); myarr[Math.pow(2,32)-3]='hi'; myarr.length",
81              (Math.pow(2,32)-2),
82              eval("var myarr = new Array(); myarr[Math.pow(2,32)-3]='hi'; myarr.length")
83   );
84
85 new TestCase(SECTION,
86              "var myarr = new Array(); myarr[Math.pow(2,31)-2]='hi'; myarr[Math.pow(2,31)-2]",
87              "hi",
88              eval("var myarr = new Array(); myarr[Math.pow(2,31)-2]='hi'; myarr[Math.pow(2,31)-2]")
89   );
90
91 new TestCase(SECTION,
92              "var myarr = new Array(); myarr[Math.pow(2,31)-2]='hi'; myarr.length",
93              (Math.pow(2,31)-1),
94              eval("var myarr = new Array(); myarr[Math.pow(2,31)-2]='hi'; myarr.length")
95   );
96
97 new TestCase(SECTION,
98              "var myarr = new Array(); myarr[Math.pow(2,31)-1]='hi'; myarr[Math.pow(2,31)-1]",
99              "hi",
100              eval("var myarr = new Array(); myarr[Math.pow(2,31)-1]='hi'; myarr[Math.pow(2,31)-1]")
101   );
102
103 new TestCase(SECTION,
104              "var myarr = new Array(); myarr[Math.pow(2,31)-1]='hi'; myarr.length",
105              (Math.pow(2,31)),
106              eval("var myarr = new Array(); myarr[Math.pow(2,31)-1]='hi'; myarr.length")
107   );
108
109 new TestCase(SECTION,
110              "var myarr = new Array(); myarr[Math.pow(2,31)]='hi'; myarr[Math.pow(2,31)]",
111              "hi",
112              eval("var myarr = new Array(); myarr[Math.pow(2,31)]='hi'; myarr[Math.pow(2,31)]")
113   );
114
115 new TestCase(SECTION,
116              "var myarr = new Array(); myarr[Math.pow(2,31)]='hi'; myarr.length",
117              (Math.pow(2,31)+1),
118              eval("var myarr = new Array(); myarr[Math.pow(2,31)]='hi'; myarr.length")
119   );
120
121 new TestCase(SECTION,
122              "var myarr = new Array(); myarr[Math.pow(2,30)-2]='hi'; myarr[Math.pow(2,30)-2]",
123              "hi",
124              eval("var myarr = new Array(); myarr[Math.pow(2,30)-2]='hi'; myarr[Math.pow(2,30)-2]")
125   );
126
127 new TestCase(SECTION,
128              "var myarr = new Array(); myarr[Math.pow(2,30)-2]='hi'; myarr.length",
129              (Math.pow(2,30)-1),
130              eval("var myarr = new Array(); myarr[Math.pow(2,30)-2]='hi'; myarr.length")
131   );
132
133 print(typeof testcases, testcases instanceof Array, testcases.length);
134 test();
135