NASHORN-474.js revision 2:da1e581c933b
1268767Smav/*
2268767Smav * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
3268767Smav * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4268767Smav *
5268767Smav * This code is free software; you can redistribute it and/or modify it
6268767Smav * under the terms of the GNU General Public License version 2 only, as
7268767Smav * published by the Free Software Foundation.
8268767Smav *
9268767Smav * This code is distributed in the hope that it will be useful, but WITHOUT
10268767Smav * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11268767Smav * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12268767Smav * version 2 for more details (a copy is included in the LICENSE file that
13268767Smav * accompanied this code).
14268767Smav *
15268767Smav * You should have received a copy of the GNU General Public License version
16268767Smav * 2 along with this work; if not, write to the Free Software Foundation,
17268767Smav * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18268767Smav *
19268767Smav * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20268767Smav * or visit www.oracle.com if you need additional information or have any
21268767Smav * questions.
22268767Smav */
23268767Smav
24268767Smav/*
25268767Smav * NASHORN-474 : long index support for sparse arrays.
26268767Smav *
27268767Smav * @test
28268767Smav * @run
29268767Smav */
30268767Smav
31268767Smavvar a = [];
32268767Smava[1] = 2;
33268767Smava[420000000] = 42;
34275942Smava[-1] = 13;
35278625Smav
36268767Smavprint([a[420000000], a[1], a[-1]]);
37268767Smavprint(a.length);
38268767Smav
39268767Smavvar b = [];
40b[0xfffffffe] = 0xfe;
41b[0xffffffff] = 0xff;
42b[-1] = -13;
43print([b[4294967294], b[4294967295], b[-1]]);
44print(b.length);
45
46var c = [,1];
47c[0x8ffffff0] = 2;
48c[0x8ffffff1] = 3;
49c[0x8fffffef] = 4;
50c[0] = 5;
51c[2] = 6;
52c[0x8ffffff3] = 7;
53print([c[0],c[1],c[2]] + ";" + [c[0x8fffffef],c[0x8ffffff0],c[0x8ffffff1],c[0x8ffffff2],c[0x8ffffff3]]);
54print(c.length);
55