OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #library('TypedArraysRangeCheckTest'); | 5 #library('TypedArraysRangeCheckTest'); |
6 #import('../../lib/unittest/unittest.dart'); | 6 #import('../../lib/unittest/unittest.dart'); |
7 #import('../../lib/unittest/html_config.dart'); | 7 #import('../../lib/unittest/html_config.dart'); |
8 #import('dart:html'); | 8 #import('dart:html'); |
9 | 9 |
10 main() { | 10 main() { |
11 useHtmlConfiguration(); | 11 useHtmlConfiguration(); |
12 | 12 |
13 test('outOfRangeAccess_dynamic', () { | 13 test('outOfRangeAccess_dynamic', () { |
14 var a = new Uint8Array(1024); | 14 var a = new Uint8Array(1024); |
15 | 15 |
16 expect(a[a.length]).isNull(); | 16 expect(a[a.length], isNull); |
17 expect(a[a.length + 1]).isNull(); | 17 expect(a[a.length + 1], isNull); |
18 expect(a[a.length + 1024]).isNull(); | 18 expect(a[a.length + 1024], isNull); |
19 | 19 |
20 // expect(a[-1]).isNull(); | 20 // expect(a[-1], isNull); |
21 // expect(a[-2]).isNull(); | 21 // expect(a[-2], isNull); |
22 // expect(a[-1024]).isNull(); | 22 // expect(a[-1024], isNull); |
23 | 23 |
24 // It's harder to test out of range setters, but let's do some minimum. | 24 // It's harder to test out of range setters, but let's do some minimum. |
25 a[a.length] = 0xdeadbeaf; | 25 a[a.length] = 0xdeadbeaf; |
26 a[a.length + 1] = 0xdeadbeaf; | 26 a[a.length + 1] = 0xdeadbeaf; |
27 a[a.length + 1024] = 0xdeadbeaf; | 27 a[a.length + 1024] = 0xdeadbeaf; |
28 | 28 |
29 // a[-1] = 0xdeadbeaf; | 29 // a[-1] = 0xdeadbeaf; |
30 // a[-2] = 0xdeadbeaf; | 30 // a[-2] = 0xdeadbeaf; |
31 // a[-1024] = 0xdeadbeaf; | 31 // a[-1024] = 0xdeadbeaf; |
32 }); | 32 }); |
33 | 33 |
34 test('outOfRange_typed', () { | 34 test('outOfRange_typed', () { |
35 Uint8Array a = new Uint8Array(1024); | 35 Uint8Array a = new Uint8Array(1024); |
36 | 36 |
37 expect(a[a.length]).isNull(); | 37 expect(a[a.length], isNull); |
38 expect(a[a.length + 1]).isNull(); | 38 expect(a[a.length + 1], isNull); |
39 expect(a[a.length + 1024]).isNull(); | 39 expect(a[a.length + 1024], isNull); |
40 | 40 |
41 // expect(a[-1]).isNull(); | 41 // expect(a[-1], isNull); |
42 // expect(a[-2]).isNull(); | 42 // expect(a[-2], isNull); |
43 // expect(a[-1024]).isNull(); | 43 // expect(a[-1024], isNull); |
44 | 44 |
45 // It's harder to test out of range setters, but let's do some minimum. | 45 // It's harder to test out of range setters, but let's do some minimum. |
46 a[a.length] = 0xdeadbeaf; | 46 a[a.length] = 0xdeadbeaf; |
47 a[a.length + 1] = 0xdeadbeaf; | 47 a[a.length + 1] = 0xdeadbeaf; |
48 a[a.length + 1024] = 0xdeadbeaf; | 48 a[a.length + 1024] = 0xdeadbeaf; |
49 | 49 |
50 // a[-1] = 0xdeadbeaf; | 50 // a[-1] = 0xdeadbeaf; |
51 // a[-2] = 0xdeadbeaf; | 51 // a[-2] = 0xdeadbeaf; |
52 // a[-1024] = 0xdeadbeaf; | 52 // a[-1024] = 0xdeadbeaf; |
53 }); | 53 }); |
54 } | 54 } |
OLD | NEW |