1 /* |
1 /* |
2 * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
8 * |
8 * |
9 * This code is distributed in the hope that it will be useful, but WITHOUT |
9 * This code is distributed in the hope that it will be useful, but WITHOUT |
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
12 * version 2 for more details (a copy is included in the LICENSE file that |
12 * version 2 for more details (a copy is included in the LICENSE file that |
13 * accompanied this code). |
13 * accompanied this code). |
14 * |
14 * |
15 * You should have received a copy of the GNU General Public License version |
15 * You should have received a copy of the GNU General Public License version |
16 * 2 along with this work; if not, write to the Free Software Foundation, |
16 * 2 along with this work; if not, write to the Free Software Foundation, |
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
18 * |
18 * |
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
20 * or visit www.oracle.com if you need additional information or have any |
20 * or visit www.oracle.com if you need additional information or have any |
21 * questions. |
21 * questions. |
22 */ |
22 */ |
23 |
23 |
25 * JDK-8015267: have a List/Deque adapter for JS array-like objects |
25 * JDK-8015267: have a List/Deque adapter for JS array-like objects |
26 * |
26 * |
27 * @test |
27 * @test |
28 * @run |
28 * @run |
29 */ |
29 */ |
30 |
30 |
31 var a = ['a', 'b', 'c', 'd'] |
31 var a = ['a', 'b', 'c', 'd'] |
32 |
32 |
33 var l = Java.to(a, java.util.List) |
33 var l = Java.to(a, java.util.List) |
34 print(l instanceof java.util.List) |
34 print(l instanceof java.util.List) |
35 print(l instanceof java.util.Deque) |
35 print(l instanceof java.util.Deque) |
62 print(a) |
62 print(a) |
63 |
63 |
64 l[7] = 'g' |
64 l[7] = 'g' |
65 print(a) |
65 print(a) |
66 |
66 |
67 try { l.add(15, '') } catch(e) { print(e.class) } |
67 try { l.add(15, '') } catch(e) { print(e.class) } |
68 try { l.remove(15) } catch(e) { print(e.class) } |
68 try { l.remove(15) } catch(e) { print(e.class) } |
69 try { l.add(-1, '') } catch(e) { print(e.class) } |
69 try { l.add(-1, '') } catch(e) { print(e.class) } |
70 try { l.remove(-1) } catch(e) { print(e.class) } |
70 try { l.remove(-1) } catch(e) { print(e.class) } |
71 |
71 |
72 l.remove(7) |
72 l.remove(7) |
73 l.remove(2) |
73 l.remove(2) |
74 l.remove(0) |
74 l.remove(0) |
75 print(a) |
75 print(a) |