| // Copyright 2015 the V8 project authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| var i = Math.pow(2, 31); | |
| var a = []; | |
| a[i] = 31; | |
| var b = []; | |
| b[i - 2] = 33; | |
| try { | |
| // This is supposed to throw a RangeError. | |
| var c = a.concat(b); | |
| // If it didn't, ObservableSetLength will detect the problem. | |
| Object.observe(c, function() {}); | |
| c.length = 1; | |
| } catch(e) { | |
| assertTrue(e instanceof RangeError); | |
| } |