| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| import "package:expect/expect.dart"; |
| |
| // Dart test for testing out of range exceptions on arrays. |
| |
| class RangeErrorTest { |
| static testRead() { |
| testListRead([], 0); |
| testListRead([], -1); |
| testListRead([], 1); |
| |
| var list = [1]; |
| testListRead(list, -1); |
| testListRead(list, 1); |
| |
| list = new List(1); |
| testListRead(list, -1); |
| testListRead(list, 1); |
| |
| list = new List(); |
| testListRead(list, -1); |
| testListRead(list, 0); |
| testListRead(list, 1); |
| } |
| |
| static testWrite() { |
| testListWrite([], 0); |
| testListWrite([], -1); |
| testListWrite([], 1); |
| |
| var list = [1]; |
| testListWrite(list, -1); |
| testListWrite(list, 1); |
| |
| list = new List(1); |
| testListWrite(list, -1); |
| testListWrite(list, 1); |
| |
| list = new List(); |
| testListWrite(list, -1); |
| testListWrite(list, 0); |
| testListWrite(list, 1); |
| } |
| |
| static testMain() { |
| testRead(); |
| testWrite(); |
| } |
| |
| static testListRead(list, index) { |
| var exception = null; |
| try { |
| var e = list[index]; |
| } on RangeError catch (e) { |
| exception = e; |
| } |
| Expect.equals(true, exception != null); |
| } |
| |
| static testListWrite(list, index) { |
| var exception = null; |
| try { |
| list[index] = null; |
| } on RangeError catch (e) { |
| exception = e; |
| } |
| Expect.equals(true, exception != null); |
| } |
| } |
| |
| main() { |
| RangeErrorTest.testMain(); |
| } |