| 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 // VMOptions=--optimization_counter_threshold=10 --disable_alloc_stubs_after_gc
--no-background-compilation | 4 // VMOptions=--optimization_counter_threshold=10 --disable_alloc_stubs_after_gc
--no-background-compilation |
| 5 | 5 |
| 6 // Library tag to be able to run in html test framework. | 6 // Library tag to be able to run in html test framework. |
| 7 library byte_array_test; | 7 library byte_array_test; |
| 8 | 8 |
| 9 import "package:expect/expect.dart"; | 9 import "package:expect/expect.dart"; |
| 10 import 'dart:typed_data'; | 10 import 'dart:typed_data'; |
| 11 | 11 |
| 12 class ByteArrayTest { | 12 class ByteArrayTest { |
| 13 static testInt8ListImpl(Int8List array) { | 13 static testInt8ListImpl(Int8List array) { |
| 14 Expect.isTrue(array is List<int>); | 14 Expect.isTrue(array is List<int>); |
| 15 Expect.equals(10, array.length); | 15 Expect.equals(10, array.length); |
| 16 Expect.equals(1, array.elementSizeInBytes); | 16 Expect.equals(1, array.elementSizeInBytes); |
| 17 Expect.equals(10, array.lengthInBytes); | 17 Expect.equals(10, array.lengthInBytes); |
| 18 Expect.listEquals([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], array); | 18 Expect.listEquals([0, 0, 0, 0, 0, |
| 19 Expect.throws(() { | 19 0, 0, 0, 0, 0], |
| 20 array[-1] = 0; | 20 array); |
| 21 }, (e) { | 21 Expect.throws(() { array[-1] = 0; }, |
| 22 return e is RangeError; | 22 (e) { return e is RangeError; }); |
| 23 }); | 23 Expect.throws(() { return array[-1]; }, |
| 24 Expect.throws(() { | 24 (e) { return e is RangeError; }); |
| 25 return array[-1]; | 25 Expect.throws(() { array[10]; }, |
| 26 }, (e) { | 26 (e) { return e is RangeError; }); |
| 27 return e is RangeError; | 27 Expect.throws(() { array[10] = 0; }, |
| 28 }); | 28 (e) { return e is RangeError; }); |
| 29 Expect.throws(() { | 29 Expect.throws(() { array.add(0); }, |
| 30 array[10]; | 30 (e) { return e is UnsupportedError; }); |
| 31 }, (e) { | 31 Expect.throws(() { array.addAll([0]); }, |
| 32 return e is RangeError; | 32 (e) { return e is UnsupportedError; }); |
| 33 }); | 33 Expect.throws(() { array.clear(); }, |
| 34 Expect.throws(() { | 34 (e) { return e is UnsupportedError; }); |
| 35 array[10] = 0; | 35 Expect.throws(() { array.length = 0; }, |
| 36 }, (e) { | 36 (e) { return e is UnsupportedError; }); |
| 37 return e is RangeError; | 37 Expect.throws(() { array.removeLast(); }, |
| 38 }); | 38 (e) { return e is UnsupportedError; }); |
| 39 Expect.throws(() { | 39 Expect.throws(() { array.removeRange(0, array.length - 1); }, |
| 40 array.add(0); | 40 (e) { return e is UnsupportedError; }); |
| 41 }, (e) { | |
| 42 return e is UnsupportedError; | |
| 43 }); | |
| 44 Expect.throws(() { | |
| 45 array.addAll([0]); | |
| 46 }, (e) { | |
| 47 return e is UnsupportedError; | |
| 48 }); | |
| 49 Expect.throws(() { | |
| 50 array.clear(); | |
| 51 }, (e) { | |
| 52 return e is UnsupportedError; | |
| 53 }); | |
| 54 Expect.throws(() { | |
| 55 array.length = 0; | |
| 56 }, (e) { | |
| 57 return e is UnsupportedError; | |
| 58 }); | |
| 59 Expect.throws(() { | |
| 60 array.removeLast(); | |
| 61 }, (e) { | |
| 62 return e is UnsupportedError; | |
| 63 }); | |
| 64 Expect.throws(() { | |
| 65 array.removeRange(0, array.length - 1); | |
| 66 }, (e) { | |
| 67 return e is UnsupportedError; | |
| 68 }); | |
| 69 for (int i = 0; i < array.length; ++i) { | 41 for (int i = 0; i < array.length; ++i) { |
| 70 array[i] = 1 + i; | 42 array[i] = 1 + i; |
| 71 } | 43 } |
| 72 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], array); | 44 Expect.listEquals([1, 2, 3, 4, 5, |
| 45 6, 7, 8, 9, 10], |
| 46 array); |
| 73 for (int i = 0; i < array.length; ++i) { | 47 for (int i = 0; i < array.length; ++i) { |
| 74 array[i] = 0x100 + i; | 48 array[i] = 0x100 + i; |
| 75 } | 49 } |
| 76 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], array); | 50 Expect.listEquals([0, 1, 2, 3, 4, |
| 51 5, 6, 7, 8, 9], |
| 52 array); |
| 77 for (int i = 0; i < array.length; ++i) { | 53 for (int i = 0; i < array.length; ++i) { |
| 78 array[i] = -10 + i; | 54 array[i] = -10 + i; |
| 79 } | 55 } |
| 80 Expect.listEquals([-10, -9, -8, -7, -6, -5, -4, -3, -2, -1], array); | 56 Expect.listEquals([-10, -9, -8, -7, -6, |
| 57 -5, -4, -3, -2, -1], |
| 58 array); |
| 81 for (int i = 0; i < array.length; ++i) { | 59 for (int i = 0; i < array.length; ++i) { |
| 82 array[i] = 0x7F - i; | 60 array[i] = 0x7F - i; |
| 83 } | 61 } |
| 84 Expect | 62 Expect.listEquals([127, 126, 125, 124, 123, |
| 85 .listEquals([127, 126, 125, 124, 123, 122, 121, 120, 119, 118], array); | 63 122, 121, 120, 119, 118], |
| 64 array); |
| 86 for (int i = 0; i < array.length; ++i) { | 65 for (int i = 0; i < array.length; ++i) { |
| 87 array[i] = -0x80 + i; | 66 array[i] = -0x80 + i; |
| 88 } | 67 } |
| 89 Expect.listEquals( | 68 Expect.listEquals([-128, -127, -126, -125, -124, |
| 90 [-128, -127, -126, -125, -124, -123, -122, -121, -120, -119], array); | 69 -123, -122, -121, -120, -119], |
| 70 array); |
| 91 for (int i = 0; i < array.length; ++i) { | 71 for (int i = 0; i < array.length; ++i) { |
| 92 array[i] = i; | 72 array[i] = i; |
| 93 } | 73 } |
| 94 var copy = array.sublist(0, array.length); | 74 var copy = array.sublist(0, array.length); |
| 95 Expect.isFalse(identical(copy, array)); | 75 Expect.isFalse(identical(copy, array)); |
| 96 Expect.isTrue(copy is Int8List); | 76 Expect.isTrue(copy is Int8List); |
| 97 Expect.equals(10, copy.length); | 77 Expect.equals(10, copy.length); |
| 98 Expect.listEquals(array, copy); | 78 Expect.listEquals(array, copy); |
| 99 var empty = array.sublist(array.length, array.length); | 79 var empty = array.sublist(array.length, array.length); |
| 100 Expect.equals(0, empty.length); | 80 Expect.equals(0, empty.length); |
| 101 empty = array.sublist(array.length); | 81 empty = array.sublist(array.length); |
| 102 Expect.equals(0, empty.length); | 82 Expect.equals(0, empty.length); |
| 103 | 83 |
| 104 var region = array.sublist(3, array.length - 3); | 84 var region = array.sublist(3, array.length - 3); |
| 105 Expect.isTrue(copy is Int8List); | 85 Expect.isTrue(copy is Int8List); |
| 106 Expect.equals(4, region.length); | 86 Expect.equals(4, region.length); |
| 107 Expect.listEquals([3, 4, 5, 6], region); | 87 Expect.listEquals([3, 4, 5, 6], region); |
| 108 array.setRange(3, 7, [-128, 0, 1, 127]); | 88 array.setRange(3, 7, [-128, 0, 1, 127]); |
| 109 Expect.listEquals([0, 1, 2, -128, 0, 1, 127, 7, 8, 9], array); | 89 Expect.listEquals([0, 1, 2, -128, 0, 1, 127, 7, 8, 9], |
| 90 array); |
| 110 } | 91 } |
| 111 | |
| 112 static testInt8List() { | 92 static testInt8List() { |
| 113 Expect.throws(() { | 93 Expect.throws(() { new Int8List(-1); }, |
| 114 new Int8List(-1); | 94 (e) { return e is ArgumentError; }); |
| 115 }, (e) { | |
| 116 return e is ArgumentError; | |
| 117 }); | |
| 118 var array = new Int8List(10); | 95 var array = new Int8List(10); |
| 119 testInt8ListImpl(array); | 96 testInt8ListImpl(array); |
| 120 } | 97 } |
| 121 | 98 |
| 122 static testUint8ListImpl(Uint8List array) { | 99 static testUint8ListImpl(Uint8List array) { |
| 123 Expect.isTrue(array is List<int>); | 100 Expect.isTrue(array is List<int>); |
| 124 Expect.equals(10, array.length); | 101 Expect.equals(10, array.length); |
| 125 Expect.equals(1, array.elementSizeInBytes); | 102 Expect.equals(1, array.elementSizeInBytes); |
| 126 Expect.equals(10, array.lengthInBytes); | 103 Expect.equals(10, array.lengthInBytes); |
| 127 Expect.listEquals([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], array); | 104 Expect.listEquals([0, 0, 0, 0, 0, |
| 128 Expect.throws(() { | 105 0, 0, 0, 0, 0], |
| 129 array[-1] = 0; | 106 array); |
| 130 }, (e) { | 107 Expect.throws(() { array[-1] = 0; }, |
| 131 return e is RangeError; | 108 (e) { return e is RangeError; }); |
| 132 }); | 109 Expect.throws(() { return array[-1]; }, |
| 133 Expect.throws(() { | 110 (e) { return e is RangeError; }); |
| 134 return array[-1]; | 111 Expect.throws(() { array[10]; }, |
| 135 }, (e) { | 112 (e) { return e is RangeError; }); |
| 136 return e is RangeError; | 113 Expect.throws(() { array[10] = 0; }, |
| 137 }); | 114 (e) { return e is RangeError; }); |
| 138 Expect.throws(() { | 115 Expect.throws(() { array.add(0); }, |
| 139 array[10]; | 116 (e) { return e is UnsupportedError; }); |
| 140 }, (e) { | 117 Expect.throws(() { array.addAll([0]); }, |
| 141 return e is RangeError; | 118 (e) { return e is UnsupportedError; }); |
| 142 }); | 119 Expect.throws(() { array.clear(); }, |
| 143 Expect.throws(() { | 120 (e) { return e is UnsupportedError; }); |
| 144 array[10] = 0; | 121 Expect.throws(() { array.length = 0; }, |
| 145 }, (e) { | 122 (e) { return e is UnsupportedError; }); |
| 146 return e is RangeError; | 123 Expect.throws(() { array.removeLast(); }, |
| 147 }); | 124 (e) { return e is UnsupportedError; }); |
| 148 Expect.throws(() { | 125 Expect.throws(() { array.removeRange(0, array.length - 1); }, |
| 149 array.add(0); | 126 (e) { return e is UnsupportedError; }); |
| 150 }, (e) { | |
| 151 return e is UnsupportedError; | |
| 152 }); | |
| 153 Expect.throws(() { | |
| 154 array.addAll([0]); | |
| 155 }, (e) { | |
| 156 return e is UnsupportedError; | |
| 157 }); | |
| 158 Expect.throws(() { | |
| 159 array.clear(); | |
| 160 }, (e) { | |
| 161 return e is UnsupportedError; | |
| 162 }); | |
| 163 Expect.throws(() { | |
| 164 array.length = 0; | |
| 165 }, (e) { | |
| 166 return e is UnsupportedError; | |
| 167 }); | |
| 168 Expect.throws(() { | |
| 169 array.removeLast(); | |
| 170 }, (e) { | |
| 171 return e is UnsupportedError; | |
| 172 }); | |
| 173 Expect.throws(() { | |
| 174 array.removeRange(0, array.length - 1); | |
| 175 }, (e) { | |
| 176 return e is UnsupportedError; | |
| 177 }); | |
| 178 for (int i = 0; i < array.length; ++i) { | 127 for (int i = 0; i < array.length; ++i) { |
| 179 array[i] = 1 + i; | 128 array[i] = 1 + i; |
| 180 } | 129 } |
| 181 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], array); | 130 Expect.listEquals([1, 2, 3, 4, 5, |
| 131 6, 7, 8, 9, 10], |
| 132 array); |
| 182 for (int i = 0; i < array.length; ++i) { | 133 for (int i = 0; i < array.length; ++i) { |
| 183 array[i] = 0x100 + i; | 134 array[i] = 0x100 + i; |
| 184 } | 135 } |
| 185 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], array); | 136 Expect.listEquals([0, 1, 2, 3, 4, |
| 137 5, 6, 7, 8, 9], |
| 138 array); |
| 186 for (int i = 0; i < array.length; ++i) { | 139 for (int i = 0; i < array.length; ++i) { |
| 187 array[i] = 0xFF - i; | 140 array[i] = 0xFF - i; |
| 188 } | 141 } |
| 189 Expect.listEquals( | 142 Expect.listEquals([0xFF, 0xFE, 0xFD, 0xFC, 0xFB, |
| 190 [0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, 0xF7, 0xF6], array); | 143 0xFA, 0xF9, 0xF8, 0xF7, 0xF6], |
| 144 array); |
| 191 for (int i = 0; i < array.length; ++i) { | 145 for (int i = 0; i < array.length; ++i) { |
| 192 array[i] = i; | 146 array[i] = i; |
| 193 } | 147 } |
| 194 var copy = array.sublist(0, array.length); | 148 var copy = array.sublist(0, array.length); |
| 195 Expect.isFalse(identical(copy, array)); | 149 Expect.isFalse(identical(copy, array)); |
| 196 Expect.isTrue(copy is Uint8List); | 150 Expect.isTrue(copy is Uint8List); |
| 197 Expect.equals(10, copy.length); | 151 Expect.equals(10, copy.length); |
| 198 Expect.listEquals(array, copy); | 152 Expect.listEquals(array, copy); |
| 199 var empty = array.sublist(array.length, array.length); | 153 var empty = array.sublist(array.length, array.length); |
| 200 Expect.equals(0, empty.length); | 154 Expect.equals(0, empty.length); |
| 201 empty = array.sublist(array.length); | 155 empty = array.sublist(array.length); |
| 202 Expect.equals(0, empty.length); | 156 Expect.equals(0, empty.length); |
| 203 | 157 |
| 204 var region = array.sublist(3, array.length - 3); | 158 var region = array.sublist(3, array.length - 3); |
| 205 Expect.isTrue(copy is Uint8List); | 159 Expect.isTrue(copy is Uint8List); |
| 206 Expect.equals(4, region.length); | 160 Expect.equals(4, region.length); |
| 207 Expect.listEquals([3, 4, 5, 6], region); | 161 Expect.listEquals([3, 4, 5, 6], region); |
| 208 array.setRange(3, 7, [257, 0, 1, 255]); | 162 array.setRange(3, 7, [257, 0, 1, 255]); |
| 209 Expect.listEquals([0, 1, 2, 1, 0, 1, 255, 7, 8, 9], array); | 163 Expect.listEquals([0, 1, 2, 1, 0, 1, 255, 7, 8, 9], |
| 164 array); |
| 210 } | 165 } |
| 211 | 166 |
| 212 static testUint8List() { | 167 static testUint8List() { |
| 213 Expect.throws(() { | 168 Expect.throws(() { new Uint8List(-1); }, |
| 214 new Uint8List(-1); | 169 (e) { return e is ArgumentError; }); |
| 215 }, (e) { | |
| 216 return e is ArgumentError; | |
| 217 }); | |
| 218 var array = new Uint8List(10); | 170 var array = new Uint8List(10); |
| 219 testUint8ListImpl(array); | 171 testUint8ListImpl(array); |
| 220 } | 172 } |
| 221 | 173 |
| 222 static testUint8ClampedListImpl(Uint8ClampedList array) { | 174 static testUint8ClampedListImpl(Uint8ClampedList array) { |
| 223 Expect.isTrue(array is List<int>); | 175 Expect.isTrue(array is List<int>); |
| 224 Expect.equals(10, array.length); | 176 Expect.equals(10, array.length); |
| 225 Expect.equals(1, array.elementSizeInBytes); | 177 Expect.equals(1, array.elementSizeInBytes); |
| 226 Expect.equals(10, array.lengthInBytes); | 178 Expect.equals(10, array.lengthInBytes); |
| 227 Expect.listEquals([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], array); | 179 Expect.listEquals([0, 0, 0, 0, 0, |
| 228 Expect.throws(() { | 180 0, 0, 0, 0, 0], |
| 229 array[-1] = 0; | 181 array); |
| 230 }, (e) { | 182 Expect.throws(() { array[-1] = 0; }, |
| 231 return e is RangeError; | 183 (e) { return e is RangeError; }); |
| 232 }); | 184 Expect.throws(() { return array[-1]; }, |
| 233 Expect.throws(() { | 185 (e) { return e is RangeError; }); |
| 234 return array[-1]; | 186 Expect.throws(() { array[10]; }, |
| 235 }, (e) { | 187 (e) { return e is RangeError; }); |
| 236 return e is RangeError; | 188 Expect.throws(() { array[10] = 0; }, |
| 237 }); | 189 (e) { return e is RangeError; }); |
| 238 Expect.throws(() { | 190 Expect.throws(() { array.add(0); }, |
| 239 array[10]; | 191 (e) { return e is UnsupportedError; }); |
| 240 }, (e) { | 192 Expect.throws(() { array.addAll([0]); }, |
| 241 return e is RangeError; | 193 (e) { return e is UnsupportedError; }); |
| 242 }); | 194 Expect.throws(() { array.clear(); }, |
| 243 Expect.throws(() { | 195 (e) { return e is UnsupportedError; }); |
| 244 array[10] = 0; | 196 Expect.throws(() { array.length = 0; }, |
| 245 }, (e) { | 197 (e) { return e is UnsupportedError; }); |
| 246 return e is RangeError; | 198 Expect.throws(() { array.removeLast(); }, |
| 247 }); | 199 (e) { return e is UnsupportedError; }); |
| 248 Expect.throws(() { | 200 Expect.throws(() { array.removeRange(0, array.length - 1); }, |
| 249 array.add(0); | 201 (e) { return e is UnsupportedError; }); |
| 250 }, (e) { | |
| 251 return e is UnsupportedError; | |
| 252 }); | |
| 253 Expect.throws(() { | |
| 254 array.addAll([0]); | |
| 255 }, (e) { | |
| 256 return e is UnsupportedError; | |
| 257 }); | |
| 258 Expect.throws(() { | |
| 259 array.clear(); | |
| 260 }, (e) { | |
| 261 return e is UnsupportedError; | |
| 262 }); | |
| 263 Expect.throws(() { | |
| 264 array.length = 0; | |
| 265 }, (e) { | |
| 266 return e is UnsupportedError; | |
| 267 }); | |
| 268 Expect.throws(() { | |
| 269 array.removeLast(); | |
| 270 }, (e) { | |
| 271 return e is UnsupportedError; | |
| 272 }); | |
| 273 Expect.throws(() { | |
| 274 array.removeRange(0, array.length - 1); | |
| 275 }, (e) { | |
| 276 return e is UnsupportedError; | |
| 277 }); | |
| 278 for (int i = 0; i < array.length; ++i) { | 202 for (int i = 0; i < array.length; ++i) { |
| 279 array[i] = -1 + i; | 203 array[i] = -1 + i; |
| 280 } | 204 } |
| 281 Expect.listEquals([0, 0, 1, 2, 3, 4, 5, 6, 7, 8], array); | 205 Expect.listEquals([0, 0, 1, 2, 3, 4, 5, 6, 7, 8], array); |
| 282 for (int i = 0; i < array.length; ++i) { | 206 for (int i = 0; i < array.length; ++i) { |
| 283 array[i] = 0x100 + i; | 207 array[i] = 0x100 + i; |
| 284 } | 208 } |
| 285 Expect | 209 Expect.listEquals([255, 255, 255, 255, 255, 255, 255, 255, 255, 255], |
| 286 .listEquals([255, 255, 255, 255, 255, 255, 255, 255, 255, 255], array); | 210 array); |
| 287 for (int i = 0; i < array.length; ++i) { | 211 for (int i = 0; i < array.length; ++i) { |
| 288 array[i] = 0xFF - i; | 212 array[i] = 0xFF - i; |
| 289 } | 213 } |
| 290 Expect.listEquals( | 214 Expect.listEquals([0xFF, 0xFE, 0xFD, 0xFC, 0xFB, |
| 291 [0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, 0xF7, 0xF6], array); | 215 0xFA, 0xF9, 0xF8, 0xF7, 0xF6], |
| 216 array); |
| 292 for (int i = 0; i < array.length; ++i) { | 217 for (int i = 0; i < array.length; ++i) { |
| 293 array[i] = i; | 218 array[i] = i; |
| 294 } | 219 } |
| 295 var copy = array.sublist(0, array.length); | 220 var copy = array.sublist(0, array.length); |
| 296 Expect.isFalse(identical(copy, array)); | 221 Expect.isFalse(identical(copy, array)); |
| 297 Expect.isTrue(copy is Uint8ClampedList); | 222 Expect.isTrue(copy is Uint8ClampedList); |
| 298 Expect.equals(10, copy.length); | 223 Expect.equals(10, copy.length); |
| 299 Expect.listEquals(array, copy); | 224 Expect.listEquals(array, copy); |
| 300 var empty = array.sublist(array.length, array.length); | 225 var empty = array.sublist(array.length, array.length); |
| 301 Expect.equals(0, empty.length); | 226 Expect.equals(0, empty.length); |
| 302 empty = array.sublist(array.length); | 227 empty = array.sublist(array.length); |
| 303 Expect.equals(0, empty.length); | 228 Expect.equals(0, empty.length); |
| 304 | 229 |
| 305 var region = array.sublist(3, array.length - 3); | 230 var region = array.sublist(3, array.length - 3); |
| 306 Expect.isTrue(copy is Uint8ClampedList); | 231 Expect.isTrue(copy is Uint8ClampedList); |
| 307 Expect.equals(4, region.length); | 232 Expect.equals(4, region.length); |
| 308 Expect.listEquals([3, 4, 5, 6], region); | 233 Expect.listEquals([3, 4, 5, 6], region); |
| 309 array.setRange(3, 7, [257, 0, 1, 255]); | 234 array.setRange(3, 7, [257, 0, 1, 255]); |
| 310 Expect.listEquals([0, 1, 2, 255, 0, 1, 255, 7, 8, 9], array); | 235 Expect.listEquals([0, 1, 2, 255, 0, 1, 255, 7, 8, 9], array); |
| 311 } | 236 } |
| 312 | 237 |
| 313 static testUint8ClampedList() { | 238 static testUint8ClampedList() { |
| 314 Expect.throws(() { | 239 Expect.throws(() { new Uint8ClampedList(-1); }, |
| 315 new Uint8ClampedList(-1); | 240 (e) { return e is ArgumentError; }); |
| 316 }, (e) { | |
| 317 return e is ArgumentError; | |
| 318 }); | |
| 319 var array = new Uint8ClampedList(10); | 241 var array = new Uint8ClampedList(10); |
| 320 testUint8ClampedListImpl(array); | 242 testUint8ClampedListImpl(array); |
| 321 } | 243 } |
| 322 | 244 |
| 323 static testInt16ListImpl(Int16List array) { | 245 static testInt16ListImpl(Int16List array) { |
| 324 Expect.isTrue(array is List<int>); | 246 Expect.isTrue(array is List<int>); |
| 325 Expect.equals(10, array.length); | 247 Expect.equals(10, array.length); |
| 326 Expect.equals(2, array.elementSizeInBytes); | 248 Expect.equals(2, array.elementSizeInBytes); |
| 327 Expect.equals(20, array.lengthInBytes); | 249 Expect.equals(20, array.lengthInBytes); |
| 328 Expect.listEquals([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], array); | 250 Expect.listEquals([0, 0, 0, 0, 0, |
| 329 Expect.throws(() { | 251 0, 0, 0, 0, 0], |
| 330 array[-1] = 0; | 252 array); |
| 331 }, (e) { | 253 Expect.throws(() { array[-1] = 0; }, |
| 332 return e is RangeError; | 254 (e) { return e is RangeError; }); |
| 333 }); | 255 Expect.throws(() { return array[-1]; }, |
| 334 Expect.throws(() { | 256 (e) { return e is RangeError; }); |
| 335 return array[-1]; | 257 Expect.throws(() { array[10]; }, |
| 336 }, (e) { | 258 (e) { return e is RangeError; }); |
| 337 return e is RangeError; | 259 Expect.throws(() { array[10] = 0; }, |
| 338 }); | 260 (e) { return e is RangeError; }); |
| 339 Expect.throws(() { | 261 Expect.throws(() { array.add(0); }, |
| 340 array[10]; | 262 (e) { return e is UnsupportedError; }); |
| 341 }, (e) { | 263 Expect.throws(() { array.addAll([0]); }, |
| 342 return e is RangeError; | 264 (e) { return e is UnsupportedError; }); |
| 343 }); | 265 Expect.throws(() { array.clear(); }, |
| 344 Expect.throws(() { | 266 (e) { return e is UnsupportedError; }); |
| 345 array[10] = 0; | 267 Expect.throws(() { array.length = 0; }, |
| 346 }, (e) { | 268 (e) { return e is UnsupportedError; }); |
| 347 return e is RangeError; | 269 Expect.throws(() { array.removeLast(); }, |
| 348 }); | 270 (e) { return e is UnsupportedError; }); |
| 349 Expect.throws(() { | 271 Expect.throws(() { array.removeRange(0, array.length - 1); }, |
| 350 array.add(0); | 272 (e) { return e is UnsupportedError; }); |
| 351 }, (e) { | |
| 352 return e is UnsupportedError; | |
| 353 }); | |
| 354 Expect.throws(() { | |
| 355 array.addAll([0]); | |
| 356 }, (e) { | |
| 357 return e is UnsupportedError; | |
| 358 }); | |
| 359 Expect.throws(() { | |
| 360 array.clear(); | |
| 361 }, (e) { | |
| 362 return e is UnsupportedError; | |
| 363 }); | |
| 364 Expect.throws(() { | |
| 365 array.length = 0; | |
| 366 }, (e) { | |
| 367 return e is UnsupportedError; | |
| 368 }); | |
| 369 Expect.throws(() { | |
| 370 array.removeLast(); | |
| 371 }, (e) { | |
| 372 return e is UnsupportedError; | |
| 373 }); | |
| 374 Expect.throws(() { | |
| 375 array.removeRange(0, array.length - 1); | |
| 376 }, (e) { | |
| 377 return e is UnsupportedError; | |
| 378 }); | |
| 379 for (int i = 0; i < array.length; ++i) { | 273 for (int i = 0; i < array.length; ++i) { |
| 380 array[i] = 1 + i; | 274 array[i] = 1 + i; |
| 381 } | 275 } |
| 382 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], array); | 276 Expect.listEquals([1, 2, 3, 4, 5, |
| 277 6, 7, 8, 9, 10], |
| 278 array); |
| 383 for (int i = 0; i < array.length; ++i) { | 279 for (int i = 0; i < array.length; ++i) { |
| 384 array[i] = 0x10000 + i; | 280 array[i] = 0x10000 + i; |
| 385 } | 281 } |
| 386 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], array); | 282 Expect.listEquals([0, 1, 2, 3, 4, |
| 283 5, 6, 7, 8, 9], |
| 284 array); |
| 387 for (int i = 0; i < array.length; ++i) { | 285 for (int i = 0; i < array.length; ++i) { |
| 388 array[i] = -10 + i; | 286 array[i] = -10 + i; |
| 389 } | 287 } |
| 390 Expect.listEquals([-10, -9, -8, -7, -6, -5, -4, -3, -2, -1], array); | 288 Expect.listEquals([-10, -9, -8, -7, -6, |
| 289 -5, -4, -3, -2, -1], |
| 290 array); |
| 391 for (int i = 0; i < array.length; ++i) { | 291 for (int i = 0; i < array.length; ++i) { |
| 392 array[i] = 0x7FFF - i; | 292 array[i] = 0x7FFF - i; |
| 393 } | 293 } |
| 394 Expect.listEquals([ | 294 Expect.listEquals([0x7FFF, 0x7FFE, 0x7FFD, 0x7FFC, 0x7FFB, |
| 395 0x7FFF, | 295 0x7FFA, 0x7FF9, 0x7FF8, 0x7FF7, 0x7FF6], |
| 396 0x7FFE, | 296 array); |
| 397 0x7FFD, | |
| 398 0x7FFC, | |
| 399 0x7FFB, | |
| 400 0x7FFA, | |
| 401 0x7FF9, | |
| 402 0x7FF8, | |
| 403 0x7FF7, | |
| 404 0x7FF6 | |
| 405 ], array); | |
| 406 for (int i = 0; i < array.length; ++i) { | 297 for (int i = 0; i < array.length; ++i) { |
| 407 array[i] = -0x8000 + i; | 298 array[i] = -0x8000 + i; |
| 408 } | 299 } |
| 409 Expect.listEquals([ | 300 Expect.listEquals([-0x8000, -0x7FFF, -0x7FFE, -0x7FFD, -0x7FFC, |
| 410 -0x8000, | 301 -0x7FFB, -0x7FFA, -0x7FF9, -0x7FF8, -0x7FF7], |
| 411 -0x7FFF, | 302 array); |
| 412 -0x7FFE, | |
| 413 -0x7FFD, | |
| 414 -0x7FFC, | |
| 415 -0x7FFB, | |
| 416 -0x7FFA, | |
| 417 -0x7FF9, | |
| 418 -0x7FF8, | |
| 419 -0x7FF7 | |
| 420 ], array); | |
| 421 for (int i = 0; i < array.length; ++i) { | 303 for (int i = 0; i < array.length; ++i) { |
| 422 array[i] = i; | 304 array[i] = i; |
| 423 } | 305 } |
| 424 var copy = array.sublist(0, array.length); | 306 var copy = array.sublist(0, array.length); |
| 425 Expect.isFalse(identical(copy, array)); | 307 Expect.isFalse(identical(copy, array)); |
| 426 Expect.isTrue(copy is Int16List); | 308 Expect.isTrue(copy is Int16List); |
| 427 Expect.equals(10, copy.length); | 309 Expect.equals(10, copy.length); |
| 428 Expect.listEquals(array, copy); | 310 Expect.listEquals(array, copy); |
| 429 var empty = array.sublist(array.length, array.length); | 311 var empty = array.sublist(array.length, array.length); |
| 430 Expect.equals(0, empty.length); | 312 Expect.equals(0, empty.length); |
| 431 empty = array.sublist(array.length); | 313 empty = array.sublist(array.length); |
| 432 Expect.equals(0, empty.length); | 314 Expect.equals(0, empty.length); |
| 433 | 315 |
| 434 var region = array.sublist(3, array.length - 3); | 316 var region = array.sublist(3, array.length - 3); |
| 435 Expect.isTrue(copy is Int16List); | 317 Expect.isTrue(copy is Int16List); |
| 436 Expect.equals(4, region.length); | 318 Expect.equals(4, region.length); |
| 437 Expect.listEquals([3, 4, 5, 6], region); | 319 Expect.listEquals([3, 4, 5, 6], region); |
| 438 array.setRange(3, 7, [-32768, 0, 1, 32767]); | 320 array.setRange(3, 7, [-32768, 0, 1, 32767]); |
| 439 Expect.listEquals([0, 1, 2, -32768, 0, 1, 32767, 7, 8, 9], array); | 321 Expect.listEquals([0, 1, 2, -32768, 0, 1, 32767, 7, 8, 9], |
| 322 array); |
| 440 } | 323 } |
| 441 | 324 |
| 442 static testInt16List() { | 325 static testInt16List() { |
| 443 Expect.throws(() { | 326 Expect.throws(() { new Int16List(-1); }, |
| 444 new Int16List(-1); | 327 (e) { return e is ArgumentError; }); |
| 445 }, (e) { | |
| 446 return e is ArgumentError; | |
| 447 }); | |
| 448 var array = new Int16List(10); | 328 var array = new Int16List(10); |
| 449 testInt16ListImpl(array); | 329 testInt16ListImpl(array); |
| 450 } | 330 } |
| 451 | 331 |
| 452 static testUint16ListImpl(Uint16List array) { | 332 static testUint16ListImpl(Uint16List array) { |
| 453 Expect.isTrue(array is List<int>); | 333 Expect.isTrue(array is List<int>); |
| 454 Expect.equals(10, array.length); | 334 Expect.equals(10, array.length); |
| 455 Expect.equals(2, array.elementSizeInBytes); | 335 Expect.equals(2, array.elementSizeInBytes); |
| 456 Expect.equals(20, array.lengthInBytes); | 336 Expect.equals(20, array.lengthInBytes); |
| 457 Expect.listEquals([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], array); | 337 Expect.listEquals([0, 0, 0, 0, 0, |
| 458 Expect.throws(() { | 338 0, 0, 0, 0, 0], |
| 459 array[-1] = 0; | 339 array); |
| 460 }, (e) { | 340 Expect.throws(() { array[-1] = 0; }, |
| 461 return e is RangeError; | 341 (e) { return e is RangeError; }); |
| 462 }); | 342 Expect.throws(() { return array[-1]; }, |
| 463 Expect.throws(() { | 343 (e) { return e is RangeError; }); |
| 464 return array[-1]; | 344 Expect.throws(() { array[10]; }, |
| 465 }, (e) { | 345 (e) { return e is RangeError; }); |
| 466 return e is RangeError; | 346 Expect.throws(() { array[10] = 0; }, |
| 467 }); | 347 (e) { return e is RangeError; }); |
| 468 Expect.throws(() { | 348 Expect.throws(() { array.add(0); }, |
| 469 array[10]; | 349 (e) { return e is UnsupportedError; }); |
| 470 }, (e) { | 350 Expect.throws(() { array.addAll([0]); }, |
| 471 return e is RangeError; | 351 (e) { return e is UnsupportedError; }); |
| 472 }); | 352 Expect.throws(() { array.clear(); }, |
| 473 Expect.throws(() { | 353 (e) { return e is UnsupportedError; }); |
| 474 array[10] = 0; | 354 Expect.throws(() { array.length = 0; }, |
| 475 }, (e) { | 355 (e) { return e is UnsupportedError; }); |
| 476 return e is RangeError; | 356 Expect.throws(() { array.removeLast(); }, |
| 477 }); | 357 (e) { return e is UnsupportedError; }); |
| 478 Expect.throws(() { | 358 Expect.throws(() { array.removeRange(0, array.length - 1); }, |
| 479 array.add(0); | 359 (e) { return e is UnsupportedError; }); |
| 480 }, (e) { | |
| 481 return e is UnsupportedError; | |
| 482 }); | |
| 483 Expect.throws(() { | |
| 484 array.addAll([0]); | |
| 485 }, (e) { | |
| 486 return e is UnsupportedError; | |
| 487 }); | |
| 488 Expect.throws(() { | |
| 489 array.clear(); | |
| 490 }, (e) { | |
| 491 return e is UnsupportedError; | |
| 492 }); | |
| 493 Expect.throws(() { | |
| 494 array.length = 0; | |
| 495 }, (e) { | |
| 496 return e is UnsupportedError; | |
| 497 }); | |
| 498 Expect.throws(() { | |
| 499 array.removeLast(); | |
| 500 }, (e) { | |
| 501 return e is UnsupportedError; | |
| 502 }); | |
| 503 Expect.throws(() { | |
| 504 array.removeRange(0, array.length - 1); | |
| 505 }, (e) { | |
| 506 return e is UnsupportedError; | |
| 507 }); | |
| 508 for (int i = 0; i < array.length; ++i) { | 360 for (int i = 0; i < array.length; ++i) { |
| 509 array[i] = 1 + i; | 361 array[i] = 1 + i; |
| 510 } | 362 } |
| 511 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], array); | 363 Expect.listEquals([1, 2, 3, 4, 5, |
| 364 6, 7, 8, 9, 10], |
| 365 array); |
| 512 for (int i = 0; i < array.length; ++i) { | 366 for (int i = 0; i < array.length; ++i) { |
| 513 array[i] = 0x10000 + i; | 367 array[i] = 0x10000 + i; |
| 514 } | 368 } |
| 515 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], array); | 369 Expect.listEquals([0, 1, 2, 3, 4, |
| 370 5, 6, 7, 8, 9], |
| 371 array); |
| 516 for (int i = 0; i < array.length; ++i) { | 372 for (int i = 0; i < array.length; ++i) { |
| 517 array[i] = 0xFFFF - i; | 373 array[i] = 0xFFFF - i; |
| 518 } | 374 } |
| 519 Expect.listEquals([ | 375 Expect.listEquals([0xFFFF, 0xFFFE, 0xFFFD, 0xFFFC, 0xFFFB, |
| 520 0xFFFF, | 376 0xFFFA, 0xFFF9, 0xFFF8, 0xFFF7, 0xFFF6], |
| 521 0xFFFE, | 377 array); |
| 522 0xFFFD, | |
| 523 0xFFFC, | |
| 524 0xFFFB, | |
| 525 0xFFFA, | |
| 526 0xFFF9, | |
| 527 0xFFF8, | |
| 528 0xFFF7, | |
| 529 0xFFF6 | |
| 530 ], array); | |
| 531 for (int i = 0; i < array.length; ++i) { | 378 for (int i = 0; i < array.length; ++i) { |
| 532 array[i] = i; | 379 array[i] = i; |
| 533 } | 380 } |
| 534 var copy = array.sublist(0, array.length); | 381 var copy = array.sublist(0, array.length); |
| 535 Expect.isFalse(identical(copy, array)); | 382 Expect.isFalse(identical(copy, array)); |
| 536 Expect.isTrue(copy is Uint16List); | 383 Expect.isTrue(copy is Uint16List); |
| 537 Expect.equals(10, copy.length); | 384 Expect.equals(10, copy.length); |
| 538 Expect.listEquals(array, copy); | 385 Expect.listEquals(array, copy); |
| 539 var empty = array.sublist(array.length, array.length); | 386 var empty = array.sublist(array.length, array.length); |
| 540 Expect.equals(0, empty.length); | 387 Expect.equals(0, empty.length); |
| 541 empty = array.sublist(array.length); | 388 empty = array.sublist(array.length); |
| 542 Expect.equals(0, empty.length); | 389 Expect.equals(0, empty.length); |
| 543 | 390 |
| 544 var region = array.sublist(3, array.length - 3); | 391 var region = array.sublist(3, array.length - 3); |
| 545 Expect.isTrue(copy is Uint16List); | 392 Expect.isTrue(copy is Uint16List); |
| 546 Expect.equals(4, region.length); | 393 Expect.equals(4, region.length); |
| 547 Expect.listEquals([3, 4, 5, 6], region); | 394 Expect.listEquals([3, 4, 5, 6], region); |
| 548 array.setRange(3, 7, [0x10001, 0, 1, 0xFFFF]); | 395 array.setRange(3, 7, [0x10001, 0, 1, 0xFFFF]); |
| 549 Expect.listEquals([0, 1, 2, 1, 0, 1, 0xFFFF, 7, 8, 9], array); | 396 Expect.listEquals([0, 1, 2, 1, 0, 1, 0xFFFF, 7, 8, 9], |
| 397 array); |
| 550 } | 398 } |
| 551 | 399 |
| 552 static testUint16List() { | 400 static testUint16List() { |
| 553 Expect.throws(() { | 401 Expect.throws(() { new Uint16List(-1); }, |
| 554 new Uint16List(-1); | 402 (e) { return e is ArgumentError; }); |
| 555 }, (e) { | |
| 556 return e is ArgumentError; | |
| 557 }); | |
| 558 var array = new Uint16List(10); | 403 var array = new Uint16List(10); |
| 559 testUint16ListImpl(array); | 404 testUint16ListImpl(array); |
| 560 } | 405 } |
| 561 | 406 |
| 562 static testInt32ListImpl(Int32List array) { | 407 static testInt32ListImpl(Int32List array) { |
| 563 Expect.isTrue(array is List<int>); | 408 Expect.isTrue(array is List<int>); |
| 564 Expect.equals(10, array.length); | 409 Expect.equals(10, array.length); |
| 565 Expect.equals(4, array.elementSizeInBytes); | 410 Expect.equals(4, array.elementSizeInBytes); |
| 566 Expect.equals(40, array.lengthInBytes); | 411 Expect.equals(40, array.lengthInBytes); |
| 567 Expect.listEquals([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], array); | 412 Expect.listEquals([0, 0, 0, 0, 0, |
| 568 Expect.throws(() { | 413 0, 0, 0, 0, 0], |
| 569 array[-1] = 0; | 414 array); |
| 570 }, (e) { | 415 Expect.throws(() { array[-1] = 0; }, |
| 571 return e is RangeError; | 416 (e) { return e is RangeError; }); |
| 572 }); | 417 Expect.throws(() { return array[-1]; }, |
| 573 Expect.throws(() { | 418 (e) { return e is RangeError; }); |
| 574 return array[-1]; | 419 Expect.throws(() { array[10]; }, |
| 575 }, (e) { | 420 (e) { return e is RangeError; }); |
| 576 return e is RangeError; | 421 Expect.throws(() { array[10] = 0; }, |
| 577 }); | 422 (e) { return e is RangeError; }); |
| 578 Expect.throws(() { | 423 Expect.throws(() { array.add(0); }, |
| 579 array[10]; | 424 (e) { return e is UnsupportedError; }); |
| 580 }, (e) { | 425 Expect.throws(() { array.addAll([0]); }, |
| 581 return e is RangeError; | 426 (e) { return e is UnsupportedError; }); |
| 582 }); | 427 Expect.throws(() { array.clear(); }, |
| 583 Expect.throws(() { | 428 (e) { return e is UnsupportedError; }); |
| 584 array[10] = 0; | 429 Expect.throws(() { array.length = 0; }, |
| 585 }, (e) { | 430 (e) { return e is UnsupportedError; }); |
| 586 return e is RangeError; | 431 Expect.throws(() { array.removeLast(); }, |
| 587 }); | 432 (e) { return e is UnsupportedError; }); |
| 588 Expect.throws(() { | 433 Expect.throws(() { array.removeRange(0, array.length - 1); }, |
| 589 array.add(0); | 434 (e) { return e is UnsupportedError; }); |
| 590 }, (e) { | |
| 591 return e is UnsupportedError; | |
| 592 }); | |
| 593 Expect.throws(() { | |
| 594 array.addAll([0]); | |
| 595 }, (e) { | |
| 596 return e is UnsupportedError; | |
| 597 }); | |
| 598 Expect.throws(() { | |
| 599 array.clear(); | |
| 600 }, (e) { | |
| 601 return e is UnsupportedError; | |
| 602 }); | |
| 603 Expect.throws(() { | |
| 604 array.length = 0; | |
| 605 }, (e) { | |
| 606 return e is UnsupportedError; | |
| 607 }); | |
| 608 Expect.throws(() { | |
| 609 array.removeLast(); | |
| 610 }, (e) { | |
| 611 return e is UnsupportedError; | |
| 612 }); | |
| 613 Expect.throws(() { | |
| 614 array.removeRange(0, array.length - 1); | |
| 615 }, (e) { | |
| 616 return e is UnsupportedError; | |
| 617 }); | |
| 618 for (int i = 0; i < array.length; ++i) { | 435 for (int i = 0; i < array.length; ++i) { |
| 619 array[i] = 1 + i; | 436 array[i] = 1 + i; |
| 620 } | 437 } |
| 621 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], array); | 438 Expect.listEquals([1, 2, 3, 4, 5, |
| 439 6, 7, 8, 9, 10], |
| 440 array); |
| 622 for (int i = 0; i < array.length; ++i) { | 441 for (int i = 0; i < array.length; ++i) { |
| 623 array[i] = 0x100000000 + i; | 442 array[i] = 0x100000000 + i; |
| 624 } | 443 } |
| 625 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], array); | 444 Expect.listEquals([0, 1, 2, 3, 4, |
| 445 5, 6, 7, 8, 9], |
| 446 array); |
| 626 for (int i = 0; i < array.length; ++i) { | 447 for (int i = 0; i < array.length; ++i) { |
| 627 array[i] = -10 + i; | 448 array[i] = -10 + i; |
| 628 } | 449 } |
| 629 Expect.listEquals([-10, -9, -8, -7, -6, -5, -4, -3, -2, -1], array); | 450 Expect.listEquals([-10, -9, -8, -7, -6, |
| 451 -5, -4, -3, -2, -1], |
| 452 array); |
| 630 for (int i = 0; i < array.length; ++i) { | 453 for (int i = 0; i < array.length; ++i) { |
| 631 array[i] = 0x7FFFFFFF - i; | 454 array[i] = 0x7FFFFFFF - i; |
| 632 } | 455 } |
| 633 Expect.listEquals([ | 456 Expect.listEquals([0x7FFFFFFF, 0x7FFFFFFE, |
| 634 0x7FFFFFFF, | 457 0x7FFFFFFD, 0x7FFFFFFC, |
| 635 0x7FFFFFFE, | 458 0x7FFFFFFB, 0x7FFFFFFA, |
| 636 0x7FFFFFFD, | 459 0x7FFFFFF9, 0x7FFFFFF8, |
| 637 0x7FFFFFFC, | 460 0x7FFFFFF7, 0x7FFFFFF6], |
| 638 0x7FFFFFFB, | 461 array); |
| 639 0x7FFFFFFA, | |
| 640 0x7FFFFFF9, | |
| 641 0x7FFFFFF8, | |
| 642 0x7FFFFFF7, | |
| 643 0x7FFFFFF6 | |
| 644 ], array); | |
| 645 for (int i = 0; i < array.length; ++i) { | 462 for (int i = 0; i < array.length; ++i) { |
| 646 array[i] = -0x80000000 + i; | 463 array[i] = -0x80000000 + i; |
| 647 } | 464 } |
| 648 Expect.listEquals([ | 465 Expect.listEquals([-0x80000000, -0x7FFFFFFF, |
| 649 -0x80000000, | 466 -0x7FFFFFFE, -0x7FFFFFFD, |
| 650 -0x7FFFFFFF, | 467 -0x7FFFFFFC, -0x7FFFFFFB, |
| 651 -0x7FFFFFFE, | 468 -0x7FFFFFFA, -0x7FFFFFF9, |
| 652 -0x7FFFFFFD, | 469 -0x7FFFFFF8, -0x7FFFFFF7], |
| 653 -0x7FFFFFFC, | 470 array); |
| 654 -0x7FFFFFFB, | |
| 655 -0x7FFFFFFA, | |
| 656 -0x7FFFFFF9, | |
| 657 -0x7FFFFFF8, | |
| 658 -0x7FFFFFF7 | |
| 659 ], array); | |
| 660 for (int i = 0; i < array.length; ++i) { | 471 for (int i = 0; i < array.length; ++i) { |
| 661 array[i] = i; | 472 array[i] = i; |
| 662 } | 473 } |
| 663 var copy = array.sublist(0, array.length); | 474 var copy = array.sublist(0, array.length); |
| 664 Expect.isFalse(identical(copy, array)); | 475 Expect.isFalse(identical(copy, array)); |
| 665 Expect.isTrue(copy is Int32List); | 476 Expect.isTrue(copy is Int32List); |
| 666 Expect.equals(10, copy.length); | 477 Expect.equals(10, copy.length); |
| 667 Expect.listEquals(array, copy); | 478 Expect.listEquals(array, copy); |
| 668 var empty = array.sublist(array.length, array.length); | 479 var empty = array.sublist(array.length, array.length); |
| 669 Expect.equals(0, empty.length); | 480 Expect.equals(0, empty.length); |
| 670 empty = array.sublist(array.length); | 481 empty = array.sublist(array.length); |
| 671 Expect.equals(0, empty.length); | 482 Expect.equals(0, empty.length); |
| 672 | 483 |
| 673 var region = array.sublist(3, array.length - 3); | 484 var region = array.sublist(3, array.length - 3); |
| 674 Expect.isTrue(copy is Int32List); | 485 Expect.isTrue(copy is Int32List); |
| 675 Expect.equals(4, region.length); | 486 Expect.equals(4, region.length); |
| 676 Expect.listEquals([3, 4, 5, 6], region); | 487 Expect.listEquals([3, 4, 5, 6], region); |
| 677 array.setRange(3, 7, [-0x80000000, 0, 1, 0x7FFFFFFF]); | 488 array.setRange(3, 7, [-0x80000000, 0, 1, 0x7FFFFFFF]); |
| 678 Expect.listEquals([0, 1, 2, -0x80000000, 0, 1, 0x7FFFFFFF, 7, 8, 9], array); | 489 Expect.listEquals([0, 1, 2, -0x80000000, 0, 1, 0x7FFFFFFF, 7, 8, 9], |
| 490 array); |
| 679 } | 491 } |
| 680 | 492 |
| 681 static testInt32List() { | 493 static testInt32List() { |
| 682 Expect.throws(() { | 494 Expect.throws(() { new Int32List(-1); }, |
| 683 new Int32List(-1); | 495 (e) { return e is ArgumentError; }); |
| 684 }, (e) { | |
| 685 return e is ArgumentError; | |
| 686 }); | |
| 687 var array = new Int32List(10); | 496 var array = new Int32List(10); |
| 688 testInt32ListImpl(array); | 497 testInt32ListImpl(array); |
| 689 } | 498 } |
| 690 | 499 |
| 691 static testUint32ListImpl(Uint32List array) { | 500 static testUint32ListImpl(Uint32List array) { |
| 692 Expect.isTrue(array is List<int>); | 501 Expect.isTrue(array is List<int>); |
| 693 Expect.equals(10, array.length); | 502 Expect.equals(10, array.length); |
| 694 Expect.equals(4, array.elementSizeInBytes); | 503 Expect.equals(4, array.elementSizeInBytes); |
| 695 Expect.equals(40, array.lengthInBytes); | 504 Expect.equals(40, array.lengthInBytes); |
| 696 Expect.listEquals([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], array); | 505 Expect.listEquals([0, 0, 0, 0, 0, |
| 697 Expect.throws(() { | 506 0, 0, 0, 0, 0], |
| 698 array[-1] = 0; | 507 array); |
| 699 }, (e) { | 508 Expect.throws(() { array[-1] = 0; }, |
| 700 return e is RangeError; | 509 (e) { return e is RangeError; }); |
| 701 }); | 510 Expect.throws(() { return array[-1]; }, |
| 702 Expect.throws(() { | 511 (e) { return e is RangeError; }); |
| 703 return array[-1]; | 512 Expect.throws(() { array[10]; }, |
| 704 }, (e) { | 513 (e) { return e is RangeError; }); |
| 705 return e is RangeError; | 514 Expect.throws(() { array[10] = 0; }, |
| 706 }); | 515 (e) { return e is RangeError; }); |
| 707 Expect.throws(() { | 516 Expect.throws(() { array.add(0); }, |
| 708 array[10]; | 517 (e) { return e is UnsupportedError; }); |
| 709 }, (e) { | 518 Expect.throws(() { array.addAll([0]); }, |
| 710 return e is RangeError; | 519 (e) { return e is UnsupportedError; }); |
| 711 }); | 520 Expect.throws(() { array.clear(); }, |
| 712 Expect.throws(() { | 521 (e) { return e is UnsupportedError; }); |
| 713 array[10] = 0; | 522 Expect.throws(() { array.length = 0; }, |
| 714 }, (e) { | 523 (e) { return e is UnsupportedError; }); |
| 715 return e is RangeError; | 524 Expect.throws(() { array.removeLast(); }, |
| 716 }); | 525 (e) { return e is UnsupportedError; }); |
| 717 Expect.throws(() { | 526 Expect.throws(() { array.removeRange(0, array.length - 1); }, |
| 718 array.add(0); | 527 (e) { return e is UnsupportedError; }); |
| 719 }, (e) { | |
| 720 return e is UnsupportedError; | |
| 721 }); | |
| 722 Expect.throws(() { | |
| 723 array.addAll([0]); | |
| 724 }, (e) { | |
| 725 return e is UnsupportedError; | |
| 726 }); | |
| 727 Expect.throws(() { | |
| 728 array.clear(); | |
| 729 }, (e) { | |
| 730 return e is UnsupportedError; | |
| 731 }); | |
| 732 Expect.throws(() { | |
| 733 array.length = 0; | |
| 734 }, (e) { | |
| 735 return e is UnsupportedError; | |
| 736 }); | |
| 737 Expect.throws(() { | |
| 738 array.removeLast(); | |
| 739 }, (e) { | |
| 740 return e is UnsupportedError; | |
| 741 }); | |
| 742 Expect.throws(() { | |
| 743 array.removeRange(0, array.length - 1); | |
| 744 }, (e) { | |
| 745 return e is UnsupportedError; | |
| 746 }); | |
| 747 for (int i = 0; i < array.length; ++i) { | 528 for (int i = 0; i < array.length; ++i) { |
| 748 array[i] = 1 + i; | 529 array[i] = 1 + i; |
| 749 } | 530 } |
| 750 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], array); | 531 Expect.listEquals([1, 2, 3, 4, 5, |
| 532 6, 7, 8, 9, 10], |
| 533 array); |
| 751 for (int i = 0; i < array.length; ++i) { | 534 for (int i = 0; i < array.length; ++i) { |
| 752 array[i] = 0x100000000 + i; | 535 array[i] = 0x100000000 + i; |
| 753 } | 536 } |
| 754 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], array); | 537 Expect.listEquals([0, 1, 2, 3, 4, |
| 538 5, 6, 7, 8, 9], |
| 539 array); |
| 755 for (int i = 0; i < array.length; ++i) { | 540 for (int i = 0; i < array.length; ++i) { |
| 756 array[i] = 0xFFFFFFFF - i; | 541 array[i] = 0xFFFFFFFF - i; |
| 757 } | 542 } |
| 758 Expect.listEquals([ | 543 Expect.listEquals([0xFFFFFFFF, 0xFFFFFFFE, |
| 759 0xFFFFFFFF, | 544 0xFFFFFFFD, 0xFFFFFFFC, |
| 760 0xFFFFFFFE, | 545 0xFFFFFFFB, 0xFFFFFFFA, |
| 761 0xFFFFFFFD, | 546 0xFFFFFFF9, 0xFFFFFFF8, |
| 762 0xFFFFFFFC, | 547 0xFFFFFFF7, 0xFFFFFFF6], |
| 763 0xFFFFFFFB, | 548 array); |
| 764 0xFFFFFFFA, | |
| 765 0xFFFFFFF9, | |
| 766 0xFFFFFFF8, | |
| 767 0xFFFFFFF7, | |
| 768 0xFFFFFFF6 | |
| 769 ], array); | |
| 770 for (int i = 0; i < array.length; ++i) { | 549 for (int i = 0; i < array.length; ++i) { |
| 771 array[i] = i; | 550 array[i] = i; |
| 772 } | 551 } |
| 773 var copy = array.sublist(0, array.length); | 552 var copy = array.sublist(0, array.length); |
| 774 Expect.isFalse(identical(copy, array)); | 553 Expect.isFalse(identical(copy, array)); |
| 775 Expect.isTrue(copy is Uint32List); | 554 Expect.isTrue(copy is Uint32List); |
| 776 Expect.equals(10, copy.length); | 555 Expect.equals(10, copy.length); |
| 777 Expect.listEquals(array, copy); | 556 Expect.listEquals(array, copy); |
| 778 var empty = array.sublist(array.length, array.length); | 557 var empty = array.sublist(array.length, array.length); |
| 779 Expect.equals(0, empty.length); | 558 Expect.equals(0, empty.length); |
| 780 empty = array.sublist(array.length); | 559 empty = array.sublist(array.length); |
| 781 Expect.equals(0, empty.length); | 560 Expect.equals(0, empty.length); |
| 782 | 561 |
| 783 var region = array.sublist(3, array.length - 3); | 562 var region = array.sublist(3, array.length - 3); |
| 784 Expect.isTrue(copy is Uint32List); | 563 Expect.isTrue(copy is Uint32List); |
| 785 Expect.equals(4, region.length); | 564 Expect.equals(4, region.length); |
| 786 Expect.listEquals([3, 4, 5, 6], region); | 565 Expect.listEquals([3, 4, 5, 6], region); |
| 787 array.setRange(3, 7, [0x100000001, 0, 1, 0xFFFFFFFF]); | 566 array.setRange(3, 7, [0x100000001, 0, 1, 0xFFFFFFFF]); |
| 788 Expect.listEquals([0, 1, 2, 1, 0, 1, 0xFFFFFFFF, 7, 8, 9], array); | 567 Expect.listEquals([0, 1, 2, 1, 0, 1, 0xFFFFFFFF, 7, 8, 9], |
| 568 array); |
| 789 } | 569 } |
| 790 | 570 |
| 791 static testUint32List() { | 571 static testUint32List() { |
| 792 Expect.throws(() { | 572 Expect.throws(() { new Uint32List(-1); }, |
| 793 new Uint32List(-1); | 573 (e) { return e is ArgumentError; }); |
| 794 }, (e) { | 574 Expect.throws(() { new Uint32List(-1); }, |
| 795 return e is ArgumentError; | 575 (e) { return e is ArgumentError; }); |
| 796 }); | |
| 797 Expect.throws(() { | |
| 798 new Uint32List(-1); | |
| 799 }, (e) { | |
| 800 return e is ArgumentError; | |
| 801 }); | |
| 802 var array = new Uint32List(10); | 576 var array = new Uint32List(10); |
| 803 testUint32ListImpl(array); | 577 testUint32ListImpl(array); |
| 578 |
| 804 } | 579 } |
| 805 | 580 |
| 806 static testInt64ListImpl(Int64List array) { | 581 static testInt64ListImpl(Int64List array) { |
| 807 Expect.isTrue(array is List<int>); | 582 Expect.isTrue(array is List<int>); |
| 808 Expect.equals(10, array.length); | 583 Expect.equals(10, array.length); |
| 809 Expect.equals(8, array.elementSizeInBytes); | 584 Expect.equals(8, array.elementSizeInBytes); |
| 810 Expect.equals(80, array.lengthInBytes); | 585 Expect.equals(80, array.lengthInBytes); |
| 811 Expect.listEquals([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], array); | 586 Expect.listEquals([0, 0, 0, 0, 0, |
| 812 Expect.throws(() { | 587 0, 0, 0, 0, 0], |
| 813 array[-1] = 0; | 588 array); |
| 814 }, (e) { | 589 Expect.throws(() { array[-1] = 0; }, |
| 815 return e is RangeError; | 590 (e) { return e is RangeError; }); |
| 816 }); | 591 Expect.throws(() { return array[-1]; }, |
| 817 Expect.throws(() { | 592 (e) { return e is RangeError; }); |
| 818 return array[-1]; | 593 Expect.throws(() { array[10]; }, |
| 819 }, (e) { | 594 (e) { return e is RangeError; }); |
| 820 return e is RangeError; | 595 Expect.throws(() { array[10] = 0; }, |
| 821 }); | 596 (e) { return e is RangeError; }); |
| 822 Expect.throws(() { | 597 Expect.throws(() { array.add(0); }, |
| 823 array[10]; | 598 (e) { return e is UnsupportedError; }); |
| 824 }, (e) { | 599 Expect.throws(() { array.addAll([0]); }, |
| 825 return e is RangeError; | 600 (e) { return e is UnsupportedError; }); |
| 826 }); | 601 Expect.throws(() { array.clear(); }, |
| 827 Expect.throws(() { | 602 (e) { return e is UnsupportedError; }); |
| 828 array[10] = 0; | 603 Expect.throws(() { array.length = 0; }, |
| 829 }, (e) { | 604 (e) { return e is UnsupportedError; }); |
| 830 return e is RangeError; | 605 Expect.throws(() { array.removeLast(); }, |
| 831 }); | 606 (e) { return e is UnsupportedError; }); |
| 832 Expect.throws(() { | 607 Expect.throws(() { array.removeRange(0, array.length - 1); }, |
| 833 array.add(0); | 608 (e) { return e is UnsupportedError; }); |
| 834 }, (e) { | |
| 835 return e is UnsupportedError; | |
| 836 }); | |
| 837 Expect.throws(() { | |
| 838 array.addAll([0]); | |
| 839 }, (e) { | |
| 840 return e is UnsupportedError; | |
| 841 }); | |
| 842 Expect.throws(() { | |
| 843 array.clear(); | |
| 844 }, (e) { | |
| 845 return e is UnsupportedError; | |
| 846 }); | |
| 847 Expect.throws(() { | |
| 848 array.length = 0; | |
| 849 }, (e) { | |
| 850 return e is UnsupportedError; | |
| 851 }); | |
| 852 Expect.throws(() { | |
| 853 array.removeLast(); | |
| 854 }, (e) { | |
| 855 return e is UnsupportedError; | |
| 856 }); | |
| 857 Expect.throws(() { | |
| 858 array.removeRange(0, array.length - 1); | |
| 859 }, (e) { | |
| 860 return e is UnsupportedError; | |
| 861 }); | |
| 862 for (int i = 0; i < array.length; ++i) { | 609 for (int i = 0; i < array.length; ++i) { |
| 863 array[i] = 1 + i; | 610 array[i] = 1 + i; |
| 864 } | 611 } |
| 865 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], array); | 612 Expect.listEquals([1, 2, 3, 4, 5, |
| 613 6, 7, 8, 9, 10], |
| 614 array); |
| 866 for (int i = 0; i < array.length; ++i) { | 615 for (int i = 0; i < array.length; ++i) { |
| 867 array[i] = 0x10000000000000000 + i; | 616 array[i] = 0x10000000000000000 + i; |
| 868 } | 617 } |
| 869 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], array); | 618 Expect.listEquals([0, 1, 2, 3, 4, |
| 619 5, 6, 7, 8, 9], |
| 620 array); |
| 870 for (int i = 0; i < array.length; ++i) { | 621 for (int i = 0; i < array.length; ++i) { |
| 871 array[i] = -10 + i; | 622 array[i] = -10 + i; |
| 872 } | 623 } |
| 873 Expect.listEquals([-10, -9, -8, -7, -6, -5, -4, -3, -2, -1], array); | 624 Expect.listEquals([-10, -9, -8, -7, -6, |
| 625 -5, -4, -3, -2, -1], |
| 626 array); |
| 874 for (int i = 0; i < array.length; ++i) { | 627 for (int i = 0; i < array.length; ++i) { |
| 875 array[i] = 0x7FFFFFFFFFFFFFFF - i; | 628 array[i] = 0x7FFFFFFFFFFFFFFF - i; |
| 876 } | 629 } |
| 877 Expect.listEquals([ | 630 Expect.listEquals([0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFE, |
| 878 0x7FFFFFFFFFFFFFFF, | 631 0x7FFFFFFFFFFFFFFD, 0x7FFFFFFFFFFFFFFC, |
| 879 0x7FFFFFFFFFFFFFFE, | 632 0x7FFFFFFFFFFFFFFB, 0x7FFFFFFFFFFFFFFA, |
| 880 0x7FFFFFFFFFFFFFFD, | 633 0x7FFFFFFFFFFFFFF9, 0x7FFFFFFFFFFFFFF8, |
| 881 0x7FFFFFFFFFFFFFFC, | 634 0x7FFFFFFFFFFFFFF7, 0x7FFFFFFFFFFFFFF6], |
| 882 0x7FFFFFFFFFFFFFFB, | 635 array); |
| 883 0x7FFFFFFFFFFFFFFA, | |
| 884 0x7FFFFFFFFFFFFFF9, | |
| 885 0x7FFFFFFFFFFFFFF8, | |
| 886 0x7FFFFFFFFFFFFFF7, | |
| 887 0x7FFFFFFFFFFFFFF6 | |
| 888 ], array); | |
| 889 for (int i = 0; i < array.length; ++i) { | 636 for (int i = 0; i < array.length; ++i) { |
| 890 array[i] = -0x8000000000000000 + i; | 637 array[i] = -0x8000000000000000 + i; |
| 891 } | 638 } |
| 892 Expect.listEquals([ | 639 Expect.listEquals([-0x8000000000000000, -0x7FFFFFFFFFFFFFFF, |
| 893 -0x8000000000000000, | 640 -0x7FFFFFFFFFFFFFFE, -0x7FFFFFFFFFFFFFFD, |
| 894 -0x7FFFFFFFFFFFFFFF, | 641 -0x7FFFFFFFFFFFFFFC, -0x7FFFFFFFFFFFFFFB, |
| 895 -0x7FFFFFFFFFFFFFFE, | 642 -0x7FFFFFFFFFFFFFFA, -0x7FFFFFFFFFFFFFF9, |
| 896 -0x7FFFFFFFFFFFFFFD, | 643 -0x7FFFFFFFFFFFFFF8, -0x7FFFFFFFFFFFFFF7], |
| 897 -0x7FFFFFFFFFFFFFFC, | 644 array); |
| 898 -0x7FFFFFFFFFFFFFFB, | |
| 899 -0x7FFFFFFFFFFFFFFA, | |
| 900 -0x7FFFFFFFFFFFFFF9, | |
| 901 -0x7FFFFFFFFFFFFFF8, | |
| 902 -0x7FFFFFFFFFFFFFF7 | |
| 903 ], array); | |
| 904 for (int i = 0; i < array.length; ++i) { | 645 for (int i = 0; i < array.length; ++i) { |
| 905 array[i] = i; | 646 array[i] = i; |
| 906 } | 647 } |
| 907 var copy = array.sublist(0, array.length); | 648 var copy = array.sublist(0, array.length); |
| 908 Expect.isFalse(identical(copy, array)); | 649 Expect.isFalse(identical(copy, array)); |
| 909 Expect.isTrue(copy is Int64List); | 650 Expect.isTrue(copy is Int64List); |
| 910 Expect.equals(10, copy.length); | 651 Expect.equals(10, copy.length); |
| 911 Expect.listEquals(array, copy); | 652 Expect.listEquals(array, copy); |
| 912 var empty = array.sublist(array.length, array.length); | 653 var empty = array.sublist(array.length, array.length); |
| 913 Expect.equals(0, empty.length); | 654 Expect.equals(0, empty.length); |
| 914 empty = array.sublist(array.length); | 655 empty = array.sublist(array.length); |
| 915 Expect.equals(0, empty.length); | 656 Expect.equals(0, empty.length); |
| 916 | 657 |
| 917 var region = array.sublist(3, array.length - 3); | 658 var region = array.sublist(3, array.length - 3); |
| 918 Expect.isTrue(copy is Int64List); | 659 Expect.isTrue(copy is Int64List); |
| 919 Expect.equals(4, region.length); | 660 Expect.equals(4, region.length); |
| 920 Expect.listEquals([3, 4, 5, 6], region); | 661 Expect.listEquals([3, 4, 5, 6], region); |
| 921 array.setRange(3, 7, [-0x8000000000000000, 0, 1, 0x7FFFFFFFFFFFFFFF]); | 662 array.setRange(3, 7, [-0x8000000000000000, 0, 1, 0x7FFFFFFFFFFFFFFF]); |
| 922 Expect.listEquals( | 663 Expect.listEquals([0, 1, 2, -0x8000000000000000, 0, |
| 923 [0, 1, 2, -0x8000000000000000, 0, 1, 0x7FFFFFFFFFFFFFFF, 7, 8, 9], | 664 1, 0x7FFFFFFFFFFFFFFF, 7, 8, 9], |
| 924 array); | 665 array); |
| 925 } | 666 } |
| 926 | 667 |
| 927 static testInt64List() { | 668 static testInt64List() { |
| 928 Expect.throws(() { | 669 Expect.throws(() { new Int64List(-1); }, |
| 929 new Int64List(-1); | 670 (e) { return e is ArgumentError; }); |
| 930 }, (e) { | |
| 931 return e is ArgumentError; | |
| 932 }); | |
| 933 var array = new Int64List(10); | 671 var array = new Int64List(10); |
| 934 testInt64ListImpl(array); | 672 testInt64ListImpl(array); |
| 935 } | 673 } |
| 936 | 674 |
| 937 static testUint64ListImpl(Uint64List array) { | 675 static testUint64ListImpl(Uint64List array) { |
| 938 Expect.isTrue(array is List<int>); | 676 Expect.isTrue(array is List<int>); |
| 939 Expect.equals(10, array.length); | 677 Expect.equals(10, array.length); |
| 940 Expect.equals(8, array.elementSizeInBytes); | 678 Expect.equals(8, array.elementSizeInBytes); |
| 941 Expect.equals(80, array.lengthInBytes); | 679 Expect.equals(80, array.lengthInBytes); |
| 942 Expect.listEquals([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], array); | 680 Expect.listEquals([0, 0, 0, 0, 0, |
| 943 Expect.throws(() { | 681 0, 0, 0, 0, 0], |
| 944 array[-1] = 0; | 682 array); |
| 945 }, (e) { | 683 Expect.throws(() { array[-1] = 0; }, |
| 946 return e is RangeError; | 684 (e) { return e is RangeError; }); |
| 947 }); | 685 Expect.throws(() { return array[-1]; }, |
| 948 Expect.throws(() { | 686 (e) { return e is RangeError; }); |
| 949 return array[-1]; | 687 Expect.throws(() { array[10]; }, |
| 950 }, (e) { | 688 (e) { return e is RangeError; }); |
| 951 return e is RangeError; | 689 Expect.throws(() { array[10] = 0; }, |
| 952 }); | 690 (e) { return e is RangeError; }); |
| 953 Expect.throws(() { | 691 Expect.throws(() { array.add(0); }, |
| 954 array[10]; | 692 (e) { return e is UnsupportedError; }); |
| 955 }, (e) { | 693 Expect.throws(() { array.addAll([0]); }, |
| 956 return e is RangeError; | 694 (e) { return e is UnsupportedError; }); |
| 957 }); | 695 Expect.throws(() { array.clear(); }, |
| 958 Expect.throws(() { | 696 (e) { return e is UnsupportedError; }); |
| 959 array[10] = 0; | 697 Expect.throws(() { array.length = 0; }, |
| 960 }, (e) { | 698 (e) { return e is UnsupportedError; }); |
| 961 return e is RangeError; | 699 Expect.throws(() { array.removeLast(); }, |
| 962 }); | 700 (e) { return e is UnsupportedError; }); |
| 963 Expect.throws(() { | 701 Expect.throws(() { array.removeRange(0, array.length - 1); }, |
| 964 array.add(0); | 702 (e) { return e is UnsupportedError; }); |
| 965 }, (e) { | |
| 966 return e is UnsupportedError; | |
| 967 }); | |
| 968 Expect.throws(() { | |
| 969 array.addAll([0]); | |
| 970 }, (e) { | |
| 971 return e is UnsupportedError; | |
| 972 }); | |
| 973 Expect.throws(() { | |
| 974 array.clear(); | |
| 975 }, (e) { | |
| 976 return e is UnsupportedError; | |
| 977 }); | |
| 978 Expect.throws(() { | |
| 979 array.length = 0; | |
| 980 }, (e) { | |
| 981 return e is UnsupportedError; | |
| 982 }); | |
| 983 Expect.throws(() { | |
| 984 array.removeLast(); | |
| 985 }, (e) { | |
| 986 return e is UnsupportedError; | |
| 987 }); | |
| 988 Expect.throws(() { | |
| 989 array.removeRange(0, array.length - 1); | |
| 990 }, (e) { | |
| 991 return e is UnsupportedError; | |
| 992 }); | |
| 993 for (int i = 0; i < array.length; ++i) { | 703 for (int i = 0; i < array.length; ++i) { |
| 994 array[i] = 1 + i; | 704 array[i] = 1 + i; |
| 995 } | 705 } |
| 996 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], array); | 706 Expect.listEquals([1, 2, 3, 4, 5, |
| 707 6, 7, 8, 9, 10], |
| 708 array); |
| 997 for (int i = 0; i < array.length; ++i) { | 709 for (int i = 0; i < array.length; ++i) { |
| 998 array[i] = 0x10000000000000000 + i; | 710 array[i] = 0x10000000000000000 + i; |
| 999 } | 711 } |
| 1000 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], array); | 712 Expect.listEquals([0, 1, 2, 3, 4, |
| 713 5, 6, 7, 8, 9], |
| 714 array); |
| 1001 for (int i = 0; i < array.length; ++i) { | 715 for (int i = 0; i < array.length; ++i) { |
| 1002 array[i] = 0xFFFFFFFFFFFFFFFF - i; | 716 array[i] = 0xFFFFFFFFFFFFFFFF - i; |
| 1003 } | 717 } |
| 1004 Expect.listEquals([ | 718 Expect.listEquals([0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFE, |
| 1005 0xFFFFFFFFFFFFFFFF, | 719 0xFFFFFFFFFFFFFFFD, 0xFFFFFFFFFFFFFFFC, |
| 1006 0xFFFFFFFFFFFFFFFE, | 720 0xFFFFFFFFFFFFFFFB, 0xFFFFFFFFFFFFFFFA, |
| 1007 0xFFFFFFFFFFFFFFFD, | 721 0xFFFFFFFFFFFFFFF9, 0xFFFFFFFFFFFFFFF8, |
| 1008 0xFFFFFFFFFFFFFFFC, | 722 0xFFFFFFFFFFFFFFF7, 0xFFFFFFFFFFFFFFF6], |
| 1009 0xFFFFFFFFFFFFFFFB, | 723 array); |
| 1010 0xFFFFFFFFFFFFFFFA, | |
| 1011 0xFFFFFFFFFFFFFFF9, | |
| 1012 0xFFFFFFFFFFFFFFF8, | |
| 1013 0xFFFFFFFFFFFFFFF7, | |
| 1014 0xFFFFFFFFFFFFFFF6 | |
| 1015 ], array); | |
| 1016 for (int i = 0; i < array.length; ++i) { | 724 for (int i = 0; i < array.length; ++i) { |
| 1017 array[i] = i; | 725 array[i] = i; |
| 1018 } | 726 } |
| 1019 var copy = array.sublist(0, array.length); | 727 var copy = array.sublist(0, array.length); |
| 1020 Expect.isFalse(identical(copy, array)); | 728 Expect.isFalse(identical(copy, array)); |
| 1021 Expect.isTrue(copy is Uint64List); | 729 Expect.isTrue(copy is Uint64List); |
| 1022 Expect.equals(10, copy.length); | 730 Expect.equals(10, copy.length); |
| 1023 Expect.listEquals(array, copy); | 731 Expect.listEquals(array, copy); |
| 1024 var empty = array.sublist(array.length, array.length); | 732 var empty = array.sublist(array.length, array.length); |
| 1025 Expect.equals(0, empty.length); | 733 Expect.equals(0, empty.length); |
| 1026 empty = array.sublist(array.length); | 734 empty = array.sublist(array.length); |
| 1027 Expect.equals(0, empty.length); | 735 Expect.equals(0, empty.length); |
| 1028 | 736 |
| 1029 var region = array.sublist(3, array.length - 3); | 737 var region = array.sublist(3, array.length - 3); |
| 1030 Expect.isTrue(copy is Uint64List); | 738 Expect.isTrue(copy is Uint64List); |
| 1031 Expect.equals(4, region.length); | 739 Expect.equals(4, region.length); |
| 1032 Expect.listEquals([3, 4, 5, 6], region); | 740 Expect.listEquals([3, 4, 5, 6], region); |
| 1033 array.setRange(3, 7, [0x10000000000000001, 0, 1, 0xFFFFFFFFFFFFFFFF]); | 741 array.setRange(3, 7, [0x10000000000000001, 0, 1, 0xFFFFFFFFFFFFFFFF]); |
| 1034 Expect.listEquals([0, 1, 2, 1, 0, 1, 0xFFFFFFFFFFFFFFFF, 7, 8, 9], array); | 742 Expect.listEquals([0, 1, 2, 1, 0, 1, 0xFFFFFFFFFFFFFFFF, 7, 8, 9], |
| 743 array); |
| 1035 } | 744 } |
| 1036 | 745 |
| 1037 static testUint64List() { | 746 static testUint64List() { |
| 1038 Expect.throws(() { | 747 Expect.throws(() { new Uint64List(-1); }, |
| 1039 new Uint64List(-1); | 748 (e) { return e is ArgumentError; }); |
| 1040 }, (e) { | |
| 1041 return e is ArgumentError; | |
| 1042 }); | |
| 1043 var array = new Uint64List(10); | 749 var array = new Uint64List(10); |
| 1044 testUint64ListImpl(array); | 750 testUint64ListImpl(array); |
| 1045 } | 751 } |
| 1046 | 752 |
| 1047 static testFloat32ListImpl(Float32List array) { | 753 static testFloat32ListImpl(Float32List array) { |
| 1048 Expect.isTrue(array is List<double>); | 754 Expect.isTrue(array is List<double>); |
| 1049 Expect.equals(10, array.length); | 755 Expect.equals(10, array.length); |
| 1050 Expect.equals(4, array.elementSizeInBytes); | 756 Expect.equals(4, array.elementSizeInBytes); |
| 1051 Expect.equals(40, array.lengthInBytes); | 757 Expect.equals(40, array.lengthInBytes); |
| 1052 Expect | 758 Expect.listEquals([0.0, 0.0, 0.0, 0.0, 0.0, |
| 1053 .listEquals([0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], array); | 759 0.0, 0.0, 0.0, 0.0, 0.0], |
| 1054 Expect.throws(() { | 760 array); |
| 1055 array[-1] = 0.0; | 761 Expect.throws(() { array[-1] = 0.0; }, |
| 1056 }, (e) { | 762 (e) { return e is RangeError; }); |
| 1057 return e is RangeError; | 763 Expect.throws(() { return array[-1]; }, |
| 1058 }); | 764 (e) { return e is RangeError; }); |
| 1059 Expect.throws(() { | 765 Expect.throws(() { array[10]; }, |
| 1060 return array[-1]; | 766 (e) { return e is RangeError; }); |
| 1061 }, (e) { | 767 Expect.throws(() { array[10] = 0.0; }, |
| 1062 return e is RangeError; | 768 (e) { return e is RangeError; }); |
| 1063 }); | 769 Expect.throws(() { array.add(0.0); }, |
| 1064 Expect.throws(() { | 770 (e) { return e is UnsupportedError; }); |
| 1065 array[10]; | 771 Expect.throws(() { array.addAll([0]); }, |
| 1066 }, (e) { | 772 (e) { return e is UnsupportedError; }); |
| 1067 return e is RangeError; | 773 Expect.throws(() { array.clear(); }, |
| 1068 }); | 774 (e) { return e is UnsupportedError; }); |
| 1069 Expect.throws(() { | 775 Expect.throws(() { array.length = 0; }, |
| 1070 array[10] = 0.0; | 776 (e) { return e is UnsupportedError; }); |
| 1071 }, (e) { | 777 Expect.throws(() { array.removeLast(); }, |
| 1072 return e is RangeError; | 778 (e) { return e is UnsupportedError; }); |
| 1073 }); | 779 Expect.throws(() { array.removeRange(0, array.length - 1); }, |
| 1074 Expect.throws(() { | 780 (e) { return e is UnsupportedError; }); |
| 1075 array.add(0.0); | |
| 1076 }, (e) { | |
| 1077 return e is UnsupportedError; | |
| 1078 }); | |
| 1079 Expect.throws(() { | |
| 1080 array.addAll([0]); | |
| 1081 }, (e) { | |
| 1082 return e is UnsupportedError; | |
| 1083 }); | |
| 1084 Expect.throws(() { | |
| 1085 array.clear(); | |
| 1086 }, (e) { | |
| 1087 return e is UnsupportedError; | |
| 1088 }); | |
| 1089 Expect.throws(() { | |
| 1090 array.length = 0; | |
| 1091 }, (e) { | |
| 1092 return e is UnsupportedError; | |
| 1093 }); | |
| 1094 Expect.throws(() { | |
| 1095 array.removeLast(); | |
| 1096 }, (e) { | |
| 1097 return e is UnsupportedError; | |
| 1098 }); | |
| 1099 Expect.throws(() { | |
| 1100 array.removeRange(0, array.length - 1); | |
| 1101 }, (e) { | |
| 1102 return e is UnsupportedError; | |
| 1103 }); | |
| 1104 for (int i = 0; i < array.length; ++i) { | 781 for (int i = 0; i < array.length; ++i) { |
| 1105 array[i] = 1.0 + i; | 782 array[i] = 1.0 + i; |
| 1106 } | 783 } |
| 1107 Expect | 784 Expect.listEquals([1.0, 2.0, 3.0, 4.0, 5.0, |
| 1108 .listEquals([1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0], array); | 785 6.0, 7.0, 8.0, 9.0, 10.0], |
| 786 array); |
| 1109 // TODO: min, max, and round | 787 // TODO: min, max, and round |
| 1110 for (int i = 0; i < array.length; ++i) { | 788 for (int i = 0; i < array.length; ++i) { |
| 1111 array[i] = i * 1.0; | 789 array[i] = i * 1.0; |
| 1112 } | 790 } |
| 1113 var copy = array.sublist(0, array.length); | 791 var copy = array.sublist(0, array.length); |
| 1114 Expect.isFalse(identical(copy, array)); | 792 Expect.isFalse(identical(copy, array)); |
| 1115 Expect.isTrue(copy is Float32List); | 793 Expect.isTrue(copy is Float32List); |
| 1116 Expect.equals(10, copy.length); | 794 Expect.equals(10, copy.length); |
| 1117 Expect.listEquals(array, copy); | 795 Expect.listEquals(array, copy); |
| 1118 var empty = array.sublist(array.length, array.length); | 796 var empty = array.sublist(array.length, array.length); |
| 1119 Expect.equals(0, empty.length); | 797 Expect.equals(0, empty.length); |
| 1120 empty = array.sublist(array.length); | 798 empty = array.sublist(array.length); |
| 1121 Expect.equals(0, empty.length); | 799 Expect.equals(0, empty.length); |
| 1122 | 800 |
| 1123 var region = array.sublist(3, array.length - 3); | 801 var region = array.sublist(3, array.length - 3); |
| 1124 Expect.isTrue(copy is Float32List); | 802 Expect.isTrue(copy is Float32List); |
| 1125 Expect.equals(4, region.length); | 803 Expect.equals(4, region.length); |
| 1126 Expect.listEquals([3.0, 4.0, 5.0, 6.0], region); | 804 Expect.listEquals([3.0, 4.0, 5.0, 6.0], region); |
| 1127 array.setRange(3, 7, [double.NEGATIVE_INFINITY, 0.0, 1.0, double.INFINITY]); | 805 array.setRange(3, 7, [double.NEGATIVE_INFINITY, 0.0, 1.0, double.INFINITY]); |
| 1128 Expect.listEquals([ | 806 Expect.listEquals([0.0, 1.0, 2.0, double.NEGATIVE_INFINITY, 0.0, |
| 1129 0.0, | 807 1.0, double.INFINITY, 7.0, 8.0, 9.0], |
| 1130 1.0, | 808 array); |
| 1131 2.0, | |
| 1132 double.NEGATIVE_INFINITY, | |
| 1133 0.0, | |
| 1134 1.0, | |
| 1135 double.INFINITY, | |
| 1136 7.0, | |
| 1137 8.0, | |
| 1138 9.0 | |
| 1139 ], array); | |
| 1140 } | 809 } |
| 1141 | 810 |
| 1142 static testFloat32List() { | 811 static testFloat32List() { |
| 1143 Expect.throws(() { | 812 Expect.throws(() { new Float32List(-1); }, |
| 1144 new Float32List(-1); | 813 (e) { return e is ArgumentError; }); |
| 1145 }, (e) { | |
| 1146 return e is ArgumentError; | |
| 1147 }); | |
| 1148 var array = new Float32List(10); | 814 var array = new Float32List(10); |
| 1149 testFloat32ListImpl(array); | 815 testFloat32ListImpl(array); |
| 1150 } | 816 } |
| 1151 | 817 |
| 1152 static testFloat64ListImpl(Float64List array) { | 818 static testFloat64ListImpl(Float64List array) { |
| 1153 Expect.isTrue(array is List<double>); | 819 Expect.isTrue(array is List<double>); |
| 1154 Expect.equals(10, array.length); | 820 Expect.equals(10, array.length); |
| 1155 Expect.equals(8, array.elementSizeInBytes); | 821 Expect.equals(8, array.elementSizeInBytes); |
| 1156 Expect.equals(80, array.lengthInBytes); | 822 Expect.equals(80, array.lengthInBytes); |
| 1157 Expect | 823 Expect.listEquals([0.0, 0.0, 0.0, 0.0, 0.0, |
| 1158 .listEquals([0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], array); | 824 0.0, 0.0, 0.0, 0.0, 0.0], |
| 1159 Expect.throws(() { | 825 array); |
| 1160 array[-1] = 0.0; | 826 Expect.throws(() { array[-1] = 0.0; }, |
| 1161 }, (e) { | 827 (e) { return e is RangeError; }); |
| 1162 return e is RangeError; | 828 Expect.throws(() { return array[-1]; }, |
| 1163 }); | 829 (e) { return e is RangeError; }); |
| 1164 Expect.throws(() { | 830 Expect.throws(() { array[10]; }, |
| 1165 return array[-1]; | 831 (e) { return e is RangeError; }); |
| 1166 }, (e) { | 832 Expect.throws(() { array[10] = 0.0; }, |
| 1167 return e is RangeError; | 833 (e) { return e is RangeError; }); |
| 1168 }); | 834 Expect.throws(() { array.add(0.0); }, |
| 1169 Expect.throws(() { | 835 (e) { return e is UnsupportedError; }); |
| 1170 array[10]; | 836 Expect.throws(() { array.addAll([0]); }, |
| 1171 }, (e) { | 837 (e) { return e is UnsupportedError; }); |
| 1172 return e is RangeError; | 838 Expect.throws(() { array.clear(); }, |
| 1173 }); | 839 (e) { return e is UnsupportedError; }); |
| 1174 Expect.throws(() { | 840 Expect.throws(() { array.length = 0; }, |
| 1175 array[10] = 0.0; | 841 (e) { return e is UnsupportedError; }); |
| 1176 }, (e) { | 842 Expect.throws(() { array.removeLast(); }, |
| 1177 return e is RangeError; | 843 (e) { return e is UnsupportedError; }); |
| 1178 }); | 844 Expect.throws(() { array.removeRange(0, array.length - 1); }, |
| 1179 Expect.throws(() { | 845 (e) { return e is UnsupportedError; }); |
| 1180 array.add(0.0); | |
| 1181 }, (e) { | |
| 1182 return e is UnsupportedError; | |
| 1183 }); | |
| 1184 Expect.throws(() { | |
| 1185 array.addAll([0]); | |
| 1186 }, (e) { | |
| 1187 return e is UnsupportedError; | |
| 1188 }); | |
| 1189 Expect.throws(() { | |
| 1190 array.clear(); | |
| 1191 }, (e) { | |
| 1192 return e is UnsupportedError; | |
| 1193 }); | |
| 1194 Expect.throws(() { | |
| 1195 array.length = 0; | |
| 1196 }, (e) { | |
| 1197 return e is UnsupportedError; | |
| 1198 }); | |
| 1199 Expect.throws(() { | |
| 1200 array.removeLast(); | |
| 1201 }, (e) { | |
| 1202 return e is UnsupportedError; | |
| 1203 }); | |
| 1204 Expect.throws(() { | |
| 1205 array.removeRange(0, array.length - 1); | |
| 1206 }, (e) { | |
| 1207 return e is UnsupportedError; | |
| 1208 }); | |
| 1209 for (int i = 0; i < array.length; ++i) { | 846 for (int i = 0; i < array.length; ++i) { |
| 1210 array[i] = 1.0 + i; | 847 array[i] = 1.0 + i; |
| 1211 } | 848 } |
| 1212 Expect | 849 Expect.listEquals([1.0, 2.0, 3.0, 4.0, 5.0, |
| 1213 .listEquals([1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0], array); | 850 6.0, 7.0, 8.0, 9.0, 10.0], |
| 851 array); |
| 1214 // TODO: min, max | 852 // TODO: min, max |
| 1215 for (int i = 0; i < array.length; ++i) { | 853 for (int i = 0; i < array.length; ++i) { |
| 1216 array[i] = i * 1.0; | 854 array[i] = i * 1.0; |
| 1217 } | 855 } |
| 1218 var copy = array.sublist(0, array.length); | 856 var copy = array.sublist(0, array.length); |
| 1219 Expect.isFalse(identical(copy, array)); | 857 Expect.isFalse(identical(copy, array)); |
| 1220 Expect.isTrue(copy is Float64List); | 858 Expect.isTrue(copy is Float64List); |
| 1221 Expect.equals(10, copy.length); | 859 Expect.equals(10, copy.length); |
| 1222 Expect.listEquals(array, copy); | 860 Expect.listEquals(array, copy); |
| 1223 var empty = array.sublist(array.length, array.length); | 861 var empty = array.sublist(array.length, array.length); |
| 1224 Expect.equals(0, empty.length); | 862 Expect.equals(0, empty.length); |
| 1225 empty = array.sublist(array.length); | 863 empty = array.sublist(array.length); |
| 1226 Expect.equals(0, empty.length); | 864 Expect.equals(0, empty.length); |
| 1227 | 865 |
| 1228 var region = array.sublist(3, array.length - 3); | 866 var region = array.sublist(3, array.length - 3); |
| 1229 Expect.isTrue(copy is Float64List); | 867 Expect.isTrue(copy is Float64List); |
| 1230 Expect.equals(4, region.length); | 868 Expect.equals(4, region.length); |
| 1231 Expect.listEquals([3.0, 4.0, 5.0, 6.0], region); | 869 Expect.listEquals([3.0, 4.0, 5.0, 6.0], region); |
| 1232 array.setRange(3, 7, [double.NEGATIVE_INFINITY, 0.0, 1.0, double.INFINITY]); | 870 array.setRange(3, 7, [double.NEGATIVE_INFINITY, 0.0, 1.0, double.INFINITY]); |
| 1233 Expect.listEquals([ | 871 Expect.listEquals([0.0, 1.0, 2.0, double.NEGATIVE_INFINITY, 0.0, |
| 1234 0.0, | 872 1.0, double.INFINITY, 7.0, 8.0, 9.0], |
| 1235 1.0, | 873 array); |
| 1236 2.0, | |
| 1237 double.NEGATIVE_INFINITY, | |
| 1238 0.0, | |
| 1239 1.0, | |
| 1240 double.INFINITY, | |
| 1241 7.0, | |
| 1242 8.0, | |
| 1243 9.0 | |
| 1244 ], array); | |
| 1245 } | 874 } |
| 1246 | 875 |
| 1247 static testFloat64List() { | 876 static testFloat64List() { |
| 1248 Expect.throws(() { | 877 Expect.throws(() { new Float64List(-1); }, |
| 1249 new Float64List(-1); | 878 (e) { return e is ArgumentError; }); |
| 1250 }, (e) { | |
| 1251 return e is ArgumentError; | |
| 1252 }); | |
| 1253 var array = new Float64List(10); | 879 var array = new Float64List(10); |
| 1254 testFloat64ListImpl(array); | 880 testFloat64ListImpl(array); |
| 1255 } | 881 } |
| 1256 | 882 |
| 1257 static testByteList() { | 883 static testByteList() { |
| 1258 var array = new Uint8List(8); | 884 var array = new Uint8List(8); |
| 1259 Expect.equals(8, array.length); | 885 Expect.equals(8, array.length); |
| 1260 Expect.equals(8, array.lengthInBytes); | 886 Expect.equals(8, array.lengthInBytes); |
| 1261 var byte_array = new ByteData.view(array.buffer); | 887 var byte_array = new ByteData.view(array.buffer); |
| 1262 Expect.equals(8, byte_array.lengthInBytes); | 888 Expect.equals(8, byte_array.lengthInBytes); |
| 1263 Expect.throws(() { | 889 Expect.throws(() { byte_array.getInt8(-1); }, |
| 1264 byte_array.getInt8(-1); | 890 (e) { return e is RangeError; }); |
| 1265 }, (e) { | 891 Expect.throws(() { byte_array.getUint8(-1); }, |
| 1266 return e is RangeError; | 892 (e) { return e is RangeError; }); |
| 1267 }); | 893 Expect.throws(() { byte_array.getInt16(-1); }, |
| 1268 Expect.throws(() { | 894 (e) { return e is RangeError; }); |
| 1269 byte_array.getUint8(-1); | 895 Expect.throws(() { byte_array.getUint16(-1); }, |
| 1270 }, (e) { | 896 (e) { return e is RangeError; }); |
| 1271 return e is RangeError; | 897 Expect.throws(() { byte_array.getInt32(-1); }, |
| 1272 }); | 898 (e) { return e is RangeError; }); |
| 1273 Expect.throws(() { | 899 Expect.throws(() { byte_array.getUint32(-1); }, |
| 1274 byte_array.getInt16(-1); | 900 (e) { return e is RangeError; }); |
| 1275 }, (e) { | 901 Expect.throws(() { byte_array.getInt64(-1); }, |
| 1276 return e is RangeError; | 902 (e) { return e is RangeError; }); |
| 1277 }); | 903 Expect.throws(() { byte_array.getUint64(-1); }, |
| 1278 Expect.throws(() { | 904 (e) { return e is RangeError; }); |
| 1279 byte_array.getUint16(-1); | 905 Expect.throws(() { byte_array.getFloat32(-1); }, |
| 1280 }, (e) { | 906 (e) { return e is RangeError; }); |
| 1281 return e is RangeError; | 907 Expect.throws(() { byte_array.getFloat64(-1); }, |
| 1282 }); | 908 (e) { return e is RangeError; }); |
| 1283 Expect.throws(() { | 909 Expect.throws(() { byte_array.setInt8(-1, 0); }, |
| 1284 byte_array.getInt32(-1); | 910 (e) { return e is RangeError; }); |
| 1285 }, (e) { | 911 Expect.throws(() { byte_array.setUint8(-1, 0); }, |
| 1286 return e is RangeError; | 912 (e) { return e is RangeError; }); |
| 1287 }); | 913 Expect.throws(() { byte_array.setInt16(-1, 0); }, |
| 1288 Expect.throws(() { | 914 (e) { return e is RangeError; }); |
| 1289 byte_array.getUint32(-1); | 915 Expect.throws(() { byte_array.setUint16(-1, 0); }, |
| 1290 }, (e) { | 916 (e) { return e is RangeError; }); |
| 1291 return e is RangeError; | 917 Expect.throws(() { byte_array.setInt32(-1, 0); }, |
| 1292 }); | 918 (e) { return e is RangeError; }); |
| 1293 Expect.throws(() { | 919 Expect.throws(() { byte_array.setUint32(-1, 0); }, |
| 1294 byte_array.getInt64(-1); | 920 (e) { return e is RangeError; }); |
| 1295 }, (e) { | 921 Expect.throws(() { byte_array.setInt64(-1, 0); }, |
| 1296 return e is RangeError; | 922 (e) { return e is RangeError; }); |
| 1297 }); | 923 Expect.throws(() { byte_array.setUint64(-1, 0); }, |
| 1298 Expect.throws(() { | 924 (e) { return e is RangeError; }); |
| 1299 byte_array.getUint64(-1); | 925 Expect.throws(() { byte_array.setFloat32(-1, 0.0); }, |
| 1300 }, (e) { | 926 (e) { return e is RangeError; }); |
| 1301 return e is RangeError; | 927 Expect.throws(() { byte_array.setFloat64(-1, 0.0); }, |
| 1302 }); | 928 (e) { return e is RangeError; }); |
| 1303 Expect.throws(() { | 929 Expect.throws(() { byte_array.getInt8(8); }, |
| 1304 byte_array.getFloat32(-1); | 930 (e) { return e is RangeError; }); |
| 1305 }, (e) { | 931 Expect.throws(() { byte_array.getUint8(8); }, |
| 1306 return e is RangeError; | 932 (e) { return e is RangeError; }); |
| 1307 }); | 933 Expect.throws(() { byte_array.getInt16(8); }, |
| 1308 Expect.throws(() { | 934 (e) { return e is RangeError; }); |
| 1309 byte_array.getFloat64(-1); | 935 Expect.throws(() { byte_array.getUint16(8); }, |
| 1310 }, (e) { | 936 (e) { return e is RangeError; }); |
| 1311 return e is RangeError; | 937 Expect.throws(() { byte_array.getInt32(8); }, |
| 1312 }); | 938 (e) { return e is RangeError; }); |
| 1313 Expect.throws(() { | 939 Expect.throws(() { byte_array.getUint32(8); }, |
| 1314 byte_array.setInt8(-1, 0); | 940 (e) { return e is RangeError; }); |
| 1315 }, (e) { | 941 Expect.throws(() { byte_array.getInt64(8); }, |
| 1316 return e is RangeError; | 942 (e) { return e is RangeError; }); |
| 1317 }); | 943 Expect.throws(() { byte_array.getUint64(8); }, |
| 1318 Expect.throws(() { | 944 (e) { return e is RangeError; }); |
| 1319 byte_array.setUint8(-1, 0); | 945 Expect.throws(() { byte_array.getFloat32(8); }, |
| 1320 }, (e) { | 946 (e) { return e is RangeError; }); |
| 1321 return e is RangeError; | 947 Expect.throws(() { byte_array.getFloat64(8); }, |
| 1322 }); | 948 (e) { return e is RangeError; }); |
| 1323 Expect.throws(() { | 949 Expect.throws(() { byte_array.setInt8(8, 0); }, |
| 1324 byte_array.setInt16(-1, 0); | 950 (e) { return e is RangeError; }); |
| 1325 }, (e) { | 951 Expect.throws(() { byte_array.setUint8(8, 0); }, |
| 1326 return e is RangeError; | 952 (e) { return e is RangeError; }); |
| 1327 }); | 953 Expect.throws(() { byte_array.setInt16(8, 0); }, |
| 1328 Expect.throws(() { | 954 (e) { return e is RangeError; }); |
| 1329 byte_array.setUint16(-1, 0); | 955 Expect.throws(() { byte_array.setUint16(8, 0); }, |
| 1330 }, (e) { | 956 (e) { return e is RangeError; }); |
| 1331 return e is RangeError; | 957 Expect.throws(() { byte_array.setInt32(8, 0); }, |
| 1332 }); | 958 (e) { return e is RangeError; }); |
| 1333 Expect.throws(() { | 959 Expect.throws(() { byte_array.setUint32(8, 0); }, |
| 1334 byte_array.setInt32(-1, 0); | 960 (e) { return e is RangeError; }); |
| 1335 }, (e) { | 961 Expect.throws(() { byte_array.setInt64(8, 0); }, |
| 1336 return e is RangeError; | 962 (e) { return e is RangeError; }); |
| 1337 }); | 963 Expect.throws(() { byte_array.setUint64(8, 0); }, |
| 1338 Expect.throws(() { | 964 (e) { return e is RangeError; }); |
| 1339 byte_array.setUint32(-1, 0); | 965 Expect.throws(() { byte_array.setFloat32(8, 0.0); }, |
| 1340 }, (e) { | 966 (e) { return e is RangeError; }); |
| 1341 return e is RangeError; | 967 Expect.throws(() { byte_array.setFloat64(8, 0.0); }, |
| 1342 }); | 968 (e) { return e is RangeError; }); |
| 1343 Expect.throws(() { | |
| 1344 byte_array.setInt64(-1, 0); | |
| 1345 }, (e) { | |
| 1346 return e is RangeError; | |
| 1347 }); | |
| 1348 Expect.throws(() { | |
| 1349 byte_array.setUint64(-1, 0); | |
| 1350 }, (e) { | |
| 1351 return e is RangeError; | |
| 1352 }); | |
| 1353 Expect.throws(() { | |
| 1354 byte_array.setFloat32(-1, 0.0); | |
| 1355 }, (e) { | |
| 1356 return e is RangeError; | |
| 1357 }); | |
| 1358 Expect.throws(() { | |
| 1359 byte_array.setFloat64(-1, 0.0); | |
| 1360 }, (e) { | |
| 1361 return e is RangeError; | |
| 1362 }); | |
| 1363 Expect.throws(() { | |
| 1364 byte_array.getInt8(8); | |
| 1365 }, (e) { | |
| 1366 return e is RangeError; | |
| 1367 }); | |
| 1368 Expect.throws(() { | |
| 1369 byte_array.getUint8(8); | |
| 1370 }, (e) { | |
| 1371 return e is RangeError; | |
| 1372 }); | |
| 1373 Expect.throws(() { | |
| 1374 byte_array.getInt16(8); | |
| 1375 }, (e) { | |
| 1376 return e is RangeError; | |
| 1377 }); | |
| 1378 Expect.throws(() { | |
| 1379 byte_array.getUint16(8); | |
| 1380 }, (e) { | |
| 1381 return e is RangeError; | |
| 1382 }); | |
| 1383 Expect.throws(() { | |
| 1384 byte_array.getInt32(8); | |
| 1385 }, (e) { | |
| 1386 return e is RangeError; | |
| 1387 }); | |
| 1388 Expect.throws(() { | |
| 1389 byte_array.getUint32(8); | |
| 1390 }, (e) { | |
| 1391 return e is RangeError; | |
| 1392 }); | |
| 1393 Expect.throws(() { | |
| 1394 byte_array.getInt64(8); | |
| 1395 }, (e) { | |
| 1396 return e is RangeError; | |
| 1397 }); | |
| 1398 Expect.throws(() { | |
| 1399 byte_array.getUint64(8); | |
| 1400 }, (e) { | |
| 1401 return e is RangeError; | |
| 1402 }); | |
| 1403 Expect.throws(() { | |
| 1404 byte_array.getFloat32(8); | |
| 1405 }, (e) { | |
| 1406 return e is RangeError; | |
| 1407 }); | |
| 1408 Expect.throws(() { | |
| 1409 byte_array.getFloat64(8); | |
| 1410 }, (e) { | |
| 1411 return e is RangeError; | |
| 1412 }); | |
| 1413 Expect.throws(() { | |
| 1414 byte_array.setInt8(8, 0); | |
| 1415 }, (e) { | |
| 1416 return e is RangeError; | |
| 1417 }); | |
| 1418 Expect.throws(() { | |
| 1419 byte_array.setUint8(8, 0); | |
| 1420 }, (e) { | |
| 1421 return e is RangeError; | |
| 1422 }); | |
| 1423 Expect.throws(() { | |
| 1424 byte_array.setInt16(8, 0); | |
| 1425 }, (e) { | |
| 1426 return e is RangeError; | |
| 1427 }); | |
| 1428 Expect.throws(() { | |
| 1429 byte_array.setUint16(8, 0); | |
| 1430 }, (e) { | |
| 1431 return e is RangeError; | |
| 1432 }); | |
| 1433 Expect.throws(() { | |
| 1434 byte_array.setInt32(8, 0); | |
| 1435 }, (e) { | |
| 1436 return e is RangeError; | |
| 1437 }); | |
| 1438 Expect.throws(() { | |
| 1439 byte_array.setUint32(8, 0); | |
| 1440 }, (e) { | |
| 1441 return e is RangeError; | |
| 1442 }); | |
| 1443 Expect.throws(() { | |
| 1444 byte_array.setInt64(8, 0); | |
| 1445 }, (e) { | |
| 1446 return e is RangeError; | |
| 1447 }); | |
| 1448 Expect.throws(() { | |
| 1449 byte_array.setUint64(8, 0); | |
| 1450 }, (e) { | |
| 1451 return e is RangeError; | |
| 1452 }); | |
| 1453 Expect.throws(() { | |
| 1454 byte_array.setFloat32(8, 0.0); | |
| 1455 }, (e) { | |
| 1456 return e is RangeError; | |
| 1457 }); | |
| 1458 Expect.throws(() { | |
| 1459 byte_array.setFloat64(8, 0.0); | |
| 1460 }, (e) { | |
| 1461 return e is RangeError; | |
| 1462 }); | |
| 1463 Expect.equals(0, byte_array.getInt8(0)); | 969 Expect.equals(0, byte_array.getInt8(0)); |
| 1464 Expect.equals(0, byte_array.getUint8(0)); | 970 Expect.equals(0, byte_array.getUint8(0)); |
| 1465 Expect.equals(0, byte_array.getInt16(0)); | 971 Expect.equals(0, byte_array.getInt16(0)); |
| 1466 Expect.equals(0, byte_array.getUint16(0)); | 972 Expect.equals(0, byte_array.getUint16(0)); |
| 1467 Expect.equals(0, byte_array.getInt32(0)); | 973 Expect.equals(0, byte_array.getInt32(0)); |
| 1468 Expect.equals(0, byte_array.getUint32(0)); | 974 Expect.equals(0, byte_array.getUint32(0)); |
| 1469 Expect.equals(0, byte_array.getInt64(0)); | 975 Expect.equals(0, byte_array.getInt64(0)); |
| 1470 Expect.equals(0, byte_array.getUint64(0)); | 976 Expect.equals(0, byte_array.getUint64(0)); |
| 1471 Expect.equals(0.0, byte_array.getFloat32(0)); | 977 Expect.equals(0.0, byte_array.getFloat32(0)); |
| 1472 Expect.equals(0.0, byte_array.getFloat64(0)); | 978 Expect.equals(0.0, byte_array.getFloat64(0)); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1504 Expect.equals(0xF9, byte_array.getUint8(6)); | 1010 Expect.equals(0xF9, byte_array.getUint8(6)); |
| 1505 Expect.equals(0xF8, byte_array.getUint8(7)); | 1011 Expect.equals(0xF8, byte_array.getUint8(7)); |
| 1506 Expect.equals(0, byte_array.getInt16(0)); | 1012 Expect.equals(0, byte_array.getInt16(0)); |
| 1507 Expect.equals(-16512, byte_array.getInt16(2, Endianness.LITTLE_ENDIAN)); | 1013 Expect.equals(-16512, byte_array.getInt16(2, Endianness.LITTLE_ENDIAN)); |
| 1508 Expect.equals(-1285, byte_array.getInt16(4, Endianness.LITTLE_ENDIAN)); | 1014 Expect.equals(-1285, byte_array.getInt16(4, Endianness.LITTLE_ENDIAN)); |
| 1509 Expect.equals(-1799, byte_array.getInt16(6, Endianness.LITTLE_ENDIAN)); | 1015 Expect.equals(-1799, byte_array.getInt16(6, Endianness.LITTLE_ENDIAN)); |
| 1510 Expect.equals(0x0000, byte_array.getUint16(0, Endianness.LITTLE_ENDIAN)); | 1016 Expect.equals(0x0000, byte_array.getUint16(0, Endianness.LITTLE_ENDIAN)); |
| 1511 Expect.equals(0xBF80, byte_array.getUint16(2, Endianness.LITTLE_ENDIAN)); | 1017 Expect.equals(0xBF80, byte_array.getUint16(2, Endianness.LITTLE_ENDIAN)); |
| 1512 Expect.equals(0xFAFB, byte_array.getUint16(4, Endianness.LITTLE_ENDIAN)); | 1018 Expect.equals(0xFAFB, byte_array.getUint16(4, Endianness.LITTLE_ENDIAN)); |
| 1513 Expect.equals(0xF8F9, byte_array.getUint16(6, Endianness.LITTLE_ENDIAN)); | 1019 Expect.equals(0xF8F9, byte_array.getUint16(6, Endianness.LITTLE_ENDIAN)); |
| 1514 Expect.equals( | 1020 Expect.equals(-1082130432, |
| 1515 -1082130432, byte_array.getInt32(0, Endianness.LITTLE_ENDIAN)); | 1021 byte_array.getInt32(0, Endianness.LITTLE_ENDIAN)); |
| 1516 Expect.equals( | 1022 Expect.equals(0xBF800000, |
| 1517 0xBF800000, byte_array.getUint32(0, Endianness.LITTLE_ENDIAN)); | 1023 byte_array.getUint32(0, Endianness.LITTLE_ENDIAN)); |
| 1518 Expect.equals( | 1024 Expect.equals(-506097523945897984, |
| 1519 -506097523945897984, byte_array.getInt64(0, Endianness.LITTLE_ENDIAN)); | 1025 byte_array.getInt64(0, Endianness.LITTLE_ENDIAN)); |
| 1520 Expect.equals( | 1026 Expect.equals(0xF8F9FAFBBF800000, |
| 1521 0xF8F9FAFBBF800000, byte_array.getUint64(0, Endianness.LITTLE_ENDIAN)); | 1027 byte_array.getUint64(0, Endianness.LITTLE_ENDIAN)); |
| 1522 Expect.equals(-1.0, byte_array.getFloat32(0, Endianness.LITTLE_ENDIAN)); | 1028 Expect.equals(-1.0, byte_array.getFloat32(0, Endianness.LITTLE_ENDIAN)); |
| 1523 // TODO: byte_array.getFloat64(0) | 1029 // TODO: byte_array.getFloat64(0) |
| 1524 } | 1030 } |
| 1525 | 1031 |
| 1526 static testInt8ListViewImpl(var array) { | 1032 static testInt8ListViewImpl(var array) { |
| 1527 Expect.equals(12, array.length); | 1033 Expect.equals(12, array.length); |
| 1528 Expect.equals(1, array.elementSizeInBytes); | 1034 Expect.equals(1, array.elementSizeInBytes); |
| 1529 Expect.equals(12, array.lengthInBytes); | 1035 Expect.equals(12, array.lengthInBytes); |
| 1530 for (int i = 0; i < array.length; ++i) { | 1036 for (int i = 0; i < array.length; ++i) { |
| 1531 array[i] = 0xFF; | 1037 array[i] = 0xFF; |
| 1532 } | 1038 } |
| 1533 Expect.throws(() { | 1039 Expect.throws(() { new Int8List.view(array.buffer, -1); }, |
| 1534 new Int8List.view(array.buffer, -1); | 1040 (e) { return e is RangeError; }); |
| 1535 }, (e) { | 1041 Expect.throws(() { new Int8List.view(array.buffer, 0, -1); }, |
| 1536 return e is RangeError; | 1042 (e) { return e is RangeError; }); |
| 1537 }); | 1043 Expect.throws(() { new Int8List.view(array.buffer, |
| 1538 Expect.throws(() { | 1044 array.lengthInBytes + 1); }, |
| 1539 new Int8List.view(array.buffer, 0, -1); | 1045 (e) { return e is RangeError; }); |
| 1540 }, (e) { | 1046 Expect.throws(() { new Int8List.view(array.buffer, |
| 1541 return e is RangeError; | 1047 0, array.length + 1); }, |
| 1542 }); | 1048 (e) { return e is RangeError; }); |
| 1543 Expect.throws(() { | 1049 Expect.throws(() { new Int8List.view(array.buffer, |
| 1544 new Int8List.view(array.buffer, array.lengthInBytes + 1); | 1050 array.length - 1, 2); }, |
| 1545 }, (e) { | 1051 (e) { return e is RangeError; }); |
| 1546 return e is RangeError; | 1052 var empty = new Int8List.view(array.buffer, |
| 1547 }); | 1053 array.lengthInBytes); |
| 1548 Expect.throws(() { | |
| 1549 new Int8List.view(array.buffer, 0, array.length + 1); | |
| 1550 }, (e) { | |
| 1551 return e is RangeError; | |
| 1552 }); | |
| 1553 Expect.throws(() { | |
| 1554 new Int8List.view(array.buffer, array.length - 1, 2); | |
| 1555 }, (e) { | |
| 1556 return e is RangeError; | |
| 1557 }); | |
| 1558 var empty = new Int8List.view(array.buffer, array.lengthInBytes); | |
| 1559 Expect.isTrue(empty is List<int>); | 1054 Expect.isTrue(empty is List<int>); |
| 1560 Expect.isTrue(empty is Int8List); | 1055 Expect.isTrue(empty is Int8List); |
| 1561 Expect.equals(0, empty.length); | 1056 Expect.equals(0, empty.length); |
| 1562 var whole = new Int8List.view(array.buffer); | 1057 var whole = new Int8List.view(array.buffer); |
| 1563 Expect.isTrue(whole is List<int>); | 1058 Expect.isTrue(whole is List<int>); |
| 1564 Expect.isTrue(whole is Int8List); | 1059 Expect.isTrue(whole is Int8List); |
| 1565 Expect.equals(12, whole.length); | 1060 Expect.equals(12, whole.length); |
| 1566 var view = new Int8List.view(array.buffer, 1, array.length - 2); | 1061 var view = new Int8List.view(array.buffer, 1, array.length - 2); |
| 1567 Expect.isTrue(view is List<int>); | 1062 Expect.isTrue(view is List<int>); |
| 1568 Expect.isTrue(view is Int8List); | 1063 Expect.isTrue(view is Int8List); |
| 1569 Expect.equals(10, view.length); | 1064 Expect.equals(10, view.length); |
| 1570 Expect.equals(1, view.elementSizeInBytes); | 1065 Expect.equals(1, view.elementSizeInBytes); |
| 1571 Expect.equals(10, view.lengthInBytes); | 1066 Expect.equals(10, view.lengthInBytes); |
| 1572 Expect.listEquals([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], view); | 1067 Expect.listEquals([-1, -1, -1, -1, -1, |
| 1573 Expect.throws(() { | 1068 -1, -1, -1, -1, -1], |
| 1574 view[-1] = 0; | 1069 view); |
| 1575 }, (e) { | 1070 Expect.throws(() { view[-1] = 0; }, |
| 1576 return e is RangeError; | 1071 (e) { return e is RangeError; }); |
| 1577 }); | 1072 Expect.throws(() { return view[-1]; }, |
| 1578 Expect.throws(() { | 1073 (e) { return e is RangeError; }); |
| 1579 return view[-1]; | 1074 Expect.throws(() { view[view.length]; }, |
| 1580 }, (e) { | 1075 (e) { return e is RangeError; }); |
| 1581 return e is RangeError; | 1076 Expect.throws(() { view[10] = 0; }, |
| 1582 }); | 1077 (e) { return e is RangeError; }); |
| 1583 Expect.throws(() { | 1078 Expect.throws(() { view.add(0); }, |
| 1584 view[view.length]; | 1079 (e) { return e is UnsupportedError; }); |
| 1585 }, (e) { | 1080 Expect.throws(() { view.addAll([0]); }, |
| 1586 return e is RangeError; | 1081 (e) { return e is UnsupportedError; }); |
| 1587 }); | 1082 Expect.throws(() { view.clear(); }, |
| 1588 Expect.throws(() { | 1083 (e) { return e is UnsupportedError; }); |
| 1589 view[10] = 0; | 1084 Expect.throws(() { view.length = 0; }, |
| 1590 }, (e) { | 1085 (e) { return e is UnsupportedError; }); |
| 1591 return e is RangeError; | 1086 Expect.throws(() { view.removeLast(); }, |
| 1592 }); | 1087 (e) { return e is UnsupportedError; }); |
| 1593 Expect.throws(() { | 1088 Expect.throws(() { view.removeRange(0, view.length - 1); }, |
| 1594 view.add(0); | 1089 (e) { return e is UnsupportedError; }); |
| 1595 }, (e) { | |
| 1596 return e is UnsupportedError; | |
| 1597 }); | |
| 1598 Expect.throws(() { | |
| 1599 view.addAll([0]); | |
| 1600 }, (e) { | |
| 1601 return e is UnsupportedError; | |
| 1602 }); | |
| 1603 Expect.throws(() { | |
| 1604 view.clear(); | |
| 1605 }, (e) { | |
| 1606 return e is UnsupportedError; | |
| 1607 }); | |
| 1608 Expect.throws(() { | |
| 1609 view.length = 0; | |
| 1610 }, (e) { | |
| 1611 return e is UnsupportedError; | |
| 1612 }); | |
| 1613 Expect.throws(() { | |
| 1614 view.removeLast(); | |
| 1615 }, (e) { | |
| 1616 return e is UnsupportedError; | |
| 1617 }); | |
| 1618 Expect.throws(() { | |
| 1619 view.removeRange(0, view.length - 1); | |
| 1620 }, (e) { | |
| 1621 return e is UnsupportedError; | |
| 1622 }); | |
| 1623 for (int i = 0; i < view.length; ++i) { | 1090 for (int i = 0; i < view.length; ++i) { |
| 1624 view[i] = 1 + i; | 1091 view[i] = 1 + i; |
| 1625 } | 1092 } |
| 1626 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], view); | 1093 Expect.listEquals([1, 2, 3, 4, 5, |
| 1627 Expect.listEquals([0xFF, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0xFF], array); | 1094 6, 7, 8, 9, 10], |
| 1095 view); |
| 1096 Expect.listEquals([0xFF, 1, 2, 3, 4, 5, |
| 1097 6, 7, 8, 9, 10, 0xFF], |
| 1098 array); |
| 1628 for (int i = 0; i < view.length; ++i) { | 1099 for (int i = 0; i < view.length; ++i) { |
| 1629 view[i] = 0x100 + i; | 1100 view[i] = 0x100 + i; |
| 1630 } | 1101 } |
| 1631 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], view); | 1102 Expect.listEquals([0, 1, 2, 3, 4, |
| 1632 Expect.listEquals([0xFF, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xFF], array); | 1103 5, 6, 7, 8, 9], |
| 1104 view); |
| 1105 Expect.listEquals([0xFF, 0, 1, 2, 3, 4, |
| 1106 5, 6, 7, 8, 9, 0xFF], |
| 1107 array); |
| 1633 for (int i = 0; i < view.length; ++i) { | 1108 for (int i = 0; i < view.length; ++i) { |
| 1634 view[i] = -10 + i; | 1109 view[i] = -10 + i; |
| 1635 } | 1110 } |
| 1636 Expect.listEquals([-10, -9, -8, -7, -6, -5, -4, -3, -2, -1], view); | 1111 Expect.listEquals([-10, -9, -8, -7, -6, |
| 1637 Expect.listEquals([ | 1112 -5, -4, -3, -2, -1], |
| 1638 0xFF, | 1113 view); |
| 1639 0xF6, | 1114 Expect.listEquals([0xFF, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, |
| 1640 0xF7, | 1115 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0xFF], |
| 1641 0xF8, | 1116 array); |
| 1642 0xF9, | |
| 1643 0xFA, | |
| 1644 0xFB, | |
| 1645 0xFC, | |
| 1646 0xFD, | |
| 1647 0xFE, | |
| 1648 0xFF, | |
| 1649 0xFF | |
| 1650 ], array); | |
| 1651 for (int i = 0; i < view.length; ++i) { | 1117 for (int i = 0; i < view.length; ++i) { |
| 1652 view[i] = 0x7F - i; | 1118 view[i] = 0x7F - i; |
| 1653 } | 1119 } |
| 1654 Expect.listEquals([127, 126, 125, 124, 123, 122, 121, 120, 119, 118], view); | 1120 Expect.listEquals([127, 126, 125, 124, 123, |
| 1655 Expect.listEquals( | 1121 122, 121, 120, 119, 118], |
| 1656 [0xFF, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 0xFF], array); | 1122 view); |
| 1123 Expect.listEquals([0xFF, 127, 126, 125, 124, 123, |
| 1124 122, 121, 120, 119, 118, 0xFF], |
| 1125 array); |
| 1657 for (int i = 0; i < view.length; ++i) { | 1126 for (int i = 0; i < view.length; ++i) { |
| 1658 view[i] = -0x80 + i; | 1127 view[i] = -0x80 + i; |
| 1659 } | 1128 } |
| 1660 Expect.listEquals( | 1129 Expect.listEquals([-128, -127, -126, -125, -124, |
| 1661 [-128, -127, -126, -125, -124, -123, -122, -121, -120, -119], view); | 1130 -123, -122, -121, -120, -119], |
| 1662 Expect.listEquals([ | 1131 view); |
| 1663 0xFF, | 1132 Expect.listEquals([0xFF, 0x80, 0x81, 0x82, 0x83, 0x84, |
| 1664 0x80, | 1133 0x85, 0x86, 0x87, 0x88, 0x89, 0xFF], |
| 1665 0x81, | 1134 array); |
| 1666 0x82, | |
| 1667 0x83, | |
| 1668 0x84, | |
| 1669 0x85, | |
| 1670 0x86, | |
| 1671 0x87, | |
| 1672 0x88, | |
| 1673 0x89, | |
| 1674 0xFF | |
| 1675 ], array); | |
| 1676 for (int i = 0; i < view.length; ++i) { | 1135 for (int i = 0; i < view.length; ++i) { |
| 1677 view[i] = i; | 1136 view[i] = i; |
| 1678 } | 1137 } |
| 1679 var copy = view.sublist(0, view.length); | 1138 var copy = view.sublist(0, view.length); |
| 1680 Expect.isFalse(identical(copy, view)); | 1139 Expect.isFalse(identical(copy, view)); |
| 1681 Expect.isTrue(copy is Int8List); | 1140 Expect.isTrue(copy is Int8List); |
| 1682 Expect.equals(10, copy.length); | 1141 Expect.equals(10, copy.length); |
| 1683 Expect.listEquals(view, copy); | 1142 Expect.listEquals(view, copy); |
| 1684 var region = view.sublist(3, view.length - 3); | 1143 var region = view.sublist(3, view.length - 3); |
| 1685 Expect.isTrue(copy is Int8List); | 1144 Expect.isTrue(copy is Int8List); |
| 1686 Expect.equals(4, region.length); | 1145 Expect.equals(4, region.length); |
| 1687 Expect.listEquals([3, 4, 5, 6], region); | 1146 Expect.listEquals([3, 4, 5, 6], region); |
| 1688 view.setRange(3, 7, [-128, 0, 1, 127]); | 1147 view.setRange(3, 7, [-128, 0, 1, 127]); |
| 1689 Expect.listEquals([0, 1, 2, -128, 0, 1, 127, 7, 8, 9], view); | 1148 Expect.listEquals([0, 1, 2, -128, 0, 1, 127, 7, 8, 9], |
| 1690 Expect.listEquals([0xFF, 0, 1, 2, 128, 0, 1, 127, 7, 8, 9, 0xFF], array); | 1149 view); |
| 1150 Expect.listEquals([0xFF, 0, 1, 2, 128, 0, 1, 127, 7, 8, 9, 0xFF], |
| 1151 array); |
| 1691 } | 1152 } |
| 1692 | |
| 1693 static testInt8ListView() { | 1153 static testInt8ListView() { |
| 1694 var array = new Uint8List(12); | 1154 var array = new Uint8List(12); |
| 1695 testInt8ListViewImpl(array); | 1155 testInt8ListViewImpl(array); |
| 1696 } | 1156 } |
| 1697 | 1157 |
| 1698 static testUint8ListViewImpl(var array) { | 1158 static testUint8ListViewImpl(var array) { |
| 1699 Expect.isTrue(array is List<int>); | 1159 Expect.isTrue(array is List<int>); |
| 1700 Expect.equals(12, array.length); | 1160 Expect.equals(12, array.length); |
| 1701 Expect.equals(1, array.elementSizeInBytes); | 1161 Expect.equals(1, array.elementSizeInBytes); |
| 1702 Expect.equals(12, array.lengthInBytes); | 1162 Expect.equals(12, array.lengthInBytes); |
| 1703 for (int i = 0; i < array.length; ++i) { | 1163 for (int i = 0; i < array.length; ++i) { |
| 1704 array[i] = -1; | 1164 array[i] = -1; |
| 1705 } | 1165 } |
| 1706 Expect.throws(() { | 1166 Expect.throws(() { new Uint8List.view(array.buffer, -1); }, |
| 1707 new Uint8List.view(array.buffer, -1); | 1167 (e) { return e is RangeError; }); |
| 1708 }, (e) { | 1168 Expect.throws(() { new Uint8List.view(array.buffer, 0, -1); }, |
| 1709 return e is RangeError; | 1169 (e) { return e is RangeError; }); |
| 1710 }); | 1170 Expect.throws(() { new Uint8List.view(array.buffer, |
| 1711 Expect.throws(() { | 1171 array.lengthInBytes + 1); }, |
| 1712 new Uint8List.view(array.buffer, 0, -1); | 1172 (e) { return e is RangeError; }); |
| 1713 }, (e) { | 1173 Expect.throws(() { new Uint8List.view(array.buffer, |
| 1714 return e is RangeError; | 1174 0, array.length + 1); }, |
| 1715 }); | 1175 (e) { return e is RangeError; }); |
| 1716 Expect.throws(() { | 1176 Expect.throws(() { new Uint8List.view(array.buffer, |
| 1717 new Uint8List.view(array.buffer, array.lengthInBytes + 1); | 1177 array.length - 1, 2); }, |
| 1718 }, (e) { | 1178 (e) { return e is RangeError; }); |
| 1719 return e is RangeError; | 1179 var empty = new Uint8List.view(array.buffer, |
| 1720 }); | 1180 array.lengthInBytes); |
| 1721 Expect.throws(() { | |
| 1722 new Uint8List.view(array.buffer, 0, array.length + 1); | |
| 1723 }, (e) { | |
| 1724 return e is RangeError; | |
| 1725 }); | |
| 1726 Expect.throws(() { | |
| 1727 new Uint8List.view(array.buffer, array.length - 1, 2); | |
| 1728 }, (e) { | |
| 1729 return e is RangeError; | |
| 1730 }); | |
| 1731 var empty = new Uint8List.view(array.buffer, array.lengthInBytes); | |
| 1732 Expect.isTrue(empty is List<int>); | 1181 Expect.isTrue(empty is List<int>); |
| 1733 Expect.isTrue(empty is Uint8List); | 1182 Expect.isTrue(empty is Uint8List); |
| 1734 Expect.equals(0, empty.length); | 1183 Expect.equals(0, empty.length); |
| 1735 var whole = new Uint8List.view(array.buffer); | 1184 var whole = new Uint8List.view(array.buffer); |
| 1736 Expect.isTrue(whole is List<int>); | 1185 Expect.isTrue(whole is List<int>); |
| 1737 Expect.isTrue(whole is Uint8List); | 1186 Expect.isTrue(whole is Uint8List); |
| 1738 Expect.equals(12, whole.length); | 1187 Expect.equals(12, whole.length); |
| 1739 var view = new Uint8List.view(array.buffer, 1, array.length - 2); | 1188 var view = new Uint8List.view(array.buffer, 1, array.length - 2); |
| 1740 Expect.isTrue(view is List<int>); | 1189 Expect.isTrue(view is List<int>); |
| 1741 Expect.isTrue(view is Uint8List); | 1190 Expect.isTrue(view is Uint8List); |
| 1742 Expect.equals(10, view.length); | 1191 Expect.equals(10, view.length); |
| 1743 Expect.equals(1, view.elementSizeInBytes); | 1192 Expect.equals(1, view.elementSizeInBytes); |
| 1744 Expect.equals(10, view.lengthInBytes); | 1193 Expect.equals(10, view.lengthInBytes); |
| 1745 Expect.listEquals( | 1194 Expect.listEquals([0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 1746 [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], view); | 1195 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], |
| 1747 Expect.throws(() { | 1196 view); |
| 1748 view[-1] = 0; | 1197 Expect.throws(() { view[-1] = 0; }, |
| 1749 }, (e) { | 1198 (e) { return e is RangeError; }); |
| 1750 return e is RangeError; | 1199 Expect.throws(() { return view[-1]; }, |
| 1751 }); | 1200 (e) { return e is RangeError; }); |
| 1752 Expect.throws(() { | 1201 Expect.throws(() { view[view.length]; }, |
| 1753 return view[-1]; | 1202 (e) { return e is RangeError; }); |
| 1754 }, (e) { | 1203 Expect.throws(() { view[view.length] = 0; }, |
| 1755 return e is RangeError; | 1204 (e) { return e is RangeError; }); |
| 1756 }); | 1205 Expect.throws(() { view.add(0); }, |
| 1757 Expect.throws(() { | 1206 (e) { return e is UnsupportedError; }); |
| 1758 view[view.length]; | 1207 Expect.throws(() { view.addAll([0]); }, |
| 1759 }, (e) { | 1208 (e) { return e is UnsupportedError; }); |
| 1760 return e is RangeError; | 1209 Expect.throws(() { view.clear(); }, |
| 1761 }); | 1210 (e) { return e is UnsupportedError; }); |
| 1762 Expect.throws(() { | 1211 Expect.throws(() { view.length = 0; }, |
| 1763 view[view.length] = 0; | 1212 (e) { return e is UnsupportedError; }); |
| 1764 }, (e) { | 1213 Expect.throws(() { view.removeLast(); }, |
| 1765 return e is RangeError; | 1214 (e) { return e is UnsupportedError; }); |
| 1766 }); | 1215 Expect.throws(() { view.removeRange(0, view.length - 1); }, |
| 1767 Expect.throws(() { | 1216 (e) { return e is UnsupportedError; }); |
| 1768 view.add(0); | |
| 1769 }, (e) { | |
| 1770 return e is UnsupportedError; | |
| 1771 }); | |
| 1772 Expect.throws(() { | |
| 1773 view.addAll([0]); | |
| 1774 }, (e) { | |
| 1775 return e is UnsupportedError; | |
| 1776 }); | |
| 1777 Expect.throws(() { | |
| 1778 view.clear(); | |
| 1779 }, (e) { | |
| 1780 return e is UnsupportedError; | |
| 1781 }); | |
| 1782 Expect.throws(() { | |
| 1783 view.length = 0; | |
| 1784 }, (e) { | |
| 1785 return e is UnsupportedError; | |
| 1786 }); | |
| 1787 Expect.throws(() { | |
| 1788 view.removeLast(); | |
| 1789 }, (e) { | |
| 1790 return e is UnsupportedError; | |
| 1791 }); | |
| 1792 Expect.throws(() { | |
| 1793 view.removeRange(0, view.length - 1); | |
| 1794 }, (e) { | |
| 1795 return e is UnsupportedError; | |
| 1796 }); | |
| 1797 for (int i = 0; i < view.length; ++i) { | 1217 for (int i = 0; i < view.length; ++i) { |
| 1798 view[i] = 1 + i; | 1218 view[i] = 1 + i; |
| 1799 } | 1219 } |
| 1800 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], view); | 1220 Expect.listEquals([1, 2, 3, 4, 5, |
| 1801 Expect.listEquals([-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, -1], array); | 1221 6, 7, 8, 9, 10], |
| 1222 view); |
| 1223 Expect.listEquals([-1, 1, 2, 3, 4, 5, |
| 1224 6, 7, 8, 9, 10, -1], |
| 1225 array); |
| 1802 for (int i = 0; i < view.length; ++i) { | 1226 for (int i = 0; i < view.length; ++i) { |
| 1803 view[i] = 0x100 + i; | 1227 view[i] = 0x100 + i; |
| 1804 } | 1228 } |
| 1805 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], view); | 1229 Expect.listEquals([0, 1, 2, 3, 4, |
| 1806 Expect.listEquals([-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1], array); | 1230 5, 6, 7, 8, 9], |
| 1231 view); |
| 1232 Expect.listEquals([-1, 0, 1, 2, 3, 4, |
| 1233 5, 6, 7, 8, 9, -1], |
| 1234 array); |
| 1807 for (int i = 0; i < view.length; ++i) { | 1235 for (int i = 0; i < view.length; ++i) { |
| 1808 view[i] = 0xFF - i; | 1236 view[i] = 0xFF - i; |
| 1809 } | 1237 } |
| 1810 Expect.listEquals( | 1238 Expect.listEquals([0xFF, 0xFE, 0xFD, 0xFC, 0xFB, |
| 1811 [0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, 0xF7, 0xF6], view); | 1239 0xFA, 0xF9, 0xF8, 0xF7, 0xF6], |
| 1812 Expect.listEquals([-1, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -1], array); | 1240 view); |
| 1241 Expect.listEquals([-1, -1, -2, -3, -4, -5, |
| 1242 -6, -7, -8, -9, -10, -1], |
| 1243 array); |
| 1813 for (int i = 0; i < view.length; ++i) { | 1244 for (int i = 0; i < view.length; ++i) { |
| 1814 view[i] = i; | 1245 view[i] = i; |
| 1815 } | 1246 } |
| 1816 var copy = view.sublist(0, view.length); | 1247 var copy = view.sublist(0, view.length); |
| 1817 Expect.isFalse(identical(copy, view)); | 1248 Expect.isFalse(identical(copy, view)); |
| 1818 Expect.isTrue(copy is Uint8List); | 1249 Expect.isTrue(copy is Uint8List); |
| 1819 Expect.equals(10, copy.length); | 1250 Expect.equals(10, copy.length); |
| 1820 Expect.listEquals(view, copy); | 1251 Expect.listEquals(view, copy); |
| 1821 var region = view.sublist(3, view.length - 3); | 1252 var region = view.sublist(3, view.length - 3); |
| 1822 Expect.isTrue(copy is Uint8List); | 1253 Expect.isTrue(copy is Uint8List); |
| 1823 Expect.equals(4, region.length); | 1254 Expect.equals(4, region.length); |
| 1824 Expect.listEquals([3, 4, 5, 6], region); | 1255 Expect.listEquals([3, 4, 5, 6], region); |
| 1825 view.setRange(3, 7, [257, 0, 1, 255]); | 1256 view.setRange(3, 7, [257, 0, 1, 255]); |
| 1826 Expect.listEquals([0, 1, 2, 1, 0, 1, 255, 7, 8, 9], view); | 1257 Expect.listEquals([0, 1, 2, 1, 0, 1, 255, 7, 8, 9], |
| 1258 view); |
| 1827 } | 1259 } |
| 1828 | 1260 |
| 1829 static testUint8ListView() { | 1261 static testUint8ListView() { |
| 1830 var array = new Int8List(12); | 1262 var array = new Int8List(12); |
| 1831 testUint8ListViewImpl(array); | 1263 testUint8ListViewImpl(array); |
| 1832 } | 1264 } |
| 1833 | 1265 |
| 1834 static testInt16ListViewImpl(var array) { | 1266 static testInt16ListViewImpl(var array) { |
| 1835 Expect.equals(24, array.length); | 1267 Expect.equals(24, array.length); |
| 1836 Expect.equals(1, array.elementSizeInBytes); | 1268 Expect.equals(1, array.elementSizeInBytes); |
| 1837 Expect.equals(24, array.lengthInBytes); | 1269 Expect.equals(24, array.lengthInBytes); |
| 1838 for (int i = 0; i < array.length; ++i) { | 1270 for (int i = 0; i < array.length; ++i) { |
| 1839 array[i] = 0xFF; | 1271 array[i] = 0xFF; |
| 1840 } | 1272 } |
| 1841 Expect.throws(() { | 1273 Expect.throws(() { new Int16List.view(array.buffer, -1); }, |
| 1842 new Int16List.view(array.buffer, -1); | 1274 (e) { return e is RangeError; }); |
| 1843 }, (e) { | 1275 Expect.throws(() { new Int16List.view(array.buffer, 0, -1); }, |
| 1844 return e is RangeError; | 1276 (e) { return e is RangeError; }); |
| 1845 }); | 1277 Expect.throws(() { new Int16List.view(array.buffer, |
| 1846 Expect.throws(() { | 1278 array.lengthInBytes + 1); }, |
| 1847 new Int16List.view(array.buffer, 0, -1); | 1279 (e) { return e is RangeError; }); |
| 1848 }, (e) { | 1280 Expect.throws(() { new Int16List.view(array.buffer, |
| 1849 return e is RangeError; | 1281 0, array.length + 1); }, |
| 1850 }); | 1282 (e) { return e is RangeError; }); |
| 1851 Expect.throws(() { | 1283 Expect.throws(() { new Int16List.view(array.buffer, |
| 1852 new Int16List.view(array.buffer, array.lengthInBytes + 1); | 1284 array.length - 1, 2); }, |
| 1853 }, (e) { | 1285 (e) { return e is RangeError; }); |
| 1854 return e is RangeError; | 1286 var empty = new Int16List.view(array.buffer, |
| 1855 }); | 1287 array.lengthInBytes); |
| 1856 Expect.throws(() { | |
| 1857 new Int16List.view(array.buffer, 0, array.length + 1); | |
| 1858 }, (e) { | |
| 1859 return e is RangeError; | |
| 1860 }); | |
| 1861 Expect.throws(() { | |
| 1862 new Int16List.view(array.buffer, array.length - 1, 2); | |
| 1863 }, (e) { | |
| 1864 return e is RangeError; | |
| 1865 }); | |
| 1866 var empty = new Int16List.view(array.buffer, array.lengthInBytes); | |
| 1867 Expect.isTrue(empty is List<int>); | 1288 Expect.isTrue(empty is List<int>); |
| 1868 Expect.isTrue(empty is Int16List); | 1289 Expect.isTrue(empty is Int16List); |
| 1869 Expect.equals(0, empty.length); | 1290 Expect.equals(0, empty.length); |
| 1870 var whole = new Int16List.view(array.buffer); | 1291 var whole = new Int16List.view(array.buffer); |
| 1871 Expect.isTrue(whole is List<int>); | 1292 Expect.isTrue(whole is List<int>); |
| 1872 Expect.isTrue(whole is Int16List); | 1293 Expect.isTrue(whole is Int16List); |
| 1873 Expect.equals(12, whole.length); | 1294 Expect.equals(12, whole.length); |
| 1874 var view = new Int16List.view(array.buffer, 2, 10); | 1295 var view = new Int16List.view(array.buffer, 2, 10); |
| 1875 Expect.isTrue(view is List<int>); | 1296 Expect.isTrue(view is List<int>); |
| 1876 Expect.isTrue(view is Int16List); | 1297 Expect.isTrue(view is Int16List); |
| 1877 Expect.equals(10, view.length); | 1298 Expect.equals(10, view.length); |
| 1878 Expect.equals(2, view.elementSizeInBytes); | 1299 Expect.equals(2, view.elementSizeInBytes); |
| 1879 Expect.equals(20, view.lengthInBytes); | 1300 Expect.equals(20, view.lengthInBytes); |
| 1880 Expect.listEquals([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], view); | 1301 Expect.listEquals([-1, -1, -1, -1, -1, |
| 1881 Expect.throws(() { | 1302 -1, -1, -1, -1, -1], |
| 1882 view[-1] = 0; | 1303 view); |
| 1883 }, (e) { | 1304 Expect.throws(() { view[-1] = 0; }, |
| 1884 return e is RangeError; | 1305 (e) { return e is RangeError; }); |
| 1885 }); | 1306 Expect.throws(() { return view[-1]; }, |
| 1886 Expect.throws(() { | 1307 (e) { return e is RangeError; }); |
| 1887 return view[-1]; | 1308 Expect.throws(() { view[view.length]; }, |
| 1888 }, (e) { | 1309 (e) { return e is RangeError; }); |
| 1889 return e is RangeError; | 1310 Expect.throws(() { view[10] = 0; }, |
| 1890 }); | 1311 (e) { return e is RangeError; }); |
| 1891 Expect.throws(() { | 1312 Expect.throws(() { view.add(0); }, |
| 1892 view[view.length]; | 1313 (e) { return e is UnsupportedError; }); |
| 1893 }, (e) { | 1314 Expect.throws(() { view.addAll([0]); }, |
| 1894 return e is RangeError; | 1315 (e) { return e is UnsupportedError; }); |
| 1895 }); | 1316 Expect.throws(() { view.clear(); }, |
| 1896 Expect.throws(() { | 1317 (e) { return e is UnsupportedError; }); |
| 1897 view[10] = 0; | 1318 Expect.throws(() { view.length = 0; }, |
| 1898 }, (e) { | 1319 (e) { return e is UnsupportedError; }); |
| 1899 return e is RangeError; | 1320 Expect.throws(() { view.removeLast(); }, |
| 1900 }); | 1321 (e) { return e is UnsupportedError; }); |
| 1901 Expect.throws(() { | 1322 Expect.throws(() { view.removeRange(0, view.length - 1); }, |
| 1902 view.add(0); | 1323 (e) { return e is UnsupportedError; }); |
| 1903 }, (e) { | |
| 1904 return e is UnsupportedError; | |
| 1905 }); | |
| 1906 Expect.throws(() { | |
| 1907 view.addAll([0]); | |
| 1908 }, (e) { | |
| 1909 return e is UnsupportedError; | |
| 1910 }); | |
| 1911 Expect.throws(() { | |
| 1912 view.clear(); | |
| 1913 }, (e) { | |
| 1914 return e is UnsupportedError; | |
| 1915 }); | |
| 1916 Expect.throws(() { | |
| 1917 view.length = 0; | |
| 1918 }, (e) { | |
| 1919 return e is UnsupportedError; | |
| 1920 }); | |
| 1921 Expect.throws(() { | |
| 1922 view.removeLast(); | |
| 1923 }, (e) { | |
| 1924 return e is UnsupportedError; | |
| 1925 }); | |
| 1926 Expect.throws(() { | |
| 1927 view.removeRange(0, view.length - 1); | |
| 1928 }, (e) { | |
| 1929 return e is UnsupportedError; | |
| 1930 }); | |
| 1931 for (int i = 0; i < view.length; ++i) { | 1324 for (int i = 0; i < view.length; ++i) { |
| 1932 view[i] = 1 + i; | 1325 view[i] = 1 + i; |
| 1933 } | 1326 } |
| 1934 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], view); | 1327 Expect.listEquals([1, 2, 3, 4, 5, |
| 1935 Expect.listEquals([ | 1328 6, 7, 8, 9, 10], |
| 1936 0xFF, | 1329 view); |
| 1937 0xFF, | 1330 Expect.listEquals([0xFF, 0xFF, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, |
| 1938 0x01, | 1331 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, |
| 1939 0x00, | 1332 0x08, 0x00, 0x09, 0x00, 0x0A, 0x00, 0xFF, 0xFF], |
| 1940 0x02, | 1333 array); |
| 1941 0x00, | |
| 1942 0x03, | |
| 1943 0x00, | |
| 1944 0x04, | |
| 1945 0x00, | |
| 1946 0x05, | |
| 1947 0x00, | |
| 1948 0x06, | |
| 1949 0x00, | |
| 1950 0x07, | |
| 1951 0x00, | |
| 1952 0x08, | |
| 1953 0x00, | |
| 1954 0x09, | |
| 1955 0x00, | |
| 1956 0x0A, | |
| 1957 0x00, | |
| 1958 0xFF, | |
| 1959 0xFF | |
| 1960 ], array); | |
| 1961 for (int i = 0; i < view.length; ++i) { | 1334 for (int i = 0; i < view.length; ++i) { |
| 1962 view[i] = 0x10000 + i; | 1335 view[i] = 0x10000 + i; |
| 1963 } | 1336 } |
| 1964 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], view); | 1337 Expect.listEquals([0, 1, 2, 3, 4, |
| 1965 Expect.listEquals([ | 1338 5, 6, 7, 8, 9], |
| 1966 0xFF, | 1339 view); |
| 1967 0xFF, | 1340 Expect.listEquals([0xFF, 0xFF, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, |
| 1968 0x00, | 1341 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, |
| 1969 0x00, | 1342 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0xFF, 0xFF], |
| 1970 0x01, | 1343 array); |
| 1971 0x00, | |
| 1972 0x02, | |
| 1973 0x00, | |
| 1974 0x03, | |
| 1975 0x00, | |
| 1976 0x04, | |
| 1977 0x00, | |
| 1978 0x05, | |
| 1979 0x00, | |
| 1980 0x06, | |
| 1981 0x00, | |
| 1982 0x07, | |
| 1983 0x00, | |
| 1984 0x08, | |
| 1985 0x00, | |
| 1986 0x09, | |
| 1987 0x00, | |
| 1988 0xFF, | |
| 1989 0xFF | |
| 1990 ], array); | |
| 1991 for (int i = 0; i < view.length; ++i) { | 1344 for (int i = 0; i < view.length; ++i) { |
| 1992 view[i] = -10 + i; | 1345 view[i] = -10 + i; |
| 1993 } | 1346 } |
| 1994 Expect.listEquals([-10, -9, -8, -7, -6, -5, -4, -3, -2, -1], view); | 1347 Expect.listEquals([-10, -9, -8, -7, -6, |
| 1995 Expect.listEquals([ | 1348 -5, -4, -3, -2, -1], |
| 1996 0xFF, | 1349 view); |
| 1997 0xFF, | 1350 Expect.listEquals([0xFF, 0xFF, 0xF6, 0xFF, 0xF7, 0xFF, 0xF8, 0xFF, |
| 1998 0xF6, | 1351 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, |
| 1999 0xFF, | 1352 0xFD, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], |
| 2000 0xF7, | 1353 array); |
| 2001 0xFF, | |
| 2002 0xF8, | |
| 2003 0xFF, | |
| 2004 0xF9, | |
| 2005 0xFF, | |
| 2006 0xFA, | |
| 2007 0xFF, | |
| 2008 0xFB, | |
| 2009 0xFF, | |
| 2010 0xFC, | |
| 2011 0xFF, | |
| 2012 0xFD, | |
| 2013 0xFF, | |
| 2014 0xFE, | |
| 2015 0xFF, | |
| 2016 0xFF, | |
| 2017 0xFF, | |
| 2018 0xFF, | |
| 2019 0xFF | |
| 2020 ], array); | |
| 2021 for (int i = 0; i < view.length; ++i) { | 1354 for (int i = 0; i < view.length; ++i) { |
| 2022 view[i] = 0x7FFF - i; | 1355 view[i] = 0x7FFF - i; |
| 2023 } | 1356 } |
| 2024 Expect.listEquals([ | 1357 Expect.listEquals([0x7FFF, 0x7FFE, 0x7FFD, 0x7FFC, 0x7FFB, |
| 2025 0x7FFF, | 1358 0x7FFA, 0x7FF9, 0x7FF8, 0x7FF7, 0x7FF6], |
| 2026 0x7FFE, | 1359 view); |
| 2027 0x7FFD, | 1360 Expect.listEquals([0xFF, 0xFF, 0xFF, 0x7F, 0xFE, 0x7F, 0xFD, 0x7F, |
| 2028 0x7FFC, | 1361 0xFC, 0x7F, 0xFB, 0x7F, 0xFA, 0x7F, 0xF9, 0x7F, |
| 2029 0x7FFB, | 1362 0xF8, 0x7F, 0xF7, 0x7F, 0xF6, 0x7F, 0xFF, 0xFF], |
| 2030 0x7FFA, | 1363 array); |
| 2031 0x7FF9, | |
| 2032 0x7FF8, | |
| 2033 0x7FF7, | |
| 2034 0x7FF6 | |
| 2035 ], view); | |
| 2036 Expect.listEquals([ | |
| 2037 0xFF, | |
| 2038 0xFF, | |
| 2039 0xFF, | |
| 2040 0x7F, | |
| 2041 0xFE, | |
| 2042 0x7F, | |
| 2043 0xFD, | |
| 2044 0x7F, | |
| 2045 0xFC, | |
| 2046 0x7F, | |
| 2047 0xFB, | |
| 2048 0x7F, | |
| 2049 0xFA, | |
| 2050 0x7F, | |
| 2051 0xF9, | |
| 2052 0x7F, | |
| 2053 0xF8, | |
| 2054 0x7F, | |
| 2055 0xF7, | |
| 2056 0x7F, | |
| 2057 0xF6, | |
| 2058 0x7F, | |
| 2059 0xFF, | |
| 2060 0xFF | |
| 2061 ], array); | |
| 2062 for (int i = 0; i < view.length; ++i) { | 1364 for (int i = 0; i < view.length; ++i) { |
| 2063 view[i] = -0x8000 + i; | 1365 view[i] = -0x8000 + i; |
| 2064 } | 1366 } |
| 2065 Expect.listEquals([ | 1367 Expect.listEquals([-0x8000, -0x7FFF, -0x7FFE, -0x7FFD, -0x7FFC, |
| 2066 -0x8000, | 1368 -0x7FFB, -0x7FFA, -0x7FF9, -0x7FF8, -0x7FF7], |
| 2067 -0x7FFF, | 1369 view); |
| 2068 -0x7FFE, | 1370 Expect.listEquals([0xFF, 0xFF, 0x00, 0x80, 0x01, 0x80, 0x02, 0x80, |
| 2069 -0x7FFD, | 1371 0x03, 0x80, 0x04, 0x80, 0x05, 0x80, 0x06, 0x80, |
| 2070 -0x7FFC, | 1372 0x07, 0x80, 0x08, 0x80, 0x09, 0x80, 0xFF, 0xFF], |
| 2071 -0x7FFB, | 1373 array); |
| 2072 -0x7FFA, | |
| 2073 -0x7FF9, | |
| 2074 -0x7FF8, | |
| 2075 -0x7FF7 | |
| 2076 ], view); | |
| 2077 Expect.listEquals([ | |
| 2078 0xFF, | |
| 2079 0xFF, | |
| 2080 0x00, | |
| 2081 0x80, | |
| 2082 0x01, | |
| 2083 0x80, | |
| 2084 0x02, | |
| 2085 0x80, | |
| 2086 0x03, | |
| 2087 0x80, | |
| 2088 0x04, | |
| 2089 0x80, | |
| 2090 0x05, | |
| 2091 0x80, | |
| 2092 0x06, | |
| 2093 0x80, | |
| 2094 0x07, | |
| 2095 0x80, | |
| 2096 0x08, | |
| 2097 0x80, | |
| 2098 0x09, | |
| 2099 0x80, | |
| 2100 0xFF, | |
| 2101 0xFF | |
| 2102 ], array); | |
| 2103 for (int i = 0; i < view.length; ++i) { | 1374 for (int i = 0; i < view.length; ++i) { |
| 2104 view[i] = i; | 1375 view[i] = i; |
| 2105 } | 1376 } |
| 2106 var copy = view.sublist(0, view.length); | 1377 var copy = view.sublist(0, view.length); |
| 2107 Expect.isFalse(identical(copy, view)); | 1378 Expect.isFalse(identical(copy, view)); |
| 2108 Expect.isTrue(copy is Int16List); | 1379 Expect.isTrue(copy is Int16List); |
| 2109 Expect.equals(10, copy.length); | 1380 Expect.equals(10, copy.length); |
| 2110 Expect.listEquals(view, copy); | 1381 Expect.listEquals(view, copy); |
| 2111 var region = view.sublist(3, view.length - 3); | 1382 var region = view.sublist(3, view.length - 3); |
| 2112 Expect.isTrue(copy is Int16List); | 1383 Expect.isTrue(copy is Int16List); |
| 2113 Expect.equals(4, region.length); | 1384 Expect.equals(4, region.length); |
| 2114 Expect.listEquals([3, 4, 5, 6], region); | 1385 Expect.listEquals([3, 4, 5, 6], region); |
| 2115 view.setRange(3, 7, [-32768, 0, 1, 32767]); | 1386 view.setRange(3, 7, [-32768, 0, 1, 32767]); |
| 2116 Expect.listEquals([0, 1, 2, -32768, 0, 1, 32767, 7, 8, 9], view); | 1387 Expect.listEquals([0, 1, 2, -32768, 0, 1, 32767, 7, 8, 9], |
| 2117 Expect.listEquals([ | 1388 view); |
| 2118 0xFF, | 1389 Expect.listEquals([0xFF, 0xFF, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, |
| 2119 0xFF, | 1390 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0xFF, 0x7F, |
| 2120 0x00, | 1391 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0xFF, 0xFF], |
| 2121 0x00, | 1392 array); |
| 2122 0x01, | |
| 2123 0x00, | |
| 2124 0x02, | |
| 2125 0x00, | |
| 2126 0x00, | |
| 2127 0x80, | |
| 2128 0x00, | |
| 2129 0x00, | |
| 2130 0x01, | |
| 2131 0x00, | |
| 2132 0xFF, | |
| 2133 0x7F, | |
| 2134 0x07, | |
| 2135 0x00, | |
| 2136 0x08, | |
| 2137 0x00, | |
| 2138 0x09, | |
| 2139 0x00, | |
| 2140 0xFF, | |
| 2141 0xFF | |
| 2142 ], array); | |
| 2143 } | 1393 } |
| 2144 | 1394 |
| 2145 static testInt16ListView() { | 1395 static testInt16ListView() { |
| 2146 var array = new Uint8List(24); | 1396 var array = new Uint8List(24); |
| 2147 testInt16ListViewImpl(array); | 1397 testInt16ListViewImpl(array); |
| 2148 } | 1398 } |
| 2149 | 1399 |
| 2150 static testUint16ListViewImpl(var array) { | 1400 static testUint16ListViewImpl(var array) { |
| 2151 Expect.isTrue(array is List<int>); | 1401 Expect.isTrue(array is List<int>); |
| 2152 Expect.equals(24, array.length); | 1402 Expect.equals(24, array.length); |
| 2153 Expect.equals(1, array.elementSizeInBytes); | 1403 Expect.equals(1, array.elementSizeInBytes); |
| 2154 Expect.equals(24, array.lengthInBytes); | 1404 Expect.equals(24, array.lengthInBytes); |
| 2155 for (int i = 0; i < array.length; ++i) { | 1405 for (int i = 0; i < array.length; ++i) { |
| 2156 array[i] = -1; | 1406 array[i] = -1; |
| 2157 } | 1407 } |
| 2158 Expect.throws(() { | 1408 Expect.throws(() { new Uint16List.view(array.buffer, -1); }, |
| 2159 new Uint16List.view(array.buffer, -1); | 1409 (e) { return e is RangeError; }); |
| 2160 }, (e) { | 1410 Expect.throws(() { new Uint16List.view(array.buffer, 0, -1); }, |
| 2161 return e is RangeError; | 1411 (e) { return e is RangeError; }); |
| 2162 }); | 1412 Expect.throws(() { new Uint16List.view(array.buffer, |
| 2163 Expect.throws(() { | 1413 array.lengthInBytes + 1); }, |
| 2164 new Uint16List.view(array.buffer, 0, -1); | 1414 (e) { return e is RangeError; }); |
| 2165 }, (e) { | 1415 Expect.throws(() { new Uint16List.view(array.buffer, |
| 2166 return e is RangeError; | 1416 0, array.length + 1); }, |
| 2167 }); | 1417 (e) { return e is RangeError; }); |
| 2168 Expect.throws(() { | 1418 Expect.throws(() { new Uint16List.view(array.buffer, |
| 2169 new Uint16List.view(array.buffer, array.lengthInBytes + 1); | 1419 array.length - 1, 2); }, |
| 2170 }, (e) { | 1420 (e) { return e is RangeError; }); |
| 2171 return e is RangeError; | 1421 var empty = new Uint16List.view(array.buffer, |
| 2172 }); | 1422 array.lengthInBytes); |
| 2173 Expect.throws(() { | |
| 2174 new Uint16List.view(array.buffer, 0, array.length + 1); | |
| 2175 }, (e) { | |
| 2176 return e is RangeError; | |
| 2177 }); | |
| 2178 Expect.throws(() { | |
| 2179 new Uint16List.view(array.buffer, array.length - 1, 2); | |
| 2180 }, (e) { | |
| 2181 return e is RangeError; | |
| 2182 }); | |
| 2183 var empty = new Uint16List.view(array.buffer, array.lengthInBytes); | |
| 2184 Expect.isTrue(empty is List<int>); | 1423 Expect.isTrue(empty is List<int>); |
| 2185 Expect.isTrue(empty is Uint16List); | 1424 Expect.isTrue(empty is Uint16List); |
| 2186 Expect.equals(0, empty.length); | 1425 Expect.equals(0, empty.length); |
| 2187 var whole = new Uint16List.view(array.buffer); | 1426 var whole = new Uint16List.view(array.buffer); |
| 2188 Expect.isTrue(whole is List<int>); | 1427 Expect.isTrue(whole is List<int>); |
| 2189 Expect.isTrue(whole is Uint16List); | 1428 Expect.isTrue(whole is Uint16List); |
| 2190 Expect.equals(12, whole.length); | 1429 Expect.equals(12, whole.length); |
| 2191 var view = new Uint16List.view(array.buffer, 2, 10); | 1430 var view = new Uint16List.view(array.buffer, 2, 10); |
| 2192 Expect.isTrue(view is List<int>); | 1431 Expect.isTrue(view is List<int>); |
| 2193 Expect.isTrue(view is Uint16List); | 1432 Expect.isTrue(view is Uint16List); |
| 2194 Expect.equals(10, view.length); | 1433 Expect.equals(10, view.length); |
| 2195 Expect.equals(2, view.elementSizeInBytes); | 1434 Expect.equals(2, view.elementSizeInBytes); |
| 2196 Expect.equals(20, view.lengthInBytes); | 1435 Expect.equals(20, view.lengthInBytes); |
| 2197 Expect.listEquals([ | 1436 Expect.listEquals([0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, |
| 2198 0xFFFF, | 1437 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF], |
| 2199 0xFFFF, | 1438 view); |
| 2200 0xFFFF, | 1439 Expect.throws(() { view[-1] = 0; }, |
| 2201 0xFFFF, | 1440 (e) { return e is RangeError; }); |
| 2202 0xFFFF, | 1441 Expect.throws(() { return view[-1]; }, |
| 2203 0xFFFF, | 1442 (e) { return e is RangeError; }); |
| 2204 0xFFFF, | 1443 Expect.throws(() { view[view.length]; }, |
| 2205 0xFFFF, | 1444 (e) { return e is RangeError; }); |
| 2206 0xFFFF, | 1445 Expect.throws(() { view[view.length] = 0; }, |
| 2207 0xFFFF | 1446 (e) { return e is RangeError; }); |
| 2208 ], view); | 1447 Expect.throws(() { view.add(0); }, |
| 2209 Expect.throws(() { | 1448 (e) { return e is UnsupportedError; }); |
| 2210 view[-1] = 0; | 1449 Expect.throws(() { view.addAll([0]); }, |
| 2211 }, (e) { | 1450 (e) { return e is UnsupportedError; }); |
| 2212 return e is RangeError; | 1451 Expect.throws(() { view.clear(); }, |
| 2213 }); | 1452 (e) { return e is UnsupportedError; }); |
| 2214 Expect.throws(() { | 1453 Expect.throws(() { view.length = 0; }, |
| 2215 return view[-1]; | 1454 (e) { return e is UnsupportedError; }); |
| 2216 }, (e) { | 1455 Expect.throws(() { view.removeLast(); }, |
| 2217 return e is RangeError; | 1456 (e) { return e is UnsupportedError; }); |
| 2218 }); | 1457 Expect.throws(() { view.removeRange(0, view.length - 1); }, |
| 2219 Expect.throws(() { | 1458 (e) { return e is UnsupportedError; }); |
| 2220 view[view.length]; | |
| 2221 }, (e) { | |
| 2222 return e is RangeError; | |
| 2223 }); | |
| 2224 Expect.throws(() { | |
| 2225 view[view.length] = 0; | |
| 2226 }, (e) { | |
| 2227 return e is RangeError; | |
| 2228 }); | |
| 2229 Expect.throws(() { | |
| 2230 view.add(0); | |
| 2231 }, (e) { | |
| 2232 return e is UnsupportedError; | |
| 2233 }); | |
| 2234 Expect.throws(() { | |
| 2235 view.addAll([0]); | |
| 2236 }, (e) { | |
| 2237 return e is UnsupportedError; | |
| 2238 }); | |
| 2239 Expect.throws(() { | |
| 2240 view.clear(); | |
| 2241 }, (e) { | |
| 2242 return e is UnsupportedError; | |
| 2243 }); | |
| 2244 Expect.throws(() { | |
| 2245 view.length = 0; | |
| 2246 }, (e) { | |
| 2247 return e is UnsupportedError; | |
| 2248 }); | |
| 2249 Expect.throws(() { | |
| 2250 view.removeLast(); | |
| 2251 }, (e) { | |
| 2252 return e is UnsupportedError; | |
| 2253 }); | |
| 2254 Expect.throws(() { | |
| 2255 view.removeRange(0, view.length - 1); | |
| 2256 }, (e) { | |
| 2257 return e is UnsupportedError; | |
| 2258 }); | |
| 2259 for (int i = 0; i < view.length; ++i) { | 1459 for (int i = 0; i < view.length; ++i) { |
| 2260 view[i] = 1 + i; | 1460 view[i] = 1 + i; |
| 2261 } | 1461 } |
| 2262 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], view); | 1462 Expect.listEquals([1, 2, 3, 4, 5, |
| 2263 Expect.listEquals([ | 1463 6, 7, 8, 9, 10], |
| 2264 -1, | 1464 view); |
| 2265 -1, | 1465 Expect.listEquals([-1, -1, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, |
| 2266 1, | 1466 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, -1, -1], |
| 2267 0, | 1467 array); |
| 2268 2, | |
| 2269 0, | |
| 2270 3, | |
| 2271 0, | |
| 2272 4, | |
| 2273 0, | |
| 2274 5, | |
| 2275 0, | |
| 2276 6, | |
| 2277 0, | |
| 2278 7, | |
| 2279 0, | |
| 2280 8, | |
| 2281 0, | |
| 2282 9, | |
| 2283 0, | |
| 2284 10, | |
| 2285 0, | |
| 2286 -1, | |
| 2287 -1 | |
| 2288 ], array); | |
| 2289 for (int i = 0; i < view.length; ++i) { | 1468 for (int i = 0; i < view.length; ++i) { |
| 2290 view[i] = 0x10000 + i; | 1469 view[i] = 0x10000 + i; |
| 2291 } | 1470 } |
| 2292 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], view); | 1471 Expect.listEquals([0, 1, 2, 3, 4, |
| 2293 Expect.listEquals([ | 1472 5, 6, 7, 8, 9], |
| 2294 -1, | 1473 view); |
| 2295 -1, | 1474 Expect.listEquals([-1, -1, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, |
| 2296 0, | 1475 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, -1, -1], |
| 2297 0, | 1476 array); |
| 2298 1, | |
| 2299 0, | |
| 2300 2, | |
| 2301 0, | |
| 2302 3, | |
| 2303 0, | |
| 2304 4, | |
| 2305 0, | |
| 2306 5, | |
| 2307 0, | |
| 2308 6, | |
| 2309 0, | |
| 2310 7, | |
| 2311 0, | |
| 2312 8, | |
| 2313 0, | |
| 2314 9, | |
| 2315 0, | |
| 2316 -1, | |
| 2317 -1 | |
| 2318 ], array); | |
| 2319 for (int i = 0; i < view.length; ++i) { | 1477 for (int i = 0; i < view.length; ++i) { |
| 2320 view[i] = 0xFFFF - i; | 1478 view[i] = 0xFFFF - i; |
| 2321 } | 1479 } |
| 2322 Expect.listEquals([ | 1480 Expect.listEquals([0xFFFF, 0xFFFE, 0xFFFD, 0xFFFC, 0xFFFB, |
| 2323 0xFFFF, | 1481 0xFFFA, 0xFFF9, 0xFFF8, 0xFFF7, 0xFFF6], |
| 2324 0xFFFE, | 1482 view); |
| 2325 0xFFFD, | 1483 Expect.listEquals([-1, -1, -1, -1, -2, -1, -3, -1, |
| 2326 0xFFFC, | 1484 -4, -1, -5, -1, -6, -1, -7, -1, |
| 2327 0xFFFB, | 1485 -8, -1, -9, -1, -10, -1, -1, -1], |
| 2328 0xFFFA, | 1486 array); |
| 2329 0xFFF9, | |
| 2330 0xFFF8, | |
| 2331 0xFFF7, | |
| 2332 0xFFF6 | |
| 2333 ], view); | |
| 2334 Expect.listEquals([ | |
| 2335 -1, | |
| 2336 -1, | |
| 2337 -1, | |
| 2338 -1, | |
| 2339 -2, | |
| 2340 -1, | |
| 2341 -3, | |
| 2342 -1, | |
| 2343 -4, | |
| 2344 -1, | |
| 2345 -5, | |
| 2346 -1, | |
| 2347 -6, | |
| 2348 -1, | |
| 2349 -7, | |
| 2350 -1, | |
| 2351 -8, | |
| 2352 -1, | |
| 2353 -9, | |
| 2354 -1, | |
| 2355 -10, | |
| 2356 -1, | |
| 2357 -1, | |
| 2358 -1 | |
| 2359 ], array); | |
| 2360 for (int i = 0; i < view.length; ++i) { | 1487 for (int i = 0; i < view.length; ++i) { |
| 2361 view[i] = i; | 1488 view[i] = i; |
| 2362 } | 1489 } |
| 2363 var copy = view.sublist(0, view.length); | 1490 var copy = view.sublist(0, view.length); |
| 2364 Expect.isFalse(identical(copy, view)); | 1491 Expect.isFalse(identical(copy, view)); |
| 2365 Expect.isTrue(copy is Uint16List); | 1492 Expect.isTrue(copy is Uint16List); |
| 2366 Expect.equals(10, copy.length); | 1493 Expect.equals(10, copy.length); |
| 2367 Expect.listEquals(view, copy); | 1494 Expect.listEquals(view, copy); |
| 2368 var region = view.sublist(3, view.length - 3); | 1495 var region = view.sublist(3, view.length - 3); |
| 2369 Expect.isTrue(copy is Uint16List); | 1496 Expect.isTrue(copy is Uint16List); |
| 2370 Expect.equals(4, region.length); | 1497 Expect.equals(4, region.length); |
| 2371 Expect.listEquals([3, 4, 5, 6], region); | 1498 Expect.listEquals([3, 4, 5, 6], region); |
| 2372 view.setRange(3, 7, [0x10001, 0, 1, 0xFFFF]); | 1499 view.setRange(3, 7, [0x10001, 0, 1, 0xFFFF]); |
| 2373 Expect.listEquals([0, 1, 2, 1, 0, 1, 0xFFFF, 7, 8, 9], view); | 1500 Expect.listEquals([0, 1, 2, 1, 0, 1, 0xFFFF, 7, 8, 9], |
| 2374 Expect.listEquals([ | 1501 view); |
| 2375 -1, | 1502 Expect.listEquals([-1, -1, 0, 0, 1, 0, 2, 0, |
| 2376 -1, | 1503 1, 0, 0, 0, 1, 0, -1, -1, |
| 2377 0, | 1504 7, 0, 8, 0, 9, 0, -1, -1], |
| 2378 0, | 1505 array); |
| 2379 1, | |
| 2380 0, | |
| 2381 2, | |
| 2382 0, | |
| 2383 1, | |
| 2384 0, | |
| 2385 0, | |
| 2386 0, | |
| 2387 1, | |
| 2388 0, | |
| 2389 -1, | |
| 2390 -1, | |
| 2391 7, | |
| 2392 0, | |
| 2393 8, | |
| 2394 0, | |
| 2395 9, | |
| 2396 0, | |
| 2397 -1, | |
| 2398 -1 | |
| 2399 ], array); | |
| 2400 } | 1506 } |
| 2401 | 1507 |
| 2402 static testUint16ListView() { | 1508 static testUint16ListView() { |
| 2403 var array = new Int8List(24); | 1509 var array = new Int8List(24); |
| 2404 testUint16ListViewImpl(array); | 1510 testUint16ListViewImpl(array); |
| 2405 } | 1511 } |
| 2406 | 1512 |
| 2407 static testInt32ListView() { | 1513 static testInt32ListView() { |
| 2408 var array = new Uint8List(48); | 1514 var array = new Uint8List(48); |
| 2409 Expect.equals(48, array.length); | 1515 Expect.equals(48, array.length); |
| 2410 Expect.equals(1, array.elementSizeInBytes); | 1516 Expect.equals(1, array.elementSizeInBytes); |
| 2411 Expect.equals(48, array.lengthInBytes); | 1517 Expect.equals(48, array.lengthInBytes); |
| 2412 for (int i = 0; i < array.length; ++i) { | 1518 for (int i = 0; i < array.length; ++i) { |
| 2413 array[i] = 0xFF; | 1519 array[i] = 0xFF; |
| 2414 } | 1520 } |
| 2415 Expect.throws(() { | 1521 Expect.throws(() { new Int32List.view(array.buffer, -1); }, |
| 2416 new Int32List.view(array.buffer, -1); | 1522 (e) { return e is RangeError; }); |
| 2417 }, (e) { | 1523 Expect.throws(() { new Int32List.view(array.buffer, 0, -1); }, |
| 2418 return e is RangeError; | 1524 (e) { return e is RangeError; }); |
| 2419 }); | 1525 Expect.throws(() { new Int32List.view(array.buffer, |
| 2420 Expect.throws(() { | 1526 array.lengthInBytes + 1); }, |
| 2421 new Int32List.view(array.buffer, 0, -1); | 1527 (e) { return e is RangeError; }); |
| 2422 }, (e) { | 1528 Expect.throws(() { new Int32List.view(array.buffer, |
| 2423 return e is RangeError; | 1529 0, array.length + 1); }, |
| 2424 }); | 1530 (e) { return e is RangeError; }); |
| 2425 Expect.throws(() { | 1531 Expect.throws(() { new Int32List.view(array.buffer, |
| 2426 new Int32List.view(array.buffer, array.lengthInBytes + 1); | 1532 array.length - 1, 2); }, |
| 2427 }, (e) { | 1533 (e) { return e is RangeError; }); |
| 2428 return e is RangeError; | 1534 var empty = new Int32List.view(array.buffer, |
| 2429 }); | 1535 array.lengthInBytes); |
| 2430 Expect.throws(() { | |
| 2431 new Int32List.view(array.buffer, 0, array.length + 1); | |
| 2432 }, (e) { | |
| 2433 return e is RangeError; | |
| 2434 }); | |
| 2435 Expect.throws(() { | |
| 2436 new Int32List.view(array.buffer, array.length - 1, 2); | |
| 2437 }, (e) { | |
| 2438 return e is RangeError; | |
| 2439 }); | |
| 2440 var empty = new Int32List.view(array.buffer, array.lengthInBytes); | |
| 2441 Expect.isTrue(empty is List<int>); | 1536 Expect.isTrue(empty is List<int>); |
| 2442 Expect.isTrue(empty is Int32List); | 1537 Expect.isTrue(empty is Int32List); |
| 2443 Expect.equals(0, empty.length); | 1538 Expect.equals(0, empty.length); |
| 2444 var whole = new Int32List.view(array.buffer); | 1539 var whole = new Int32List.view(array.buffer); |
| 2445 Expect.isTrue(whole is List<int>); | 1540 Expect.isTrue(whole is List<int>); |
| 2446 Expect.isTrue(whole is Int32List); | 1541 Expect.isTrue(whole is Int32List); |
| 2447 Expect.equals(12, whole.length); | 1542 Expect.equals(12, whole.length); |
| 2448 var view = new Int32List.view(array.buffer, 4, 10); | 1543 var view = new Int32List.view(array.buffer, 4, 10); |
| 2449 Expect.isTrue(view is List<int>); | 1544 Expect.isTrue(view is List<int>); |
| 2450 Expect.isTrue(view is Int32List); | 1545 Expect.isTrue(view is Int32List); |
| 2451 Expect.equals(10, view.length); | 1546 Expect.equals(10, view.length); |
| 2452 Expect.equals(4, view.elementSizeInBytes); | 1547 Expect.equals(4, view.elementSizeInBytes); |
| 2453 Expect.equals(40, view.lengthInBytes); | 1548 Expect.equals(40, view.lengthInBytes); |
| 2454 Expect.listEquals([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], view); | 1549 Expect.listEquals([-1, -1, -1, -1, -1, |
| 2455 Expect.throws(() { | 1550 -1, -1, -1, -1, -1], |
| 2456 view[-1] = 0; | 1551 view); |
| 2457 }, (e) { | 1552 Expect.throws(() { view[-1] = 0; }, |
| 2458 return e is RangeError; | 1553 (e) { return e is RangeError; }); |
| 2459 }); | 1554 Expect.throws(() { return view[-1]; }, |
| 2460 Expect.throws(() { | 1555 (e) { return e is RangeError; }); |
| 2461 return view[-1]; | 1556 Expect.throws(() { view[view.length]; }, |
| 2462 }, (e) { | 1557 (e) { return e is RangeError; }); |
| 2463 return e is RangeError; | 1558 Expect.throws(() { view[10] = 0; }, |
| 2464 }); | 1559 (e) { return e is RangeError; }); |
| 2465 Expect.throws(() { | 1560 Expect.throws(() { view.add(0); }, |
| 2466 view[view.length]; | 1561 (e) { return e is UnsupportedError; }); |
| 2467 }, (e) { | 1562 Expect.throws(() { view.addAll([0]); }, |
| 2468 return e is RangeError; | 1563 (e) { return e is UnsupportedError; }); |
| 2469 }); | 1564 Expect.throws(() { view.clear(); }, |
| 2470 Expect.throws(() { | 1565 (e) { return e is UnsupportedError; }); |
| 2471 view[10] = 0; | 1566 Expect.throws(() { view.length = 0; }, |
| 2472 }, (e) { | 1567 (e) { return e is UnsupportedError; }); |
| 2473 return e is RangeError; | 1568 Expect.throws(() { view.removeLast(); }, |
| 2474 }); | 1569 (e) { return e is UnsupportedError; }); |
| 2475 Expect.throws(() { | 1570 Expect.throws(() { view.removeRange(0, view.length - 1); }, |
| 2476 view.add(0); | 1571 (e) { return e is UnsupportedError; }); |
| 2477 }, (e) { | |
| 2478 return e is UnsupportedError; | |
| 2479 }); | |
| 2480 Expect.throws(() { | |
| 2481 view.addAll([0]); | |
| 2482 }, (e) { | |
| 2483 return e is UnsupportedError; | |
| 2484 }); | |
| 2485 Expect.throws(() { | |
| 2486 view.clear(); | |
| 2487 }, (e) { | |
| 2488 return e is UnsupportedError; | |
| 2489 }); | |
| 2490 Expect.throws(() { | |
| 2491 view.length = 0; | |
| 2492 }, (e) { | |
| 2493 return e is UnsupportedError; | |
| 2494 }); | |
| 2495 Expect.throws(() { | |
| 2496 view.removeLast(); | |
| 2497 }, (e) { | |
| 2498 return e is UnsupportedError; | |
| 2499 }); | |
| 2500 Expect.throws(() { | |
| 2501 view.removeRange(0, view.length - 1); | |
| 2502 }, (e) { | |
| 2503 return e is UnsupportedError; | |
| 2504 }); | |
| 2505 for (int i = 0; i < view.length; ++i) { | 1572 for (int i = 0; i < view.length; ++i) { |
| 2506 view[i] = 1 + i; | 1573 view[i] = 1 + i; |
| 2507 } | 1574 } |
| 2508 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], view); | 1575 Expect.listEquals([1, 2, 3, 4, 5, |
| 2509 Expect.listEquals([ | 1576 6, 7, 8, 9, 10], |
| 2510 0xFF, | 1577 view); |
| 2511 0xFF, | 1578 Expect.listEquals([0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, |
| 2512 0xFF, | 1579 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, |
| 2513 0xFF, | 1580 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, |
| 2514 0x01, | 1581 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, |
| 2515 0x00, | 1582 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, |
| 2516 0x00, | 1583 0x0A, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF], |
| 2517 0x00, | 1584 array); |
| 2518 0x02, | |
| 2519 0x00, | |
| 2520 0x00, | |
| 2521 0x00, | |
| 2522 0x03, | |
| 2523 0x00, | |
| 2524 0x00, | |
| 2525 0x00, | |
| 2526 0x04, | |
| 2527 0x00, | |
| 2528 0x00, | |
| 2529 0x00, | |
| 2530 0x05, | |
| 2531 0x00, | |
| 2532 0x00, | |
| 2533 0x00, | |
| 2534 0x06, | |
| 2535 0x00, | |
| 2536 0x00, | |
| 2537 0x00, | |
| 2538 0x07, | |
| 2539 0x00, | |
| 2540 0x00, | |
| 2541 0x00, | |
| 2542 0x08, | |
| 2543 0x00, | |
| 2544 0x00, | |
| 2545 0x00, | |
| 2546 0x09, | |
| 2547 0x00, | |
| 2548 0x00, | |
| 2549 0x00, | |
| 2550 0x0A, | |
| 2551 0x00, | |
| 2552 0x00, | |
| 2553 0x00, | |
| 2554 0xFF, | |
| 2555 0xFF, | |
| 2556 0xFF, | |
| 2557 0xFF | |
| 2558 ], array); | |
| 2559 for (int i = 0; i < view.length; ++i) { | 1585 for (int i = 0; i < view.length; ++i) { |
| 2560 view[i] = 0x100000000 + i; | 1586 view[i] = 0x100000000 + i; |
| 2561 } | 1587 } |
| 2562 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], view); | 1588 Expect.listEquals([0, 1, 2, 3, 4, |
| 2563 Expect.listEquals([ | 1589 5, 6, 7, 8, 9], |
| 2564 0xFF, | 1590 view); |
| 2565 0xFF, | 1591 Expect.listEquals([0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, |
| 2566 0xFF, | 1592 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, |
| 2567 0xFF, | 1593 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, |
| 2568 0x00, | 1594 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, |
| 2569 0x00, | 1595 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, |
| 2570 0x00, | 1596 0x09, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF], |
| 2571 0x00, | 1597 array); |
| 2572 0x01, | |
| 2573 0x00, | |
| 2574 0x00, | |
| 2575 0x00, | |
| 2576 0x02, | |
| 2577 0x00, | |
| 2578 0x00, | |
| 2579 0x00, | |
| 2580 0x03, | |
| 2581 0x00, | |
| 2582 0x00, | |
| 2583 0x00, | |
| 2584 0x04, | |
| 2585 0x00, | |
| 2586 0x00, | |
| 2587 0x00, | |
| 2588 0x05, | |
| 2589 0x00, | |
| 2590 0x00, | |
| 2591 0x00, | |
| 2592 0x06, | |
| 2593 0x00, | |
| 2594 0x00, | |
| 2595 0x00, | |
| 2596 0x07, | |
| 2597 0x00, | |
| 2598 0x00, | |
| 2599 0x00, | |
| 2600 0x08, | |
| 2601 0x00, | |
| 2602 0x00, | |
| 2603 0x00, | |
| 2604 0x09, | |
| 2605 0x00, | |
| 2606 0x00, | |
| 2607 0x00, | |
| 2608 0xFF, | |
| 2609 0xFF, | |
| 2610 0xFF, | |
| 2611 0xFF | |
| 2612 ], array); | |
| 2613 for (int i = 0; i < view.length; ++i) { | 1598 for (int i = 0; i < view.length; ++i) { |
| 2614 view[i] = -10 + i; | 1599 view[i] = -10 + i; |
| 2615 } | 1600 } |
| 2616 Expect.listEquals([-10, -9, -8, -7, -6, -5, -4, -3, -2, -1], view); | 1601 Expect.listEquals([-10, -9, -8, -7, -6, |
| 2617 Expect.listEquals([ | 1602 -5, -4, -3, -2, -1], |
| 2618 0xFF, | 1603 view); |
| 2619 0xFF, | 1604 Expect.listEquals([0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0xFF, 0xFF, 0xFF, |
| 2620 0xFF, | 1605 0xF7, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, |
| 2621 0xFF, | 1606 0xF9, 0xFF, 0xFF, 0xFF, 0xFA, 0xFF, 0xFF, 0xFF, |
| 2622 0xF6, | 1607 0xFB, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, |
| 2623 0xFF, | 1608 0xFD, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, |
| 2624 0xFF, | 1609 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], |
| 2625 0xFF, | 1610 array); |
| 2626 0xF7, | |
| 2627 0xFF, | |
| 2628 0xFF, | |
| 2629 0xFF, | |
| 2630 0xF8, | |
| 2631 0xFF, | |
| 2632 0xFF, | |
| 2633 0xFF, | |
| 2634 0xF9, | |
| 2635 0xFF, | |
| 2636 0xFF, | |
| 2637 0xFF, | |
| 2638 0xFA, | |
| 2639 0xFF, | |
| 2640 0xFF, | |
| 2641 0xFF, | |
| 2642 0xFB, | |
| 2643 0xFF, | |
| 2644 0xFF, | |
| 2645 0xFF, | |
| 2646 0xFC, | |
| 2647 0xFF, | |
| 2648 0xFF, | |
| 2649 0xFF, | |
| 2650 0xFD, | |
| 2651 0xFF, | |
| 2652 0xFF, | |
| 2653 0xFF, | |
| 2654 0xFE, | |
| 2655 0xFF, | |
| 2656 0xFF, | |
| 2657 0xFF, | |
| 2658 0xFF, | |
| 2659 0xFF, | |
| 2660 0xFF, | |
| 2661 0xFF, | |
| 2662 0xFF, | |
| 2663 0xFF, | |
| 2664 0xFF, | |
| 2665 0xFF | |
| 2666 ], array); | |
| 2667 for (int i = 0; i < view.length; ++i) { | 1611 for (int i = 0; i < view.length; ++i) { |
| 2668 view[i] = 0x7FFFFFFF - i; | 1612 view[i] = 0x7FFFFFFF - i; |
| 2669 } | 1613 } |
| 2670 Expect.listEquals([ | 1614 Expect.listEquals([0x7FFFFFFF, 0x7FFFFFFE, |
| 2671 0x7FFFFFFF, | 1615 0x7FFFFFFD, 0x7FFFFFFC, |
| 2672 0x7FFFFFFE, | 1616 0x7FFFFFFB, 0x7FFFFFFA, |
| 2673 0x7FFFFFFD, | 1617 0x7FFFFFF9, 0x7FFFFFF8, |
| 2674 0x7FFFFFFC, | 1618 0x7FFFFFF7, 0x7FFFFFF6], |
| 2675 0x7FFFFFFB, | 1619 view); |
| 2676 0x7FFFFFFA, | 1620 Expect.listEquals([0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, |
| 2677 0x7FFFFFF9, | 1621 0xFE, 0xFF, 0xFF, 0x7F, 0xFD, 0xFF, 0xFF, 0x7F, |
| 2678 0x7FFFFFF8, | 1622 0xFC, 0xFF, 0xFF, 0x7F, 0xFB, 0xFF, 0xFF, 0x7F, |
| 2679 0x7FFFFFF7, | 1623 0xFA, 0xFF, 0xFF, 0x7F, 0xF9, 0xFF, 0xFF, 0x7F, |
| 2680 0x7FFFFFF6 | 1624 0xF8, 0xFF, 0xFF, 0x7F, 0xF7, 0xFF, 0xFF, 0x7F, |
| 2681 ], view); | 1625 0xF6, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF], |
| 2682 Expect.listEquals([ | 1626 array); |
| 2683 0xFF, | |
| 2684 0xFF, | |
| 2685 0xFF, | |
| 2686 0xFF, | |
| 2687 0xFF, | |
| 2688 0xFF, | |
| 2689 0xFF, | |
| 2690 0x7F, | |
| 2691 0xFE, | |
| 2692 0xFF, | |
| 2693 0xFF, | |
| 2694 0x7F, | |
| 2695 0xFD, | |
| 2696 0xFF, | |
| 2697 0xFF, | |
| 2698 0x7F, | |
| 2699 0xFC, | |
| 2700 0xFF, | |
| 2701 0xFF, | |
| 2702 0x7F, | |
| 2703 0xFB, | |
| 2704 0xFF, | |
| 2705 0xFF, | |
| 2706 0x7F, | |
| 2707 0xFA, | |
| 2708 0xFF, | |
| 2709 0xFF, | |
| 2710 0x7F, | |
| 2711 0xF9, | |
| 2712 0xFF, | |
| 2713 0xFF, | |
| 2714 0x7F, | |
| 2715 0xF8, | |
| 2716 0xFF, | |
| 2717 0xFF, | |
| 2718 0x7F, | |
| 2719 0xF7, | |
| 2720 0xFF, | |
| 2721 0xFF, | |
| 2722 0x7F, | |
| 2723 0xF6, | |
| 2724 0xFF, | |
| 2725 0xFF, | |
| 2726 0x7F, | |
| 2727 0xFF, | |
| 2728 0xFF, | |
| 2729 0xFF, | |
| 2730 0xFF | |
| 2731 ], array); | |
| 2732 for (int i = 0; i < view.length; ++i) { | 1627 for (int i = 0; i < view.length; ++i) { |
| 2733 view[i] = -0x80000000 + i; | 1628 view[i] = -0x80000000 + i; |
| 2734 } | 1629 } |
| 2735 Expect.listEquals([ | 1630 Expect.listEquals([-0x80000000, -0x7FFFFFFF, |
| 2736 -0x80000000, | 1631 -0x7FFFFFFE, -0x7FFFFFFD, |
| 2737 -0x7FFFFFFF, | 1632 -0x7FFFFFFC, -0x7FFFFFFB, |
| 2738 -0x7FFFFFFE, | 1633 -0x7FFFFFFA, -0x7FFFFFF9, |
| 2739 -0x7FFFFFFD, | 1634 -0x7FFFFFF8, -0x7FFFFFF7], |
| 2740 -0x7FFFFFFC, | 1635 view); |
| 2741 -0x7FFFFFFB, | 1636 Expect.listEquals([0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x80, |
| 2742 -0x7FFFFFFA, | 1637 0x01, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x80, |
| 2743 -0x7FFFFFF9, | 1638 0x03, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x80, |
| 2744 -0x7FFFFFF8, | 1639 0x05, 0x00, 0x00, 0x80, 0x06, 0x00, 0x00, 0x80, |
| 2745 -0x7FFFFFF7 | 1640 0x07, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x80, |
| 2746 ], view); | 1641 0x09, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF], |
| 2747 Expect.listEquals([ | 1642 array); |
| 2748 0xFF, | |
| 2749 0xFF, | |
| 2750 0xFF, | |
| 2751 0xFF, | |
| 2752 0x00, | |
| 2753 0x00, | |
| 2754 0x00, | |
| 2755 0x80, | |
| 2756 0x01, | |
| 2757 0x00, | |
| 2758 0x00, | |
| 2759 0x80, | |
| 2760 0x02, | |
| 2761 0x00, | |
| 2762 0x00, | |
| 2763 0x80, | |
| 2764 0x03, | |
| 2765 0x00, | |
| 2766 0x00, | |
| 2767 0x80, | |
| 2768 0x04, | |
| 2769 0x00, | |
| 2770 0x00, | |
| 2771 0x80, | |
| 2772 0x05, | |
| 2773 0x00, | |
| 2774 0x00, | |
| 2775 0x80, | |
| 2776 0x06, | |
| 2777 0x00, | |
| 2778 0x00, | |
| 2779 0x80, | |
| 2780 0x07, | |
| 2781 0x00, | |
| 2782 0x00, | |
| 2783 0x80, | |
| 2784 0x08, | |
| 2785 0x00, | |
| 2786 0x00, | |
| 2787 0x80, | |
| 2788 0x09, | |
| 2789 0x00, | |
| 2790 0x00, | |
| 2791 0x80, | |
| 2792 0xFF, | |
| 2793 0xFF, | |
| 2794 0xFF, | |
| 2795 0xFF | |
| 2796 ], array); | |
| 2797 for (int i = 0; i < view.length; ++i) { | 1643 for (int i = 0; i < view.length; ++i) { |
| 2798 view[i] = i; | 1644 view[i] = i; |
| 2799 } | 1645 } |
| 2800 var copy = view.sublist(0, view.length); | 1646 var copy = view.sublist(0, view.length); |
| 2801 Expect.isFalse(identical(copy, view)); | 1647 Expect.isFalse(identical(copy, view)); |
| 2802 Expect.isTrue(copy is Int32List); | 1648 Expect.isTrue(copy is Int32List); |
| 2803 Expect.equals(10, copy.length); | 1649 Expect.equals(10, copy.length); |
| 2804 Expect.listEquals(view, copy); | 1650 Expect.listEquals(view, copy); |
| 2805 var region = view.sublist(3, view.length - 3); | 1651 var region = view.sublist(3, view.length - 3); |
| 2806 Expect.isTrue(copy is Int32List); | 1652 Expect.isTrue(copy is Int32List); |
| 2807 Expect.equals(4, region.length); | 1653 Expect.equals(4, region.length); |
| 2808 Expect.listEquals([3, 4, 5, 6], region); | 1654 Expect.listEquals([3, 4, 5, 6], region); |
| 2809 view.setRange(3, 7, [-0x80000000, 0, 1, 0x7FFFFFFF]); | 1655 view.setRange(3, 7, [-0x80000000, 0, 1, 0x7FFFFFFF]); |
| 2810 Expect.listEquals([0, 1, 2, -0x80000000, 0, 1, 0x7FFFFFFF, 7, 8, 9], view); | 1656 Expect.listEquals([0, 1, 2, -0x80000000, 0, 1, 0x7FFFFFFF, 7, 8, 9], |
| 2811 Expect.listEquals([ | 1657 view); |
| 2812 0xFF, | 1658 Expect.listEquals([0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, |
| 2813 0xFF, | 1659 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, |
| 2814 0xFF, | 1660 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, |
| 2815 0xFF, | 1661 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x7F, |
| 2816 0x00, | 1662 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, |
| 2817 0x00, | 1663 0x09, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF], |
| 2818 0x00, | 1664 array); |
| 2819 0x00, | |
| 2820 0x01, | |
| 2821 0x00, | |
| 2822 0x00, | |
| 2823 0x00, | |
| 2824 0x02, | |
| 2825 0x00, | |
| 2826 0x00, | |
| 2827 0x00, | |
| 2828 0x00, | |
| 2829 0x00, | |
| 2830 0x00, | |
| 2831 0x80, | |
| 2832 0x00, | |
| 2833 0x00, | |
| 2834 0x00, | |
| 2835 0x00, | |
| 2836 0x01, | |
| 2837 0x00, | |
| 2838 0x00, | |
| 2839 0x00, | |
| 2840 0xFF, | |
| 2841 0xFF, | |
| 2842 0xFF, | |
| 2843 0x7F, | |
| 2844 0x07, | |
| 2845 0x00, | |
| 2846 0x00, | |
| 2847 0x00, | |
| 2848 0x08, | |
| 2849 0x00, | |
| 2850 0x00, | |
| 2851 0x00, | |
| 2852 0x09, | |
| 2853 0x00, | |
| 2854 0x00, | |
| 2855 0x00, | |
| 2856 0xFF, | |
| 2857 0xFF, | |
| 2858 0xFF, | |
| 2859 0xFF | |
| 2860 ], array); | |
| 2861 } | 1665 } |
| 2862 | 1666 |
| 2863 static testUint32ListViewImpl(var array) { | 1667 static testUint32ListViewImpl(var array) { |
| 2864 Expect.isTrue(array is List<int>); | 1668 Expect.isTrue(array is List<int>); |
| 2865 Expect.equals(48, array.length); | 1669 Expect.equals(48, array.length); |
| 2866 Expect.equals(1, array.elementSizeInBytes); | 1670 Expect.equals(1, array.elementSizeInBytes); |
| 2867 Expect.equals(48, array.lengthInBytes); | 1671 Expect.equals(48, array.lengthInBytes); |
| 2868 for (int i = 0; i < array.length; ++i) { | 1672 for (int i = 0; i < array.length; ++i) { |
| 2869 array[i] = -1; | 1673 array[i] = -1; |
| 2870 } | 1674 } |
| 2871 Expect.throws(() { | 1675 Expect.throws(() { new Uint32List.view(array.buffer, -1); }, |
| 2872 new Uint32List.view(array.buffer, -1); | 1676 (e) { return e is RangeError; }); |
| 2873 }, (e) { | 1677 Expect.throws(() { new Uint32List.view(array.buffer, 0, -1); }, |
| 2874 return e is RangeError; | 1678 (e) { return e is RangeError; }); |
| 2875 }); | 1679 Expect.throws(() { new Uint32List.view(array.buffer, |
| 2876 Expect.throws(() { | 1680 array.lengthInBytes + 1); }, |
| 2877 new Uint32List.view(array.buffer, 0, -1); | 1681 (e) { return e is RangeError; }); |
| 2878 }, (e) { | 1682 Expect.throws(() { new Uint32List.view(array.buffer, |
| 2879 return e is RangeError; | 1683 0, array.length + 1); }, |
| 2880 }); | 1684 (e) { return e is RangeError; }); |
| 2881 Expect.throws(() { | 1685 Expect.throws(() { new Uint32List.view(array.buffer, |
| 2882 new Uint32List.view(array.buffer, array.lengthInBytes + 1); | 1686 array.length - 1, 2); }, |
| 2883 }, (e) { | 1687 (e) { return e is RangeError; }); |
| 2884 return e is RangeError; | 1688 var empty = new Uint32List.view(array.buffer, |
| 2885 }); | 1689 array.lengthInBytes); |
| 2886 Expect.throws(() { | |
| 2887 new Uint32List.view(array.buffer, 0, array.length + 1); | |
| 2888 }, (e) { | |
| 2889 return e is RangeError; | |
| 2890 }); | |
| 2891 Expect.throws(() { | |
| 2892 new Uint32List.view(array.buffer, array.length - 1, 2); | |
| 2893 }, (e) { | |
| 2894 return e is RangeError; | |
| 2895 }); | |
| 2896 var empty = new Uint32List.view(array.buffer, array.lengthInBytes); | |
| 2897 Expect.isTrue(empty is List<int>); | 1690 Expect.isTrue(empty is List<int>); |
| 2898 Expect.isTrue(empty is Uint32List); | 1691 Expect.isTrue(empty is Uint32List); |
| 2899 Expect.equals(0, empty.length); | 1692 Expect.equals(0, empty.length); |
| 2900 var whole = new Uint32List.view(array.buffer); | 1693 var whole = new Uint32List.view(array.buffer); |
| 2901 Expect.isTrue(whole is List<int>); | 1694 Expect.isTrue(whole is List<int>); |
| 2902 Expect.isTrue(whole is Uint32List); | 1695 Expect.isTrue(whole is Uint32List); |
| 2903 Expect.equals(12, whole.length); | 1696 Expect.equals(12, whole.length); |
| 2904 var view = new Uint32List.view(array.buffer, 4, 10); | 1697 var view = new Uint32List.view(array.buffer, 4, 10); |
| 2905 Expect.isTrue(view is List<int>); | 1698 Expect.isTrue(view is List<int>); |
| 2906 Expect.isTrue(view is Uint32List); | 1699 Expect.isTrue(view is Uint32List); |
| 2907 Expect.equals(10, view.length); | 1700 Expect.equals(10, view.length); |
| 2908 Expect.equals(4, view.elementSizeInBytes); | 1701 Expect.equals(4, view.elementSizeInBytes); |
| 2909 Expect.equals(40, view.lengthInBytes); | 1702 Expect.equals(40, view.lengthInBytes); |
| 2910 Expect.listEquals([ | 1703 Expect.listEquals([0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFF
F, |
| 2911 0xFFFFFFFF, | 1704 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFF
F], |
| 2912 0xFFFFFFFF, | 1705 view); |
| 2913 0xFFFFFFFF, | 1706 Expect.throws(() { view[-1] = 0; }, |
| 2914 0xFFFFFFFF, | 1707 (e) { return e is RangeError; }); |
| 2915 0xFFFFFFFF, | 1708 Expect.throws(() { return view[-1]; }, |
| 2916 0xFFFFFFFF, | 1709 (e) { return e is RangeError; }); |
| 2917 0xFFFFFFFF, | 1710 Expect.throws(() { view[view.length]; }, |
| 2918 0xFFFFFFFF, | 1711 (e) { return e is RangeError; }); |
| 2919 0xFFFFFFFF, | 1712 Expect.throws(() { view[view.length] = 0; }, |
| 2920 0xFFFFFFFF | 1713 (e) { return e is RangeError; }); |
| 2921 ], view); | 1714 Expect.throws(() { view.add(0); }, |
| 2922 Expect.throws(() { | 1715 (e) { return e is UnsupportedError; }); |
| 2923 view[-1] = 0; | 1716 Expect.throws(() { view.addAll([0]); }, |
| 2924 }, (e) { | 1717 (e) { return e is UnsupportedError; }); |
| 2925 return e is RangeError; | 1718 Expect.throws(() { view.clear(); }, |
| 2926 }); | 1719 (e) { return e is UnsupportedError; }); |
| 2927 Expect.throws(() { | 1720 Expect.throws(() { view.length = 0; }, |
| 2928 return view[-1]; | 1721 (e) { return e is UnsupportedError; }); |
| 2929 }, (e) { | 1722 Expect.throws(() { view.removeLast(); }, |
| 2930 return e is RangeError; | 1723 (e) { return e is UnsupportedError; }); |
| 2931 }); | 1724 Expect.throws(() { view.removeRange(0, view.length - 1); }, |
| 2932 Expect.throws(() { | 1725 (e) { return e is UnsupportedError; }); |
| 2933 view[view.length]; | |
| 2934 }, (e) { | |
| 2935 return e is RangeError; | |
| 2936 }); | |
| 2937 Expect.throws(() { | |
| 2938 view[view.length] = 0; | |
| 2939 }, (e) { | |
| 2940 return e is RangeError; | |
| 2941 }); | |
| 2942 Expect.throws(() { | |
| 2943 view.add(0); | |
| 2944 }, (e) { | |
| 2945 return e is UnsupportedError; | |
| 2946 }); | |
| 2947 Expect.throws(() { | |
| 2948 view.addAll([0]); | |
| 2949 }, (e) { | |
| 2950 return e is UnsupportedError; | |
| 2951 }); | |
| 2952 Expect.throws(() { | |
| 2953 view.clear(); | |
| 2954 }, (e) { | |
| 2955 return e is UnsupportedError; | |
| 2956 }); | |
| 2957 Expect.throws(() { | |
| 2958 view.length = 0; | |
| 2959 }, (e) { | |
| 2960 return e is UnsupportedError; | |
| 2961 }); | |
| 2962 Expect.throws(() { | |
| 2963 view.removeLast(); | |
| 2964 }, (e) { | |
| 2965 return e is UnsupportedError; | |
| 2966 }); | |
| 2967 Expect.throws(() { | |
| 2968 view.removeRange(0, view.length - 1); | |
| 2969 }, (e) { | |
| 2970 return e is UnsupportedError; | |
| 2971 }); | |
| 2972 for (int i = 0; i < view.length; ++i) { | 1726 for (int i = 0; i < view.length; ++i) { |
| 2973 view[i] = 1 + i; | 1727 view[i] = 1 + i; |
| 2974 } | 1728 } |
| 2975 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], view); | 1729 Expect.listEquals([1, 2, 3, 4, 5, |
| 2976 Expect.listEquals([ | 1730 6, 7, 8, 9, 10], |
| 2977 -1, | 1731 view); |
| 2978 -1, | 1732 Expect.listEquals([-1, -1, -1, -1, 1, 0, 0, 0, |
| 2979 -1, | 1733 2, 0, 0, 0, 3, 0, 0, 0, |
| 2980 -1, | 1734 4, 0, 0, 0, 5, 0, 0, 0, |
| 2981 1, | 1735 6, 0, 0, 0, 7, 0, 0, 0, |
| 2982 0, | 1736 8, 0, 0, 0, 9, 0, 0, 0, |
| 2983 0, | 1737 10, 0, 0, 0, -1, -1, -1, -1], |
| 2984 0, | 1738 array); |
| 2985 2, | |
| 2986 0, | |
| 2987 0, | |
| 2988 0, | |
| 2989 3, | |
| 2990 0, | |
| 2991 0, | |
| 2992 0, | |
| 2993 4, | |
| 2994 0, | |
| 2995 0, | |
| 2996 0, | |
| 2997 5, | |
| 2998 0, | |
| 2999 0, | |
| 3000 0, | |
| 3001 6, | |
| 3002 0, | |
| 3003 0, | |
| 3004 0, | |
| 3005 7, | |
| 3006 0, | |
| 3007 0, | |
| 3008 0, | |
| 3009 8, | |
| 3010 0, | |
| 3011 0, | |
| 3012 0, | |
| 3013 9, | |
| 3014 0, | |
| 3015 0, | |
| 3016 0, | |
| 3017 10, | |
| 3018 0, | |
| 3019 0, | |
| 3020 0, | |
| 3021 -1, | |
| 3022 -1, | |
| 3023 -1, | |
| 3024 -1 | |
| 3025 ], array); | |
| 3026 for (int i = 0; i < view.length; ++i) { | 1739 for (int i = 0; i < view.length; ++i) { |
| 3027 view[i] = 0x100000000 + i; | 1740 view[i] = 0x100000000 + i; |
| 3028 } | 1741 } |
| 3029 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], view); | 1742 Expect.listEquals([0, 1, 2, 3, 4, |
| 3030 Expect.listEquals([ | 1743 5, 6, 7, 8, 9], |
| 3031 -1, | 1744 view); |
| 3032 -1, | 1745 Expect.listEquals([-1, -1, -1, -1, 0, 0, 0, 0, |
| 3033 -1, | 1746 1, 0, 0, 0, 2, 0, 0, 0, |
| 3034 -1, | 1747 3, 0, 0, 0, 4, 0, 0, 0, |
| 3035 0, | 1748 5, 0, 0, 0, 6, 0, 0, 0, |
| 3036 0, | 1749 7, 0, 0, 0, 8, 0, 0, 0, |
| 3037 0, | 1750 9, 0, 0, 0, -1, -1, -1, -1], |
| 3038 0, | 1751 array); |
| 3039 1, | |
| 3040 0, | |
| 3041 0, | |
| 3042 0, | |
| 3043 2, | |
| 3044 0, | |
| 3045 0, | |
| 3046 0, | |
| 3047 3, | |
| 3048 0, | |
| 3049 0, | |
| 3050 0, | |
| 3051 4, | |
| 3052 0, | |
| 3053 0, | |
| 3054 0, | |
| 3055 5, | |
| 3056 0, | |
| 3057 0, | |
| 3058 0, | |
| 3059 6, | |
| 3060 0, | |
| 3061 0, | |
| 3062 0, | |
| 3063 7, | |
| 3064 0, | |
| 3065 0, | |
| 3066 0, | |
| 3067 8, | |
| 3068 0, | |
| 3069 0, | |
| 3070 0, | |
| 3071 9, | |
| 3072 0, | |
| 3073 0, | |
| 3074 0, | |
| 3075 -1, | |
| 3076 -1, | |
| 3077 -1, | |
| 3078 -1 | |
| 3079 ], array); | |
| 3080 for (int i = 0; i < view.length; ++i) { | 1752 for (int i = 0; i < view.length; ++i) { |
| 3081 view[i] = 0xFFFFFFFF - i; | 1753 view[i] = 0xFFFFFFFF - i; |
| 3082 } | 1754 } |
| 3083 Expect.listEquals([ | 1755 Expect.listEquals([0xFFFFFFFF, 0xFFFFFFFE, |
| 3084 0xFFFFFFFF, | 1756 0xFFFFFFFD, 0xFFFFFFFC, |
| 3085 0xFFFFFFFE, | 1757 0xFFFFFFFB, 0xFFFFFFFA, |
| 3086 0xFFFFFFFD, | 1758 0xFFFFFFF9, 0xFFFFFFF8, |
| 3087 0xFFFFFFFC, | 1759 0xFFFFFFF7, 0xFFFFFFF6], |
| 3088 0xFFFFFFFB, | 1760 view); |
| 3089 0xFFFFFFFA, | 1761 Expect.listEquals([-1, -1, -1, -1, -1, -1, -1, -1, |
| 3090 0xFFFFFFF9, | 1762 -2, -1, -1, -1, -3, -1, -1, -1, |
| 3091 0xFFFFFFF8, | 1763 -4, -1, -1, -1, -5, -1, -1, -1, |
| 3092 0xFFFFFFF7, | 1764 -6, -1, -1, -1, -7, -1, -1, -1, |
| 3093 0xFFFFFFF6 | 1765 -8, -1, -1, -1, -9, -1, -1, -1, |
| 3094 ], view); | 1766 -10, -1, -1, -1, -1, -1, -1, -1], |
| 3095 Expect.listEquals([ | 1767 array); |
| 3096 -1, | |
| 3097 -1, | |
| 3098 -1, | |
| 3099 -1, | |
| 3100 -1, | |
| 3101 -1, | |
| 3102 -1, | |
| 3103 -1, | |
| 3104 -2, | |
| 3105 -1, | |
| 3106 -1, | |
| 3107 -1, | |
| 3108 -3, | |
| 3109 -1, | |
| 3110 -1, | |
| 3111 -1, | |
| 3112 -4, | |
| 3113 -1, | |
| 3114 -1, | |
| 3115 -1, | |
| 3116 -5, | |
| 3117 -1, | |
| 3118 -1, | |
| 3119 -1, | |
| 3120 -6, | |
| 3121 -1, | |
| 3122 -1, | |
| 3123 -1, | |
| 3124 -7, | |
| 3125 -1, | |
| 3126 -1, | |
| 3127 -1, | |
| 3128 -8, | |
| 3129 -1, | |
| 3130 -1, | |
| 3131 -1, | |
| 3132 -9, | |
| 3133 -1, | |
| 3134 -1, | |
| 3135 -1, | |
| 3136 -10, | |
| 3137 -1, | |
| 3138 -1, | |
| 3139 -1, | |
| 3140 -1, | |
| 3141 -1, | |
| 3142 -1, | |
| 3143 -1 | |
| 3144 ], array); | |
| 3145 for (int i = 0; i < view.length; ++i) { | 1768 for (int i = 0; i < view.length; ++i) { |
| 3146 view[i] = i; | 1769 view[i] = i; |
| 3147 } | 1770 } |
| 3148 var copy = view.sublist(0, view.length); | 1771 var copy = view.sublist(0, view.length); |
| 3149 Expect.isFalse(identical(copy, view)); | 1772 Expect.isFalse(identical(copy, view)); |
| 3150 Expect.isTrue(copy is Uint32List); | 1773 Expect.isTrue(copy is Uint32List); |
| 3151 Expect.equals(10, copy.length); | 1774 Expect.equals(10, copy.length); |
| 3152 Expect.listEquals(view, copy); | 1775 Expect.listEquals(view, copy); |
| 3153 var region = view.sublist(3, view.length - 3); | 1776 var region = view.sublist(3, view.length - 3); |
| 3154 Expect.isTrue(copy is Uint32List); | 1777 Expect.isTrue(copy is Uint32List); |
| 3155 Expect.equals(4, region.length); | 1778 Expect.equals(4, region.length); |
| 3156 Expect.listEquals([3, 4, 5, 6], region); | 1779 Expect.listEquals([3, 4, 5, 6], region); |
| 3157 view.setRange(3, 7, [0x100000001, 0, 1, 0xFFFFFFFF]); | 1780 view.setRange(3, 7, [0x100000001, 0, 1, 0xFFFFFFFF]); |
| 3158 Expect.listEquals([0, 1, 2, 1, 0, 1, 0xFFFFFFFF, 7, 8, 9], view); | 1781 Expect.listEquals([0, 1, 2, 1, 0, 1, 0xFFFFFFFF, 7, 8, 9], |
| 3159 Expect.listEquals([ | 1782 view); |
| 3160 -1, | 1783 Expect.listEquals([-1, -1, -1, -1, 0, 0, 0, 0, |
| 3161 -1, | 1784 1, 0, 0, 0, 2, 0, 0, 0, |
| 3162 -1, | 1785 1, 0, 0, 0, 0, 0, 0, 0, |
| 3163 -1, | 1786 1, 0, 0, 0, -1, -1, -1, -1, |
| 3164 0, | 1787 7, 0, 0, 0, 8, 0, 0, 0, |
| 3165 0, | 1788 9, 0, 0, 0, -1, -1, -1, -1], |
| 3166 0, | 1789 array); |
| 3167 0, | |
| 3168 1, | |
| 3169 0, | |
| 3170 0, | |
| 3171 0, | |
| 3172 2, | |
| 3173 0, | |
| 3174 0, | |
| 3175 0, | |
| 3176 1, | |
| 3177 0, | |
| 3178 0, | |
| 3179 0, | |
| 3180 0, | |
| 3181 0, | |
| 3182 0, | |
| 3183 0, | |
| 3184 1, | |
| 3185 0, | |
| 3186 0, | |
| 3187 0, | |
| 3188 -1, | |
| 3189 -1, | |
| 3190 -1, | |
| 3191 -1, | |
| 3192 7, | |
| 3193 0, | |
| 3194 0, | |
| 3195 0, | |
| 3196 8, | |
| 3197 0, | |
| 3198 0, | |
| 3199 0, | |
| 3200 9, | |
| 3201 0, | |
| 3202 0, | |
| 3203 0, | |
| 3204 -1, | |
| 3205 -1, | |
| 3206 -1, | |
| 3207 -1 | |
| 3208 ], array); | |
| 3209 } | 1790 } |
| 3210 | 1791 |
| 3211 static testUint32ListView() { | 1792 static testUint32ListView() { |
| 3212 var array = new Int8List(48); | 1793 var array = new Int8List(48); |
| 3213 testUint32ListViewImpl(array); | 1794 testUint32ListViewImpl(array); |
| 3214 } | 1795 } |
| 3215 | 1796 |
| 3216 static testInt64ListViewImpl(var array) { | 1797 static testInt64ListViewImpl(var array) { |
| 3217 Expect.equals(96, array.length); | 1798 Expect.equals(96, array.length); |
| 3218 Expect.equals(1, array.elementSizeInBytes); | 1799 Expect.equals(1, array.elementSizeInBytes); |
| 3219 Expect.equals(96, array.lengthInBytes); | 1800 Expect.equals(96, array.lengthInBytes); |
| 3220 for (int i = 0; i < array.length; ++i) { | 1801 for (int i = 0; i < array.length; ++i) { |
| 3221 array[i] = 0xFF; | 1802 array[i] = 0xFF; |
| 3222 } | 1803 } |
| 3223 Expect.throws(() { | 1804 Expect.throws(() { new Int64List.view(array.buffer, -1); }, |
| 3224 new Int64List.view(array.buffer, -1); | 1805 (e) { return e is RangeError; }); |
| 3225 }, (e) { | 1806 Expect.throws(() { new Int64List.view(array.buffer, 0, -1); }, |
| 3226 return e is RangeError; | 1807 (e) { return e is RangeError; }); |
| 3227 }); | 1808 Expect.throws(() { new Int64List.view(array.buffer, |
| 3228 Expect.throws(() { | 1809 array.lengthInBytes + 1); }, |
| 3229 new Int64List.view(array.buffer, 0, -1); | 1810 (e) { return e is RangeError; }); |
| 3230 }, (e) { | 1811 Expect.throws(() { new Int64List.view(array.buffer, |
| 3231 return e is RangeError; | 1812 0, array.length + 1); }, |
| 3232 }); | 1813 (e) { return e is RangeError; }); |
| 3233 Expect.throws(() { | 1814 Expect.throws(() { new Int64List.view(array.buffer, |
| 3234 new Int64List.view(array.buffer, array.lengthInBytes + 1); | 1815 array.length - 1, 2); }, |
| 3235 }, (e) { | 1816 (e) { return e is RangeError; }); |
| 3236 return e is RangeError; | 1817 var empty = new Int64List.view(array.buffer, |
| 3237 }); | 1818 array.lengthInBytes); |
| 3238 Expect.throws(() { | |
| 3239 new Int64List.view(array.buffer, 0, array.length + 1); | |
| 3240 }, (e) { | |
| 3241 return e is RangeError; | |
| 3242 }); | |
| 3243 Expect.throws(() { | |
| 3244 new Int64List.view(array.buffer, array.length - 1, 2); | |
| 3245 }, (e) { | |
| 3246 return e is RangeError; | |
| 3247 }); | |
| 3248 var empty = new Int64List.view(array.buffer, array.lengthInBytes); | |
| 3249 Expect.isTrue(empty is List<int>); | 1819 Expect.isTrue(empty is List<int>); |
| 3250 Expect.isTrue(empty is Int64List); | 1820 Expect.isTrue(empty is Int64List); |
| 3251 Expect.equals(0, empty.length); | 1821 Expect.equals(0, empty.length); |
| 3252 var whole = new Int64List.view(array.buffer); | 1822 var whole = new Int64List.view(array.buffer); |
| 3253 Expect.isTrue(whole is List<int>); | 1823 Expect.isTrue(whole is List<int>); |
| 3254 Expect.isTrue(whole is Int64List); | 1824 Expect.isTrue(whole is Int64List); |
| 3255 Expect.equals(12, whole.length); | 1825 Expect.equals(12, whole.length); |
| 3256 var view = new Int64List.view(array.buffer, 8, 10); | 1826 var view = new Int64List.view(array.buffer, 8, 10); |
| 3257 Expect.isTrue(view is List<int>); | 1827 Expect.isTrue(view is List<int>); |
| 3258 Expect.isTrue(view is Int64List); | 1828 Expect.isTrue(view is Int64List); |
| 3259 Expect.equals(10, view.length); | 1829 Expect.equals(10, view.length); |
| 3260 Expect.equals(8, view.elementSizeInBytes); | 1830 Expect.equals(8, view.elementSizeInBytes); |
| 3261 Expect.equals(80, view.lengthInBytes); | 1831 Expect.equals(80, view.lengthInBytes); |
| 3262 Expect.listEquals([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], view); | 1832 Expect.listEquals([-1, -1, -1, -1, -1, |
| 3263 Expect.throws(() { | 1833 -1, -1, -1, -1, -1], |
| 3264 view[-1] = 0; | 1834 view); |
| 3265 }, (e) { | 1835 Expect.throws(() { view[-1] = 0; }, |
| 3266 return e is RangeError; | 1836 (e) { return e is RangeError; }); |
| 3267 }); | 1837 Expect.throws(() { return view[-1]; }, |
| 3268 Expect.throws(() { | 1838 (e) { return e is RangeError; }); |
| 3269 return view[-1]; | 1839 Expect.throws(() { view[view.length]; }, |
| 3270 }, (e) { | 1840 (e) { return e is RangeError; }); |
| 3271 return e is RangeError; | 1841 Expect.throws(() { view[10] = 0; }, |
| 3272 }); | 1842 (e) { return e is RangeError; }); |
| 3273 Expect.throws(() { | 1843 Expect.throws(() { view.add(0); }, |
| 3274 view[view.length]; | 1844 (e) { return e is UnsupportedError; }); |
| 3275 }, (e) { | 1845 Expect.throws(() { view.addAll([0]); }, |
| 3276 return e is RangeError; | 1846 (e) { return e is UnsupportedError; }); |
| 3277 }); | 1847 Expect.throws(() { view.clear(); }, |
| 3278 Expect.throws(() { | 1848 (e) { return e is UnsupportedError; }); |
| 3279 view[10] = 0; | 1849 Expect.throws(() { view.length = 0; }, |
| 3280 }, (e) { | 1850 (e) { return e is UnsupportedError; }); |
| 3281 return e is RangeError; | 1851 Expect.throws(() { view.removeLast(); }, |
| 3282 }); | 1852 (e) { return e is UnsupportedError; }); |
| 3283 Expect.throws(() { | 1853 Expect.throws(() { view.removeRange(0, view.length - 1); }, |
| 3284 view.add(0); | 1854 (e) { return e is UnsupportedError; }); |
| 3285 }, (e) { | |
| 3286 return e is UnsupportedError; | |
| 3287 }); | |
| 3288 Expect.throws(() { | |
| 3289 view.addAll([0]); | |
| 3290 }, (e) { | |
| 3291 return e is UnsupportedError; | |
| 3292 }); | |
| 3293 Expect.throws(() { | |
| 3294 view.clear(); | |
| 3295 }, (e) { | |
| 3296 return e is UnsupportedError; | |
| 3297 }); | |
| 3298 Expect.throws(() { | |
| 3299 view.length = 0; | |
| 3300 }, (e) { | |
| 3301 return e is UnsupportedError; | |
| 3302 }); | |
| 3303 Expect.throws(() { | |
| 3304 view.removeLast(); | |
| 3305 }, (e) { | |
| 3306 return e is UnsupportedError; | |
| 3307 }); | |
| 3308 Expect.throws(() { | |
| 3309 view.removeRange(0, view.length - 1); | |
| 3310 }, (e) { | |
| 3311 return e is UnsupportedError; | |
| 3312 }); | |
| 3313 for (int i = 0; i < view.length; ++i) { | 1855 for (int i = 0; i < view.length; ++i) { |
| 3314 view[i] = 1 + i; | 1856 view[i] = 1 + i; |
| 3315 } | 1857 } |
| 3316 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], view); | 1858 Expect.listEquals([1, 2, 3, 4, 5, |
| 3317 Expect.listEquals([ | 1859 6, 7, 8, 9, 10], |
| 3318 0xFF, | 1860 view); |
| 3319 0xFF, | 1861 Expect.listEquals([0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3320 0xFF, | 1862 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3321 0xFF, | 1863 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3322 0xFF, | 1864 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3323 0xFF, | 1865 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3324 0xFF, | 1866 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3325 0xFF, | 1867 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3326 0x01, | 1868 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3327 0x00, | 1869 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3328 0x00, | 1870 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3329 0x00, | 1871 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3330 0x00, | 1872 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], |
| 3331 0x00, | 1873 array); |
| 3332 0x00, | |
| 3333 0x00, | |
| 3334 0x02, | |
| 3335 0x00, | |
| 3336 0x00, | |
| 3337 0x00, | |
| 3338 0x00, | |
| 3339 0x00, | |
| 3340 0x00, | |
| 3341 0x00, | |
| 3342 0x03, | |
| 3343 0x00, | |
| 3344 0x00, | |
| 3345 0x00, | |
| 3346 0x00, | |
| 3347 0x00, | |
| 3348 0x00, | |
| 3349 0x00, | |
| 3350 0x04, | |
| 3351 0x00, | |
| 3352 0x00, | |
| 3353 0x00, | |
| 3354 0x00, | |
| 3355 0x00, | |
| 3356 0x00, | |
| 3357 0x00, | |
| 3358 0x05, | |
| 3359 0x00, | |
| 3360 0x00, | |
| 3361 0x00, | |
| 3362 0x00, | |
| 3363 0x00, | |
| 3364 0x00, | |
| 3365 0x00, | |
| 3366 0x06, | |
| 3367 0x00, | |
| 3368 0x00, | |
| 3369 0x00, | |
| 3370 0x00, | |
| 3371 0x00, | |
| 3372 0x00, | |
| 3373 0x00, | |
| 3374 0x07, | |
| 3375 0x00, | |
| 3376 0x00, | |
| 3377 0x00, | |
| 3378 0x00, | |
| 3379 0x00, | |
| 3380 0x00, | |
| 3381 0x00, | |
| 3382 0x08, | |
| 3383 0x00, | |
| 3384 0x00, | |
| 3385 0x00, | |
| 3386 0x00, | |
| 3387 0x00, | |
| 3388 0x00, | |
| 3389 0x00, | |
| 3390 0x09, | |
| 3391 0x00, | |
| 3392 0x00, | |
| 3393 0x00, | |
| 3394 0x00, | |
| 3395 0x00, | |
| 3396 0x00, | |
| 3397 0x00, | |
| 3398 0x0A, | |
| 3399 0x00, | |
| 3400 0x00, | |
| 3401 0x00, | |
| 3402 0x00, | |
| 3403 0x00, | |
| 3404 0x00, | |
| 3405 0x00, | |
| 3406 0xFF, | |
| 3407 0xFF, | |
| 3408 0xFF, | |
| 3409 0xFF, | |
| 3410 0xFF, | |
| 3411 0xFF, | |
| 3412 0xFF, | |
| 3413 0xFF | |
| 3414 ], array); | |
| 3415 for (int i = 0; i < view.length; ++i) { | 1874 for (int i = 0; i < view.length; ++i) { |
| 3416 view[i] = 0x10000000000000000 + i; | 1875 view[i] = 0x10000000000000000 + i; |
| 3417 } | 1876 } |
| 3418 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], view); | 1877 Expect.listEquals([0, 1, 2, 3, 4, |
| 3419 Expect.listEquals([ | 1878 5, 6, 7, 8, 9], |
| 3420 0xFF, | 1879 view); |
| 3421 0xFF, | 1880 Expect.listEquals([0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3422 0xFF, | 1881 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3423 0xFF, | 1882 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3424 0xFF, | 1883 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3425 0xFF, | 1884 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3426 0xFF, | 1885 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3427 0xFF, | 1886 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3428 0x00, | 1887 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3429 0x00, | 1888 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3430 0x00, | 1889 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3431 0x00, | 1890 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3432 0x00, | 1891 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], |
| 3433 0x00, | 1892 array); |
| 3434 0x00, | |
| 3435 0x00, | |
| 3436 0x01, | |
| 3437 0x00, | |
| 3438 0x00, | |
| 3439 0x00, | |
| 3440 0x00, | |
| 3441 0x00, | |
| 3442 0x00, | |
| 3443 0x00, | |
| 3444 0x02, | |
| 3445 0x00, | |
| 3446 0x00, | |
| 3447 0x00, | |
| 3448 0x00, | |
| 3449 0x00, | |
| 3450 0x00, | |
| 3451 0x00, | |
| 3452 0x03, | |
| 3453 0x00, | |
| 3454 0x00, | |
| 3455 0x00, | |
| 3456 0x00, | |
| 3457 0x00, | |
| 3458 0x00, | |
| 3459 0x00, | |
| 3460 0x04, | |
| 3461 0x00, | |
| 3462 0x00, | |
| 3463 0x00, | |
| 3464 0x00, | |
| 3465 0x00, | |
| 3466 0x00, | |
| 3467 0x00, | |
| 3468 0x05, | |
| 3469 0x00, | |
| 3470 0x00, | |
| 3471 0x00, | |
| 3472 0x00, | |
| 3473 0x00, | |
| 3474 0x00, | |
| 3475 0x00, | |
| 3476 0x06, | |
| 3477 0x00, | |
| 3478 0x00, | |
| 3479 0x00, | |
| 3480 0x00, | |
| 3481 0x00, | |
| 3482 0x00, | |
| 3483 0x00, | |
| 3484 0x07, | |
| 3485 0x00, | |
| 3486 0x00, | |
| 3487 0x00, | |
| 3488 0x00, | |
| 3489 0x00, | |
| 3490 0x00, | |
| 3491 0x00, | |
| 3492 0x08, | |
| 3493 0x00, | |
| 3494 0x00, | |
| 3495 0x00, | |
| 3496 0x00, | |
| 3497 0x00, | |
| 3498 0x00, | |
| 3499 0x00, | |
| 3500 0x09, | |
| 3501 0x00, | |
| 3502 0x00, | |
| 3503 0x00, | |
| 3504 0x00, | |
| 3505 0x00, | |
| 3506 0x00, | |
| 3507 0x00, | |
| 3508 0xFF, | |
| 3509 0xFF, | |
| 3510 0xFF, | |
| 3511 0xFF, | |
| 3512 0xFF, | |
| 3513 0xFF, | |
| 3514 0xFF, | |
| 3515 0xFF | |
| 3516 ], array); | |
| 3517 for (int i = 0; i < view.length; ++i) { | 1893 for (int i = 0; i < view.length; ++i) { |
| 3518 view[i] = -10 + i; | 1894 view[i] = -10 + i; |
| 3519 } | 1895 } |
| 3520 Expect.listEquals([-10, -9, -8, -7, -6, -5, -4, -3, -2, -1], view); | 1896 Expect.listEquals([-10, -9, -8, -7, -6, |
| 3521 Expect.listEquals([ | 1897 -5, -4, -3, -2, -1], |
| 3522 0xFF, | 1898 view); |
| 3523 0xFF, | 1899 Expect.listEquals([0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3524 0xFF, | 1900 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3525 0xFF, | 1901 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3526 0xFF, | 1902 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3527 0xFF, | 1903 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3528 0xFF, | 1904 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3529 0xFF, | 1905 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3530 0xF6, | 1906 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3531 0xFF, | 1907 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3532 0xFF, | 1908 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3533 0xFF, | 1909 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3534 0xFF, | 1910 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], |
| 3535 0xFF, | 1911 array); |
| 3536 0xFF, | |
| 3537 0xFF, | |
| 3538 0xF7, | |
| 3539 0xFF, | |
| 3540 0xFF, | |
| 3541 0xFF, | |
| 3542 0xFF, | |
| 3543 0xFF, | |
| 3544 0xFF, | |
| 3545 0xFF, | |
| 3546 0xF8, | |
| 3547 0xFF, | |
| 3548 0xFF, | |
| 3549 0xFF, | |
| 3550 0xFF, | |
| 3551 0xFF, | |
| 3552 0xFF, | |
| 3553 0xFF, | |
| 3554 0xF9, | |
| 3555 0xFF, | |
| 3556 0xFF, | |
| 3557 0xFF, | |
| 3558 0xFF, | |
| 3559 0xFF, | |
| 3560 0xFF, | |
| 3561 0xFF, | |
| 3562 0xFA, | |
| 3563 0xFF, | |
| 3564 0xFF, | |
| 3565 0xFF, | |
| 3566 0xFF, | |
| 3567 0xFF, | |
| 3568 0xFF, | |
| 3569 0xFF, | |
| 3570 0xFB, | |
| 3571 0xFF, | |
| 3572 0xFF, | |
| 3573 0xFF, | |
| 3574 0xFF, | |
| 3575 0xFF, | |
| 3576 0xFF, | |
| 3577 0xFF, | |
| 3578 0xFC, | |
| 3579 0xFF, | |
| 3580 0xFF, | |
| 3581 0xFF, | |
| 3582 0xFF, | |
| 3583 0xFF, | |
| 3584 0xFF, | |
| 3585 0xFF, | |
| 3586 0xFD, | |
| 3587 0xFF, | |
| 3588 0xFF, | |
| 3589 0xFF, | |
| 3590 0xFF, | |
| 3591 0xFF, | |
| 3592 0xFF, | |
| 3593 0xFF, | |
| 3594 0xFE, | |
| 3595 0xFF, | |
| 3596 0xFF, | |
| 3597 0xFF, | |
| 3598 0xFF, | |
| 3599 0xFF, | |
| 3600 0xFF, | |
| 3601 0xFF, | |
| 3602 0xFF, | |
| 3603 0xFF, | |
| 3604 0xFF, | |
| 3605 0xFF, | |
| 3606 0xFF, | |
| 3607 0xFF, | |
| 3608 0xFF, | |
| 3609 0xFF, | |
| 3610 0xFF, | |
| 3611 0xFF, | |
| 3612 0xFF, | |
| 3613 0xFF, | |
| 3614 0xFF, | |
| 3615 0xFF, | |
| 3616 0xFF, | |
| 3617 0xFF | |
| 3618 ], array); | |
| 3619 for (int i = 0; i < view.length; ++i) { | 1912 for (int i = 0; i < view.length; ++i) { |
| 3620 view[i] = 0x7FFFFFFFFFFFFFFF - i; | 1913 view[i] = 0x7FFFFFFFFFFFFFFF - i; |
| 3621 } | 1914 } |
| 3622 Expect.listEquals([ | 1915 Expect.listEquals([0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFE, |
| 3623 0x7FFFFFFFFFFFFFFF, | 1916 0x7FFFFFFFFFFFFFFD, 0x7FFFFFFFFFFFFFFC, |
| 3624 0x7FFFFFFFFFFFFFFE, | 1917 0x7FFFFFFFFFFFFFFB, 0x7FFFFFFFFFFFFFFA, |
| 3625 0x7FFFFFFFFFFFFFFD, | 1918 0x7FFFFFFFFFFFFFF9, 0x7FFFFFFFFFFFFFF8, |
| 3626 0x7FFFFFFFFFFFFFFC, | 1919 0x7FFFFFFFFFFFFFF7, 0x7FFFFFFFFFFFFFF6], |
| 3627 0x7FFFFFFFFFFFFFFB, | 1920 view); |
| 3628 0x7FFFFFFFFFFFFFFA, | 1921 Expect.listEquals([0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3629 0x7FFFFFFFFFFFFFF9, | 1922 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, |
| 3630 0x7FFFFFFFFFFFFFF8, | 1923 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, |
| 3631 0x7FFFFFFFFFFFFFF7, | 1924 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, |
| 3632 0x7FFFFFFFFFFFFFF6 | 1925 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, |
| 3633 ], view); | 1926 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, |
| 3634 Expect.listEquals([ | 1927 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, |
| 3635 0xFF, | 1928 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, |
| 3636 0xFF, | 1929 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, |
| 3637 0xFF, | 1930 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, |
| 3638 0xFF, | 1931 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, |
| 3639 0xFF, | 1932 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], |
| 3640 0xFF, | 1933 array); |
| 3641 0xFF, | |
| 3642 0xFF, | |
| 3643 0xFF, | |
| 3644 0xFF, | |
| 3645 0xFF, | |
| 3646 0xFF, | |
| 3647 0xFF, | |
| 3648 0xFF, | |
| 3649 0xFF, | |
| 3650 0x7F, | |
| 3651 0xFE, | |
| 3652 0xFF, | |
| 3653 0xFF, | |
| 3654 0xFF, | |
| 3655 0xFF, | |
| 3656 0xFF, | |
| 3657 0xFF, | |
| 3658 0x7F, | |
| 3659 0xFD, | |
| 3660 0xFF, | |
| 3661 0xFF, | |
| 3662 0xFF, | |
| 3663 0xFF, | |
| 3664 0xFF, | |
| 3665 0xFF, | |
| 3666 0x7F, | |
| 3667 0xFC, | |
| 3668 0xFF, | |
| 3669 0xFF, | |
| 3670 0xFF, | |
| 3671 0xFF, | |
| 3672 0xFF, | |
| 3673 0xFF, | |
| 3674 0x7F, | |
| 3675 0xFB, | |
| 3676 0xFF, | |
| 3677 0xFF, | |
| 3678 0xFF, | |
| 3679 0xFF, | |
| 3680 0xFF, | |
| 3681 0xFF, | |
| 3682 0x7F, | |
| 3683 0xFA, | |
| 3684 0xFF, | |
| 3685 0xFF, | |
| 3686 0xFF, | |
| 3687 0xFF, | |
| 3688 0xFF, | |
| 3689 0xFF, | |
| 3690 0x7F, | |
| 3691 0xF9, | |
| 3692 0xFF, | |
| 3693 0xFF, | |
| 3694 0xFF, | |
| 3695 0xFF, | |
| 3696 0xFF, | |
| 3697 0xFF, | |
| 3698 0x7F, | |
| 3699 0xF8, | |
| 3700 0xFF, | |
| 3701 0xFF, | |
| 3702 0xFF, | |
| 3703 0xFF, | |
| 3704 0xFF, | |
| 3705 0xFF, | |
| 3706 0x7F, | |
| 3707 0xF7, | |
| 3708 0xFF, | |
| 3709 0xFF, | |
| 3710 0xFF, | |
| 3711 0xFF, | |
| 3712 0xFF, | |
| 3713 0xFF, | |
| 3714 0x7F, | |
| 3715 0xF6, | |
| 3716 0xFF, | |
| 3717 0xFF, | |
| 3718 0xFF, | |
| 3719 0xFF, | |
| 3720 0xFF, | |
| 3721 0xFF, | |
| 3722 0x7F, | |
| 3723 0xFF, | |
| 3724 0xFF, | |
| 3725 0xFF, | |
| 3726 0xFF, | |
| 3727 0xFF, | |
| 3728 0xFF, | |
| 3729 0xFF, | |
| 3730 0xFF | |
| 3731 ], array); | |
| 3732 for (int i = 0; i < view.length; ++i) { | 1934 for (int i = 0; i < view.length; ++i) { |
| 3733 view[i] = -0x8000000000000000 + i; | 1935 view[i] = -0x8000000000000000 + i; |
| 3734 } | 1936 } |
| 3735 Expect.listEquals([ | 1937 Expect.listEquals([-0x8000000000000000, -0x7FFFFFFFFFFFFFFF, |
| 3736 -0x8000000000000000, | 1938 -0x7FFFFFFFFFFFFFFE, -0x7FFFFFFFFFFFFFFD, |
| 3737 -0x7FFFFFFFFFFFFFFF, | 1939 -0x7FFFFFFFFFFFFFFC, -0x7FFFFFFFFFFFFFFB, |
| 3738 -0x7FFFFFFFFFFFFFFE, | 1940 -0x7FFFFFFFFFFFFFFA, -0x7FFFFFFFFFFFFFF9, |
| 3739 -0x7FFFFFFFFFFFFFFD, | 1941 -0x7FFFFFFFFFFFFFF8, -0x7FFFFFFFFFFFFFF7], |
| 3740 -0x7FFFFFFFFFFFFFFC, | 1942 view); |
| 3741 -0x7FFFFFFFFFFFFFFB, | 1943 Expect.listEquals([0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3742 -0x7FFFFFFFFFFFFFFA, | 1944 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, |
| 3743 -0x7FFFFFFFFFFFFFF9, | 1945 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, |
| 3744 -0x7FFFFFFFFFFFFFF8, | 1946 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, |
| 3745 -0x7FFFFFFFFFFFFFF7 | 1947 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, |
| 3746 ], view); | 1948 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, |
| 3747 Expect.listEquals([ | 1949 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, |
| 3748 0xFF, | 1950 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, |
| 3749 0xFF, | 1951 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, |
| 3750 0xFF, | 1952 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, |
| 3751 0xFF, | 1953 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, |
| 3752 0xFF, | 1954 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], |
| 3753 0xFF, | 1955 array); |
| 3754 0xFF, | |
| 3755 0xFF, | |
| 3756 0x00, | |
| 3757 0x00, | |
| 3758 0x00, | |
| 3759 0x00, | |
| 3760 0x00, | |
| 3761 0x00, | |
| 3762 0x00, | |
| 3763 0x80, | |
| 3764 0x01, | |
| 3765 0x00, | |
| 3766 0x00, | |
| 3767 0x00, | |
| 3768 0x00, | |
| 3769 0x00, | |
| 3770 0x00, | |
| 3771 0x80, | |
| 3772 0x02, | |
| 3773 0x00, | |
| 3774 0x00, | |
| 3775 0x00, | |
| 3776 0x00, | |
| 3777 0x00, | |
| 3778 0x00, | |
| 3779 0x80, | |
| 3780 0x03, | |
| 3781 0x00, | |
| 3782 0x00, | |
| 3783 0x00, | |
| 3784 0x00, | |
| 3785 0x00, | |
| 3786 0x00, | |
| 3787 0x80, | |
| 3788 0x04, | |
| 3789 0x00, | |
| 3790 0x00, | |
| 3791 0x00, | |
| 3792 0x00, | |
| 3793 0x00, | |
| 3794 0x00, | |
| 3795 0x80, | |
| 3796 0x05, | |
| 3797 0x00, | |
| 3798 0x00, | |
| 3799 0x00, | |
| 3800 0x00, | |
| 3801 0x00, | |
| 3802 0x00, | |
| 3803 0x80, | |
| 3804 0x06, | |
| 3805 0x00, | |
| 3806 0x00, | |
| 3807 0x00, | |
| 3808 0x00, | |
| 3809 0x00, | |
| 3810 0x00, | |
| 3811 0x80, | |
| 3812 0x07, | |
| 3813 0x00, | |
| 3814 0x00, | |
| 3815 0x00, | |
| 3816 0x00, | |
| 3817 0x00, | |
| 3818 0x00, | |
| 3819 0x80, | |
| 3820 0x08, | |
| 3821 0x00, | |
| 3822 0x00, | |
| 3823 0x00, | |
| 3824 0x00, | |
| 3825 0x00, | |
| 3826 0x00, | |
| 3827 0x80, | |
| 3828 0x09, | |
| 3829 0x00, | |
| 3830 0x00, | |
| 3831 0x00, | |
| 3832 0x00, | |
| 3833 0x00, | |
| 3834 0x00, | |
| 3835 0x80, | |
| 3836 0xFF, | |
| 3837 0xFF, | |
| 3838 0xFF, | |
| 3839 0xFF, | |
| 3840 0xFF, | |
| 3841 0xFF, | |
| 3842 0xFF, | |
| 3843 0xFF | |
| 3844 ], array); | |
| 3845 for (int i = 0; i < view.length; ++i) { | 1956 for (int i = 0; i < view.length; ++i) { |
| 3846 view[i] = i; | 1957 view[i] = i; |
| 3847 } | 1958 } |
| 3848 var copy = view.sublist(0, view.length); | 1959 var copy = view.sublist(0, view.length); |
| 3849 Expect.isFalse(identical(copy, view)); | 1960 Expect.isFalse(identical(copy, view)); |
| 3850 Expect.isTrue(copy is Int64List); | 1961 Expect.isTrue(copy is Int64List); |
| 3851 Expect.equals(10, copy.length); | 1962 Expect.equals(10, copy.length); |
| 3852 Expect.listEquals(view, copy); | 1963 Expect.listEquals(view, copy); |
| 3853 var region = view.sublist(3, view.length - 3); | 1964 var region = view.sublist(3, view.length - 3); |
| 3854 Expect.isTrue(copy is Int64List); | 1965 Expect.isTrue(copy is Int64List); |
| 3855 Expect.equals(4, region.length); | 1966 Expect.equals(4, region.length); |
| 3856 Expect.listEquals([3, 4, 5, 6], region); | 1967 Expect.listEquals([3, 4, 5, 6], region); |
| 3857 view.setRange(3, 7, [-0x8000000000000000, 0, 1, 0x7FFFFFFFFFFFFFFF]); | 1968 view.setRange(3, 7, [-0x8000000000000000, 0, 1, 0x7FFFFFFFFFFFFFFF]); |
| 3858 Expect.listEquals( | 1969 Expect.listEquals([0, 1, 2, -0x8000000000000000, 0, |
| 3859 [0, 1, 2, -0x8000000000000000, 0, 1, 0x7FFFFFFFFFFFFFFF, 7, 8, 9], | 1970 1, 0x7FFFFFFFFFFFFFFF, 7, 8, 9], |
| 3860 view); | 1971 view); |
| 3861 Expect.listEquals([ | 1972 Expect.listEquals([0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 3862 0xFF, | 1973 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3863 0xFF, | 1974 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3864 0xFF, | 1975 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3865 0xFF, | 1976 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, |
| 3866 0xFF, | 1977 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3867 0xFF, | 1978 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3868 0xFF, | 1979 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, |
| 3869 0xFF, | 1980 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3870 0x00, | 1981 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3871 0x00, | 1982 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 3872 0x00, | 1983 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], |
| 3873 0x00, | 1984 array); |
| 3874 0x00, | |
| 3875 0x00, | |
| 3876 0x00, | |
| 3877 0x00, | |
| 3878 0x01, | |
| 3879 0x00, | |
| 3880 0x00, | |
| 3881 0x00, | |
| 3882 0x00, | |
| 3883 0x00, | |
| 3884 0x00, | |
| 3885 0x00, | |
| 3886 0x02, | |
| 3887 0x00, | |
| 3888 0x00, | |
| 3889 0x00, | |
| 3890 0x00, | |
| 3891 0x00, | |
| 3892 0x00, | |
| 3893 0x00, | |
| 3894 0x00, | |
| 3895 0x00, | |
| 3896 0x00, | |
| 3897 0x00, | |
| 3898 0x00, | |
| 3899 0x00, | |
| 3900 0x00, | |
| 3901 0x80, | |
| 3902 0x00, | |
| 3903 0x00, | |
| 3904 0x00, | |
| 3905 0x00, | |
| 3906 0x00, | |
| 3907 0x00, | |
| 3908 0x00, | |
| 3909 0x00, | |
| 3910 0x01, | |
| 3911 0x00, | |
| 3912 0x00, | |
| 3913 0x00, | |
| 3914 0x00, | |
| 3915 0x00, | |
| 3916 0x00, | |
| 3917 0x00, | |
| 3918 0xFF, | |
| 3919 0xFF, | |
| 3920 0xFF, | |
| 3921 0xFF, | |
| 3922 0xFF, | |
| 3923 0xFF, | |
| 3924 0xFF, | |
| 3925 0x7F, | |
| 3926 0x07, | |
| 3927 0x00, | |
| 3928 0x00, | |
| 3929 0x00, | |
| 3930 0x00, | |
| 3931 0x00, | |
| 3932 0x00, | |
| 3933 0x00, | |
| 3934 0x08, | |
| 3935 0x00, | |
| 3936 0x00, | |
| 3937 0x00, | |
| 3938 0x00, | |
| 3939 0x00, | |
| 3940 0x00, | |
| 3941 0x00, | |
| 3942 0x09, | |
| 3943 0x00, | |
| 3944 0x00, | |
| 3945 0x00, | |
| 3946 0x00, | |
| 3947 0x00, | |
| 3948 0x00, | |
| 3949 0x00, | |
| 3950 0xFF, | |
| 3951 0xFF, | |
| 3952 0xFF, | |
| 3953 0xFF, | |
| 3954 0xFF, | |
| 3955 0xFF, | |
| 3956 0xFF, | |
| 3957 0xFF | |
| 3958 ], array); | |
| 3959 } | 1985 } |
| 3960 | 1986 |
| 3961 static testInt64ListView() { | 1987 static testInt64ListView() { |
| 3962 var array = new Uint8List(96); | 1988 var array = new Uint8List(96); |
| 3963 testInt64ListViewImpl(array); | 1989 testInt64ListViewImpl(array); |
| 3964 } | 1990 } |
| 3965 | 1991 |
| 3966 static testUint64ListViewImpl(var array) { | 1992 static testUint64ListViewImpl(var array) { |
| 3967 Expect.isTrue(array is List<int>); | 1993 Expect.isTrue(array is List<int>); |
| 3968 Expect.equals(96, array.length); | 1994 Expect.equals(96, array.length); |
| 3969 Expect.equals(1, array.elementSizeInBytes); | 1995 Expect.equals(1, array.elementSizeInBytes); |
| 3970 Expect.equals(96, array.lengthInBytes); | 1996 Expect.equals(96, array.lengthInBytes); |
| 3971 for (int i = 0; i < array.length; ++i) { | 1997 for (int i = 0; i < array.length; ++i) { |
| 3972 array[i] = -1; | 1998 array[i] = -1; |
| 3973 } | 1999 } |
| 3974 Expect.throws(() { | 2000 Expect.throws(() { new Uint64List.view(array.buffer, -1); }, |
| 3975 new Uint64List.view(array.buffer, -1); | 2001 (e) { return e is RangeError; }); |
| 3976 }, (e) { | 2002 Expect.throws(() { new Uint64List.view(array.buffer, 0, -1); }, |
| 3977 return e is RangeError; | 2003 (e) { return e is RangeError; }); |
| 3978 }); | 2004 Expect.throws(() { new Uint64List.view(array.buffer, |
| 3979 Expect.throws(() { | 2005 array.lengthInBytes + 1); }, |
| 3980 new Uint64List.view(array.buffer, 0, -1); | 2006 (e) { return e is RangeError; }); |
| 3981 }, (e) { | 2007 Expect.throws(() { new Uint64List.view(array.buffer, |
| 3982 return e is RangeError; | 2008 0, array.length + 1); }, |
| 3983 }); | 2009 (e) { return e is RangeError; }); |
| 3984 Expect.throws(() { | 2010 Expect.throws(() { new Uint64List.view(array.buffer, |
| 3985 new Uint64List.view(array.buffer, array.lengthInBytes + 1); | 2011 array.length - 1, 2); }, |
| 3986 }, (e) { | 2012 (e) { return e is RangeError; }); |
| 3987 return e is RangeError; | 2013 var empty = new Uint64List.view(array.buffer, |
| 3988 }); | 2014 array.lengthInBytes); |
| 3989 Expect.throws(() { | |
| 3990 new Uint64List.view(array.buffer, 0, array.length + 1); | |
| 3991 }, (e) { | |
| 3992 return e is RangeError; | |
| 3993 }); | |
| 3994 Expect.throws(() { | |
| 3995 new Uint64List.view(array.buffer, array.length - 1, 2); | |
| 3996 }, (e) { | |
| 3997 return e is RangeError; | |
| 3998 }); | |
| 3999 var empty = new Uint64List.view(array.buffer, array.lengthInBytes); | |
| 4000 Expect.isTrue(empty is List<int>); | 2015 Expect.isTrue(empty is List<int>); |
| 4001 Expect.isTrue(empty is Uint64List); | 2016 Expect.isTrue(empty is Uint64List); |
| 4002 Expect.equals(0, empty.length); | 2017 Expect.equals(0, empty.length); |
| 4003 var whole = new Uint64List.view(array.buffer); | 2018 var whole = new Uint64List.view(array.buffer); |
| 4004 Expect.isTrue(whole is List<int>); | 2019 Expect.isTrue(whole is List<int>); |
| 4005 Expect.isTrue(whole is Uint64List); | 2020 Expect.isTrue(whole is Uint64List); |
| 4006 Expect.equals(12, whole.length); | 2021 Expect.equals(12, whole.length); |
| 4007 var view = new Uint64List.view(array.buffer, 8, 10); | 2022 var view = new Uint64List.view(array.buffer, 8, 10); |
| 4008 Expect.isTrue(view is List<int>); | 2023 Expect.isTrue(view is List<int>); |
| 4009 Expect.isTrue(view is Uint64List); | 2024 Expect.isTrue(view is Uint64List); |
| 4010 Expect.equals(10, view.length); | 2025 Expect.equals(10, view.length); |
| 4011 Expect.equals(8, view.elementSizeInBytes); | 2026 Expect.equals(8, view.elementSizeInBytes); |
| 4012 Expect.equals(80, view.lengthInBytes); | 2027 Expect.equals(80, view.lengthInBytes); |
| 4013 Expect.listEquals([ | 2028 Expect.listEquals([0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF, |
| 4014 0xFFFFFFFFFFFFFFFF, | 2029 0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF, |
| 4015 0xFFFFFFFFFFFFFFFF, | 2030 0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF, |
| 4016 0xFFFFFFFFFFFFFFFF, | 2031 0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF, |
| 4017 0xFFFFFFFFFFFFFFFF, | 2032 0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF], |
| 4018 0xFFFFFFFFFFFFFFFF, | 2033 view); |
| 4019 0xFFFFFFFFFFFFFFFF, | 2034 Expect.throws(() { view[-1] = 0; }, |
| 4020 0xFFFFFFFFFFFFFFFF, | 2035 (e) { return e is RangeError; }); |
| 4021 0xFFFFFFFFFFFFFFFF, | 2036 Expect.throws(() { return view[-1]; }, |
| 4022 0xFFFFFFFFFFFFFFFF, | 2037 (e) { return e is RangeError; }); |
| 4023 0xFFFFFFFFFFFFFFFF | 2038 Expect.throws(() { view[view.length]; }, |
| 4024 ], view); | 2039 (e) { return e is RangeError; }); |
| 4025 Expect.throws(() { | 2040 Expect.throws(() { view[view.length] = 0; }, |
| 4026 view[-1] = 0; | 2041 (e) { return e is RangeError; }); |
| 4027 }, (e) { | 2042 Expect.throws(() { view.add(0); }, |
| 4028 return e is RangeError; | 2043 (e) { return e is UnsupportedError; }); |
| 4029 }); | 2044 Expect.throws(() { view.addAll([0]); }, |
| 4030 Expect.throws(() { | 2045 (e) { return e is UnsupportedError; }); |
| 4031 return view[-1]; | 2046 Expect.throws(() { view.clear(); }, |
| 4032 }, (e) { | 2047 (e) { return e is UnsupportedError; }); |
| 4033 return e is RangeError; | 2048 Expect.throws(() { view.length = 0; }, |
| 4034 }); | 2049 (e) { return e is UnsupportedError; }); |
| 4035 Expect.throws(() { | 2050 Expect.throws(() { view.removeLast(); }, |
| 4036 view[view.length]; | 2051 (e) { return e is UnsupportedError; }); |
| 4037 }, (e) { | 2052 Expect.throws(() { view.removeRange(0, view.length - 1); }, |
| 4038 return e is RangeError; | 2053 (e) { return e is UnsupportedError; }); |
| 4039 }); | |
| 4040 Expect.throws(() { | |
| 4041 view[view.length] = 0; | |
| 4042 }, (e) { | |
| 4043 return e is RangeError; | |
| 4044 }); | |
| 4045 Expect.throws(() { | |
| 4046 view.add(0); | |
| 4047 }, (e) { | |
| 4048 return e is UnsupportedError; | |
| 4049 }); | |
| 4050 Expect.throws(() { | |
| 4051 view.addAll([0]); | |
| 4052 }, (e) { | |
| 4053 return e is UnsupportedError; | |
| 4054 }); | |
| 4055 Expect.throws(() { | |
| 4056 view.clear(); | |
| 4057 }, (e) { | |
| 4058 return e is UnsupportedError; | |
| 4059 }); | |
| 4060 Expect.throws(() { | |
| 4061 view.length = 0; | |
| 4062 }, (e) { | |
| 4063 return e is UnsupportedError; | |
| 4064 }); | |
| 4065 Expect.throws(() { | |
| 4066 view.removeLast(); | |
| 4067 }, (e) { | |
| 4068 return e is UnsupportedError; | |
| 4069 }); | |
| 4070 Expect.throws(() { | |
| 4071 view.removeRange(0, view.length - 1); | |
| 4072 }, (e) { | |
| 4073 return e is UnsupportedError; | |
| 4074 }); | |
| 4075 for (int i = 0; i < view.length; ++i) { | 2054 for (int i = 0; i < view.length; ++i) { |
| 4076 view[i] = 1 + i; | 2055 view[i] = 1 + i; |
| 4077 } | 2056 } |
| 4078 Expect.listEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], view); | 2057 Expect.listEquals([1, 2, 3, 4, 5, |
| 4079 Expect.listEquals([ | 2058 6, 7, 8, 9, 10], |
| 4080 -1, | 2059 view); |
| 4081 -1, | 2060 Expect.listEquals([-1, -1, -1, -1, -1, -1, -1, -1, |
| 4082 -1, | 2061 1, 0, 0, 0, 0, 0, 0, 0, |
| 4083 -1, | 2062 2, 0, 0, 0, 0, 0, 0, 0, |
| 4084 -1, | 2063 3, 0, 0, 0, 0, 0, 0, 0, |
| 4085 -1, | 2064 4, 0, 0, 0, 0, 0, 0, 0, |
| 4086 -1, | 2065 5, 0, 0, 0, 0, 0, 0, 0, |
| 4087 -1, | 2066 6, 0, 0, 0, 0, 0, 0, 0, |
| 4088 1, | 2067 7, 0, 0, 0, 0, 0, 0, 0, |
| 4089 0, | 2068 8, 0, 0, 0, 0, 0, 0, 0, |
| 4090 0, | 2069 9, 0, 0, 0, 0, 0, 0, 0, |
| 4091 0, | 2070 10, 0, 0, 0, 0, 0, 0, 0, |
| 4092 0, | 2071 -1, -1, -1, -1, -1, -1, -1, -1], |
| 4093 0, | 2072 array); |
| 4094 0, | |
| 4095 0, | |
| 4096 2, | |
| 4097 0, | |
| 4098 0, | |
| 4099 0, | |
| 4100 0, | |
| 4101 0, | |
| 4102 0, | |
| 4103 0, | |
| 4104 3, | |
| 4105 0, | |
| 4106 0, | |
| 4107 0, | |
| 4108 0, | |
| 4109 0, | |
| 4110 0, | |
| 4111 0, | |
| 4112 4, | |
| 4113 0, | |
| 4114 0, | |
| 4115 0, | |
| 4116 0, | |
| 4117 0, | |
| 4118 0, | |
| 4119 0, | |
| 4120 5, | |
| 4121 0, | |
| 4122 0, | |
| 4123 0, | |
| 4124 0, | |
| 4125 0, | |
| 4126 0, | |
| 4127 0, | |
| 4128 6, | |
| 4129 0, | |
| 4130 0, | |
| 4131 0, | |
| 4132 0, | |
| 4133 0, | |
| 4134 0, | |
| 4135 0, | |
| 4136 7, | |
| 4137 0, | |
| 4138 0, | |
| 4139 0, | |
| 4140 0, | |
| 4141 0, | |
| 4142 0, | |
| 4143 0, | |
| 4144 8, | |
| 4145 0, | |
| 4146 0, | |
| 4147 0, | |
| 4148 0, | |
| 4149 0, | |
| 4150 0, | |
| 4151 0, | |
| 4152 9, | |
| 4153 0, | |
| 4154 0, | |
| 4155 0, | |
| 4156 0, | |
| 4157 0, | |
| 4158 0, | |
| 4159 0, | |
| 4160 10, | |
| 4161 0, | |
| 4162 0, | |
| 4163 0, | |
| 4164 0, | |
| 4165 0, | |
| 4166 0, | |
| 4167 0, | |
| 4168 -1, | |
| 4169 -1, | |
| 4170 -1, | |
| 4171 -1, | |
| 4172 -1, | |
| 4173 -1, | |
| 4174 -1, | |
| 4175 -1 | |
| 4176 ], array); | |
| 4177 for (int i = 0; i < view.length; ++i) { | 2073 for (int i = 0; i < view.length; ++i) { |
| 4178 view[i] = 0x10000000000000000 + i; | 2074 view[i] = 0x10000000000000000 + i; |
| 4179 } | 2075 } |
| 4180 Expect.listEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], view); | 2076 Expect.listEquals([0, 1, 2, 3, 4, |
| 4181 Expect.listEquals([ | 2077 5, 6, 7, 8, 9], |
| 4182 -1, | 2078 view); |
| 4183 -1, | 2079 Expect.listEquals([-1, -1, -1, -1, -1, -1, -1, -1, |
| 4184 -1, | 2080 0, 0, 0, 0, 0, 0, 0, 0, |
| 4185 -1, | 2081 1, 0, 0, 0, 0, 0, 0, 0, |
| 4186 -1, | 2082 2, 0, 0, 0, 0, 0, 0, 0, |
| 4187 -1, | 2083 3, 0, 0, 0, 0, 0, 0, 0, |
| 4188 -1, | 2084 4, 0, 0, 0, 0, 0, 0, 0, |
| 4189 -1, | 2085 5, 0, 0, 0, 0, 0, 0, 0, |
| 4190 0, | 2086 6, 0, 0, 0, 0, 0, 0, 0, |
| 4191 0, | 2087 7, 0, 0, 0, 0, 0, 0, 0, |
| 4192 0, | 2088 8, 0, 0, 0, 0, 0, 0, 0, |
| 4193 0, | 2089 9, 0, 0, 0, 0, 0, 0, 0, |
| 4194 0, | 2090 -1, -1, -1, -1, -1, -1, -1, -1], |
| 4195 0, | 2091 array); |
| 4196 0, | |
| 4197 0, | |
| 4198 1, | |
| 4199 0, | |
| 4200 0, | |
| 4201 0, | |
| 4202 0, | |
| 4203 0, | |
| 4204 0, | |
| 4205 0, | |
| 4206 2, | |
| 4207 0, | |
| 4208 0, | |
| 4209 0, | |
| 4210 0, | |
| 4211 0, | |
| 4212 0, | |
| 4213 0, | |
| 4214 3, | |
| 4215 0, | |
| 4216 0, | |
| 4217 0, | |
| 4218 0, | |
| 4219 0, | |
| 4220 0, | |
| 4221 0, | |
| 4222 4, | |
| 4223 0, | |
| 4224 0, | |
| 4225 0, | |
| 4226 0, | |
| 4227 0, | |
| 4228 0, | |
| 4229 0, | |
| 4230 5, | |
| 4231 0, | |
| 4232 0, | |
| 4233 0, | |
| 4234 0, | |
| 4235 0, | |
| 4236 0, | |
| 4237 0, | |
| 4238 6, | |
| 4239 0, | |
| 4240 0, | |
| 4241 0, | |
| 4242 0, | |
| 4243 0, | |
| 4244 0, | |
| 4245 0, | |
| 4246 7, | |
| 4247 0, | |
| 4248 0, | |
| 4249 0, | |
| 4250 0, | |
| 4251 0, | |
| 4252 0, | |
| 4253 0, | |
| 4254 8, | |
| 4255 0, | |
| 4256 0, | |
| 4257 0, | |
| 4258 0, | |
| 4259 0, | |
| 4260 0, | |
| 4261 0, | |
| 4262 9, | |
| 4263 0, | |
| 4264 0, | |
| 4265 0, | |
| 4266 0, | |
| 4267 0, | |
| 4268 0, | |
| 4269 0, | |
| 4270 -1, | |
| 4271 -1, | |
| 4272 -1, | |
| 4273 -1, | |
| 4274 -1, | |
| 4275 -1, | |
| 4276 -1, | |
| 4277 -1 | |
| 4278 ], array); | |
| 4279 for (int i = 0; i < view.length; ++i) { | 2092 for (int i = 0; i < view.length; ++i) { |
| 4280 view[i] = 0xFFFFFFFFFFFFFFFF - i; | 2093 view[i] = 0xFFFFFFFFFFFFFFFF - i; |
| 4281 } | 2094 } |
| 4282 Expect.listEquals([ | 2095 Expect.listEquals([0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFE, |
| 4283 0xFFFFFFFFFFFFFFFF, | 2096 0xFFFFFFFFFFFFFFFD, 0xFFFFFFFFFFFFFFFC, |
| 4284 0xFFFFFFFFFFFFFFFE, | 2097 0xFFFFFFFFFFFFFFFB, 0xFFFFFFFFFFFFFFFA, |
| 4285 0xFFFFFFFFFFFFFFFD, | 2098 0xFFFFFFFFFFFFFFF9, 0xFFFFFFFFFFFFFFF8, |
| 4286 0xFFFFFFFFFFFFFFFC, | 2099 0xFFFFFFFFFFFFFFF7, 0xFFFFFFFFFFFFFFF6], |
| 4287 0xFFFFFFFFFFFFFFFB, | 2100 view); |
| 4288 0xFFFFFFFFFFFFFFFA, | 2101 Expect.listEquals([-1, -1, -1, -1, -1, -1, -1, -1, |
| 4289 0xFFFFFFFFFFFFFFF9, | 2102 -1, -1, -1, -1, -1, -1, -1, -1, |
| 4290 0xFFFFFFFFFFFFFFF8, | 2103 -2, -1, -1, -1, -1, -1, -1, -1, |
| 4291 0xFFFFFFFFFFFFFFF7, | 2104 -3, -1, -1, -1, -1, -1, -1, -1, |
| 4292 0xFFFFFFFFFFFFFFF6 | 2105 -4, -1, -1, -1, -1, -1, -1, -1, |
| 4293 ], view); | 2106 -5, -1, -1, -1, -1, -1, -1, -1, |
| 4294 Expect.listEquals([ | 2107 -6, -1, -1, -1, -1, -1, -1, -1, |
| 4295 -1, | 2108 -7, -1, -1, -1, -1, -1, -1, -1, |
| 4296 -1, | 2109 -8, -1, -1, -1, -1, -1, -1, -1, |
| 4297 -1, | 2110 -9, -1, -1, -1, -1, -1, -1, -1, |
| 4298 -1, | 2111 -10, -1, -1, -1, -1, -1, -1, -1, |
| 4299 -1, | 2112 -1, -1, -1, -1, -1, -1, -1, -1], |
| 4300 -1, | 2113 array); |
| 4301 -1, | |
| 4302 -1, | |
| 4303 -1, | |
| 4304 -1, | |
| 4305 -1, | |
| 4306 -1, | |
| 4307 -1, | |
| 4308 -1, | |
| 4309 -1, | |
| 4310 -1, | |
| 4311 -2, | |
| 4312 -1, | |
| 4313 -1, | |
| 4314 -1, | |
| 4315 -1, | |
| 4316 -1, | |
| 4317 -1, | |
| 4318 -1, | |
| 4319 -3, | |
| 4320 -1, | |
| 4321 -1, | |
| 4322 -1, | |
| 4323 -1, | |
| 4324 -1, | |
| 4325 -1, | |
| 4326 -1, | |
| 4327 -4, | |
| 4328 -1, | |
| 4329 -1, | |
| 4330 -1, | |
| 4331 -1, | |
| 4332 -1, | |
| 4333 -1, | |
| 4334 -1, | |
| 4335 -5, | |
| 4336 -1, | |
| 4337 -1, | |
| 4338 -1, | |
| 4339 -1, | |
| 4340 -1, | |
| 4341 -1, | |
| 4342 -1, | |
| 4343 -6, | |
| 4344 -1, | |
| 4345 -1, | |
| 4346 -1, | |
| 4347 -1, | |
| 4348 -1, | |
| 4349 -1, | |
| 4350 -1, | |
| 4351 -7, | |
| 4352 -1, | |
| 4353 -1, | |
| 4354 -1, | |
| 4355 -1, | |
| 4356 -1, | |
| 4357 -1, | |
| 4358 -1, | |
| 4359 -8, | |
| 4360 -1, | |
| 4361 -1, | |
| 4362 -1, | |
| 4363 -1, | |
| 4364 -1, | |
| 4365 -1, | |
| 4366 -1, | |
| 4367 -9, | |
| 4368 -1, | |
| 4369 -1, | |
| 4370 -1, | |
| 4371 -1, | |
| 4372 -1, | |
| 4373 -1, | |
| 4374 -1, | |
| 4375 -10, | |
| 4376 -1, | |
| 4377 -1, | |
| 4378 -1, | |
| 4379 -1, | |
| 4380 -1, | |
| 4381 -1, | |
| 4382 -1, | |
| 4383 -1, | |
| 4384 -1, | |
| 4385 -1, | |
| 4386 -1, | |
| 4387 -1, | |
| 4388 -1, | |
| 4389 -1, | |
| 4390 -1 | |
| 4391 ], array); | |
| 4392 for (int i = 0; i < view.length; ++i) { | 2114 for (int i = 0; i < view.length; ++i) { |
| 4393 view[i] = i; | 2115 view[i] = i; |
| 4394 } | 2116 } |
| 4395 var copy = view.sublist(0, view.length); | 2117 var copy = view.sublist(0, view.length); |
| 4396 Expect.isFalse(identical(copy, view)); | 2118 Expect.isFalse(identical(copy, view)); |
| 4397 Expect.isTrue(copy is Uint64List); | 2119 Expect.isTrue(copy is Uint64List); |
| 4398 Expect.equals(10, copy.length); | 2120 Expect.equals(10, copy.length); |
| 4399 Expect.listEquals(view, copy); | 2121 Expect.listEquals(view, copy); |
| 4400 var region = view.sublist(3, view.length - 3); | 2122 var region = view.sublist(3, view.length - 3); |
| 4401 Expect.isTrue(copy is Uint64List); | 2123 Expect.isTrue(copy is Uint64List); |
| 4402 Expect.equals(4, region.length); | 2124 Expect.equals(4, region.length); |
| 4403 Expect.listEquals([3, 4, 5, 6], region); | 2125 Expect.listEquals([3, 4, 5, 6], region); |
| 4404 view.setRange(3, 7, [0x10000000000000001, 0, 1, 0xFFFFFFFFFFFFFFFF]); | 2126 view.setRange(3, 7, [0x10000000000000001, 0, 1, 0xFFFFFFFFFFFFFFFF]); |
| 4405 Expect.listEquals([0, 1, 2, 1, 0, 1, 0xFFFFFFFFFFFFFFFF, 7, 8, 9], view); | 2127 Expect.listEquals([0, 1, 2, 1, 0, 1, 0xFFFFFFFFFFFFFFFF, 7, 8, 9], |
| 4406 Expect.listEquals([ | 2128 view); |
| 4407 -1, | 2129 Expect.listEquals([-1, -1, -1, -1, -1, -1, -1, -1, |
| 4408 -1, | 2130 0, 0, 0, 0, 0, 0, 0, 0, |
| 4409 -1, | 2131 1, 0, 0, 0, 0, 0, 0, 0, |
| 4410 -1, | 2132 2, 0, 0, 0, 0, 0, 0, 0, |
| 4411 -1, | 2133 1, 0, 0, 0, 0, 0, 0, 0, |
| 4412 -1, | 2134 0, 0, 0, 0, 0, 0, 0, 0, |
| 4413 -1, | 2135 1, 0, 0, 0, 0, 0, 0, 0, |
| 4414 -1, | 2136 -1, -1, -1, -1, -1, -1, -1, -1, |
| 4415 0, | 2137 7, 0, 0, 0, 0, 0, 0, 0, |
| 4416 0, | 2138 8, 0, 0, 0, 0, 0, 0, 0, |
| 4417 0, | 2139 9, 0, 0, 0, 0, 0, 0, 0, |
| 4418 0, | 2140 -1, -1, -1, -1, -1, -1, -1, -1], |
| 4419 0, | 2141 array); |
| 4420 0, | |
| 4421 0, | |
| 4422 0, | |
| 4423 1, | |
| 4424 0, | |
| 4425 0, | |
| 4426 0, | |
| 4427 0, | |
| 4428 0, | |
| 4429 0, | |
| 4430 0, | |
| 4431 2, | |
| 4432 0, | |
| 4433 0, | |
| 4434 0, | |
| 4435 0, | |
| 4436 0, | |
| 4437 0, | |
| 4438 0, | |
| 4439 1, | |
| 4440 0, | |
| 4441 0, | |
| 4442 0, | |
| 4443 0, | |
| 4444 0, | |
| 4445 0, | |
| 4446 0, | |
| 4447 0, | |
| 4448 0, | |
| 4449 0, | |
| 4450 0, | |
| 4451 0, | |
| 4452 0, | |
| 4453 0, | |
| 4454 0, | |
| 4455 1, | |
| 4456 0, | |
| 4457 0, | |
| 4458 0, | |
| 4459 0, | |
| 4460 0, | |
| 4461 0, | |
| 4462 0, | |
| 4463 -1, | |
| 4464 -1, | |
| 4465 -1, | |
| 4466 -1, | |
| 4467 -1, | |
| 4468 -1, | |
| 4469 -1, | |
| 4470 -1, | |
| 4471 7, | |
| 4472 0, | |
| 4473 0, | |
| 4474 0, | |
| 4475 0, | |
| 4476 0, | |
| 4477 0, | |
| 4478 0, | |
| 4479 8, | |
| 4480 0, | |
| 4481 0, | |
| 4482 0, | |
| 4483 0, | |
| 4484 0, | |
| 4485 0, | |
| 4486 0, | |
| 4487 9, | |
| 4488 0, | |
| 4489 0, | |
| 4490 0, | |
| 4491 0, | |
| 4492 0, | |
| 4493 0, | |
| 4494 0, | |
| 4495 -1, | |
| 4496 -1, | |
| 4497 -1, | |
| 4498 -1, | |
| 4499 -1, | |
| 4500 -1, | |
| 4501 -1, | |
| 4502 -1 | |
| 4503 ], array); | |
| 4504 } | 2142 } |
| 4505 | 2143 |
| 4506 static testUint64ListView() { | 2144 static testUint64ListView() { |
| 4507 var array = new Int8List(96); | 2145 var array = new Int8List(96); |
| 4508 testUint64ListViewImpl(array); | 2146 testUint64ListViewImpl(array); |
| 4509 } | 2147 } |
| 4510 | 2148 |
| 4511 static testFloat32ListViewImpl(var array) { | 2149 static testFloat32ListViewImpl(var array) { |
| 4512 Expect.isTrue(array is List<int>); | 2150 Expect.isTrue(array is List<int>); |
| 4513 Expect.equals(12, array.length); | 2151 Expect.equals(12, array.length); |
| 4514 Expect.equals(4, array.elementSizeInBytes); | 2152 Expect.equals(4, array.elementSizeInBytes); |
| 4515 Expect.equals(48, array.lengthInBytes); | 2153 Expect.equals(48, array.lengthInBytes); |
| 4516 for (int i = 0; i < array.length; ++i) { | 2154 for (int i = 0; i < array.length; ++i) { |
| 4517 array[i] = 0xBF800000; | 2155 array[i] = 0xBF800000; |
| 4518 } | 2156 } |
| 4519 Expect.throws(() { | 2157 Expect.throws(() { new Float32List.view(array.buffer, -1); }, |
| 4520 new Float32List.view(array.buffer, -1); | 2158 (e) { return e is RangeError; }); |
| 4521 }, (e) { | 2159 Expect.throws(() { new Float32List.view(array.buffer, 0, -1); }, |
| 4522 return e is RangeError; | 2160 (e) { return e is RangeError; }); |
| 4523 }); | 2161 Expect.throws(() { new Float32List.view(array.buffer, |
| 4524 Expect.throws(() { | 2162 array.lengthInBytes + 1); }, |
| 4525 new Float32List.view(array.buffer, 0, -1); | 2163 (e) { return e is RangeError; }); |
| 4526 }, (e) { | 2164 Expect.throws(() { new Float32List.view(array.buffer, |
| 4527 return e is RangeError; | 2165 0, array.lengthInBytes + 1); }, |
| 4528 }); | 2166 (e) { return e is RangeError; }); |
| 4529 Expect.throws(() { | 2167 Expect.throws(() { new Float32List.view(array.buffer, |
| 4530 new Float32List.view(array.buffer, array.lengthInBytes + 1); | 2168 array.lengthInBytes - 1, 2); }, |
| 4531 }, (e) { | 2169 (e) { return e is RangeError; }); |
| 4532 return e is RangeError; | 2170 var empty = new Float32List.view(array.buffer, |
| 4533 }); | 2171 array.lengthInBytes); |
| 4534 Expect.throws(() { | |
| 4535 new Float32List.view(array.buffer, 0, array.lengthInBytes + 1); | |
| 4536 }, (e) { | |
| 4537 return e is RangeError; | |
| 4538 }); | |
| 4539 Expect.throws(() { | |
| 4540 new Float32List.view(array.buffer, array.lengthInBytes - 1, 2); | |
| 4541 }, (e) { | |
| 4542 return e is RangeError; | |
| 4543 }); | |
| 4544 var empty = new Float32List.view(array.buffer, array.lengthInBytes); | |
| 4545 Expect.isTrue(empty is List<double>); | 2172 Expect.isTrue(empty is List<double>); |
| 4546 Expect.isTrue(empty is Float32List); | 2173 Expect.isTrue(empty is Float32List); |
| 4547 Expect.equals(0, empty.length); | 2174 Expect.equals(0, empty.length); |
| 4548 var whole = new Float32List.view(array.buffer); | 2175 var whole = new Float32List.view(array.buffer); |
| 4549 Expect.isTrue(whole is List<double>); | 2176 Expect.isTrue(whole is List<double>); |
| 4550 Expect.isTrue(whole is Float32List); | 2177 Expect.isTrue(whole is Float32List); |
| 4551 Expect.equals(12, whole.length); | 2178 Expect.equals(12, whole.length); |
| 4552 var view = new Float32List.view(array.buffer, 4, 10); | 2179 var view = new Float32List.view(array.buffer, 4, 10); |
| 4553 Expect.isTrue(view is List<double>); | 2180 Expect.isTrue(view is List<double>); |
| 4554 Expect.isTrue(view is Float32List); | 2181 Expect.isTrue(view is Float32List); |
| 4555 Expect.equals(10, view.length); | 2182 Expect.equals(10, view.length); |
| 4556 Expect.equals(4, view.elementSizeInBytes); | 2183 Expect.equals(4, view.elementSizeInBytes); |
| 4557 Expect.equals(40, view.lengthInBytes); | 2184 Expect.equals(40, view.lengthInBytes); |
| 4558 Expect.listEquals( | 2185 Expect.listEquals([-1.0, -1.0, -1.0, -1.0, -1.0, |
| 4559 [-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0], view); | 2186 -1.0, -1.0, -1.0, -1.0, -1.0], |
| 4560 Expect.throws(() { | 2187 view); |
| 4561 view[-1] = 0.0; | 2188 Expect.throws(() { view[-1] = 0.0; }, |
| 4562 }, (e) { | 2189 (e) { return e is RangeError; }); |
| 4563 return e is RangeError; | 2190 Expect.throws(() { return view[-1]; }, |
| 4564 }); | 2191 (e) { return e is RangeError; }); |
| 4565 Expect.throws(() { | 2192 Expect.throws(() { view[10]; }, |
| 4566 return view[-1]; | 2193 (e) { return e is RangeError; }); |
| 4567 }, (e) { | 2194 Expect.throws(() { view[10] = 0.0; }, |
| 4568 return e is RangeError; | 2195 (e) { return e is RangeError; }); |
| 4569 }); | 2196 Expect.throws(() { array.add(0.0); }, |
| 4570 Expect.throws(() { | 2197 (e) { return e is UnsupportedError; }); |
| 4571 view[10]; | 2198 Expect.throws(() { array.addAll([0]); }, |
| 4572 }, (e) { | 2199 (e) { return e is UnsupportedError; }); |
| 4573 return e is RangeError; | 2200 Expect.throws(() { array.clear(); }, |
| 4574 }); | 2201 (e) { return e is UnsupportedError; }); |
| 4575 Expect.throws(() { | 2202 Expect.throws(() { array.length = 0; }, |
| 4576 view[10] = 0.0; | 2203 (e) { return e is UnsupportedError; }); |
| 4577 }, (e) { | 2204 Expect.throws(() { array.removeLast(); }, |
| 4578 return e is RangeError; | 2205 (e) { return e is UnsupportedError; }); |
| 4579 }); | 2206 Expect.throws(() { array.removeRange(0, array.length - 1); }, |
| 4580 Expect.throws(() { | 2207 (e) { return e is UnsupportedError; }); |
| 4581 array.add(0.0); | |
| 4582 }, (e) { | |
| 4583 return e is UnsupportedError; | |
| 4584 }); | |
| 4585 Expect.throws(() { | |
| 4586 array.addAll([0]); | |
| 4587 }, (e) { | |
| 4588 return e is UnsupportedError; | |
| 4589 }); | |
| 4590 Expect.throws(() { | |
| 4591 array.clear(); | |
| 4592 }, (e) { | |
| 4593 return e is UnsupportedError; | |
| 4594 }); | |
| 4595 Expect.throws(() { | |
| 4596 array.length = 0; | |
| 4597 }, (e) { | |
| 4598 return e is UnsupportedError; | |
| 4599 }); | |
| 4600 Expect.throws(() { | |
| 4601 array.removeLast(); | |
| 4602 }, (e) { | |
| 4603 return e is UnsupportedError; | |
| 4604 }); | |
| 4605 Expect.throws(() { | |
| 4606 array.removeRange(0, array.length - 1); | |
| 4607 }, (e) { | |
| 4608 return e is UnsupportedError; | |
| 4609 }); | |
| 4610 for (int i = 0; i < view.length; ++i) { | 2208 for (int i = 0; i < view.length; ++i) { |
| 4611 view[i] = 1.0 + i; | 2209 view[i] = 1.0 + i; |
| 4612 } | 2210 } |
| 4613 Expect | 2211 Expect.listEquals([1.0, 2.0, 3.0, 4.0, 5.0, |
| 4614 .listEquals([1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0], view); | 2212 6.0, 7.0, 8.0, 9.0, 10.0], |
| 4615 Expect.listEquals([ | 2213 view); |
| 4616 0xBF800000, | 2214 Expect.listEquals([0xBF800000, 0x3F800000, |
| 4617 0x3F800000, | 2215 0x40000000, 0x40400000, |
| 4618 0x40000000, | 2216 0x40800000, 0x40A00000, |
| 4619 0x40400000, | 2217 0x40C00000, 0x40E00000, |
| 4620 0x40800000, | 2218 0x41000000, 0x41100000, |
| 4621 0x40A00000, | 2219 0x41200000, 0xBF800000], |
| 4622 0x40C00000, | 2220 array); |
| 4623 0x40E00000, | |
| 4624 0x41000000, | |
| 4625 0x41100000, | |
| 4626 0x41200000, | |
| 4627 0xBF800000 | |
| 4628 ], array); | |
| 4629 // TODO: min, max, and round | 2221 // TODO: min, max, and round |
| 4630 for (int i = 0; i < view.length; ++i) { | 2222 for (int i = 0; i < view.length; ++i) { |
| 4631 view[i] = i * 1.0; | 2223 view[i] = i * 1.0; |
| 4632 } | 2224 } |
| 4633 var copy = view.sublist(0, view.length); | 2225 var copy = view.sublist(0, view.length); |
| 4634 Expect.isFalse(identical(copy, view)); | 2226 Expect.isFalse(identical(copy, view)); |
| 4635 Expect.isTrue(copy is Float32List); | 2227 Expect.isTrue(copy is Float32List); |
| 4636 Expect.equals(10, copy.length); | 2228 Expect.equals(10, copy.length); |
| 4637 Expect.listEquals(view, copy); | 2229 Expect.listEquals(view, copy); |
| 4638 var region = view.sublist(3, view.length - 3); | 2230 var region = view.sublist(3, view.length - 3); |
| 4639 Expect.isTrue(copy is Float32List); | 2231 Expect.isTrue(copy is Float32List); |
| 4640 Expect.equals(4, region.length); | 2232 Expect.equals(4, region.length); |
| 4641 Expect.listEquals([3.0, 4.0, 5.0, 6.0], region); | 2233 Expect.listEquals([3.0, 4.0, 5.0, 6.0], region); |
| 4642 view.setRange(3, 7, [double.NEGATIVE_INFINITY, 0.0, 1.0, double.INFINITY]); | 2234 view.setRange(3, 7, [double.NEGATIVE_INFINITY, 0.0, 1.0, double.INFINITY]); |
| 4643 Expect.listEquals([ | 2235 Expect.listEquals([0.0, 1.0, 2.0, double.NEGATIVE_INFINITY, 0.0, |
| 4644 0.0, | 2236 1.0, double.INFINITY, 7.0, 8.0, 9.0], |
| 4645 1.0, | 2237 view); |
| 4646 2.0, | 2238 Expect.listEquals([0xBF800000, 0x00000000, |
| 4647 double.NEGATIVE_INFINITY, | 2239 0x3F800000, 0x40000000, |
| 4648 0.0, | 2240 0xFF800000, 0x00000000, |
| 4649 1.0, | 2241 0x3F800000, 0x7F800000, |
| 4650 double.INFINITY, | 2242 0x40E00000, 0x41000000, |
| 4651 7.0, | 2243 0x41100000, 0xBF800000], |
| 4652 8.0, | 2244 array); |
| 4653 9.0 | |
| 4654 ], view); | |
| 4655 Expect.listEquals([ | |
| 4656 0xBF800000, | |
| 4657 0x00000000, | |
| 4658 0x3F800000, | |
| 4659 0x40000000, | |
| 4660 0xFF800000, | |
| 4661 0x00000000, | |
| 4662 0x3F800000, | |
| 4663 0x7F800000, | |
| 4664 0x40E00000, | |
| 4665 0x41000000, | |
| 4666 0x41100000, | |
| 4667 0xBF800000 | |
| 4668 ], array); | |
| 4669 } | 2245 } |
| 4670 | 2246 |
| 4671 static testFloat32ListView() { | 2247 static testFloat32ListView() { |
| 4672 var array = new Uint32List(12); | 2248 var array = new Uint32List(12); |
| 4673 testFloat32ListViewImpl(array); | 2249 testFloat32ListViewImpl(array); |
| 4674 } | 2250 } |
| 4675 | 2251 |
| 4676 static testFloat64ListViewImpl(var array) { | 2252 static testFloat64ListViewImpl(var array) { |
| 4677 Expect.isTrue(array is List<int>); | 2253 Expect.isTrue(array is List<int>); |
| 4678 Expect.equals(12, array.length); | 2254 Expect.equals(12, array.length); |
| 4679 Expect.equals(8, array.elementSizeInBytes); | 2255 Expect.equals(8, array.elementSizeInBytes); |
| 4680 Expect.equals(96, array.lengthInBytes); | 2256 Expect.equals(96, array.lengthInBytes); |
| 4681 for (int i = 0; i < array.length; ++i) { | 2257 for (int i = 0; i < array.length; ++i) { |
| 4682 array[i] = 0xBFF0000000000000; | 2258 array[i] = 0xBFF0000000000000; |
| 4683 } | 2259 } |
| 4684 Expect.throws(() { | 2260 Expect.throws(() { new Float64List.view(array.buffer, -1); }, |
| 4685 new Float64List.view(array.buffer, -1); | 2261 (e) { return e is RangeError; }); |
| 4686 }, (e) { | 2262 Expect.throws(() { new Float64List.view(array.buffer, 0, -1); }, |
| 4687 return e is RangeError; | 2263 (e) { return e is RangeError; }); |
| 4688 }); | 2264 Expect.throws(() { new Float64List.view(array.buffer, |
| 4689 Expect.throws(() { | 2265 array.lengthInBytes + 1); }, |
| 4690 new Float64List.view(array.buffer, 0, -1); | 2266 (e) { return e is RangeError; }); |
| 4691 }, (e) { | 2267 Expect.throws(() { new Float64List.view(array.buffer, |
| 4692 return e is RangeError; | 2268 0, array.lengthInBytes + 1); }, |
| 4693 }); | 2269 (e) { return e is RangeError; }); |
| 4694 Expect.throws(() { | 2270 Expect.throws(() { new Float64List.view(array.buffer, |
| 4695 new Float64List.view(array.buffer, array.lengthInBytes + 1); | 2271 array.lengthInBytes - 1, 2); }, |
| 4696 }, (e) { | 2272 (e) { return e is RangeError; }); |
| 4697 return e is RangeError; | 2273 var empty = new Float64List.view(array.buffer, |
| 4698 }); | 2274 array.lengthInBytes); |
| 4699 Expect.throws(() { | |
| 4700 new Float64List.view(array.buffer, 0, array.lengthInBytes + 1); | |
| 4701 }, (e) { | |
| 4702 return e is RangeError; | |
| 4703 }); | |
| 4704 Expect.throws(() { | |
| 4705 new Float64List.view(array.buffer, array.lengthInBytes - 1, 2); | |
| 4706 }, (e) { | |
| 4707 return e is RangeError; | |
| 4708 }); | |
| 4709 var empty = new Float64List.view(array.buffer, array.lengthInBytes); | |
| 4710 Expect.isTrue(empty is List<double>); | 2275 Expect.isTrue(empty is List<double>); |
| 4711 Expect.isTrue(empty is Float64List); | 2276 Expect.isTrue(empty is Float64List); |
| 4712 Expect.equals(0, empty.length); | 2277 Expect.equals(0, empty.length); |
| 4713 var whole = new Float64List.view(array.buffer); | 2278 var whole = new Float64List.view(array.buffer); |
| 4714 Expect.isTrue(whole is List<double>); | 2279 Expect.isTrue(whole is List<double>); |
| 4715 Expect.isTrue(whole is Float64List); | 2280 Expect.isTrue(whole is Float64List); |
| 4716 Expect.equals(12, whole.length); | 2281 Expect.equals(12, whole.length); |
| 4717 var view = new Float64List.view(array.buffer, 8, 10); | 2282 var view = new Float64List.view(array.buffer, 8, 10); |
| 4718 Expect.isTrue(view is List<double>); | 2283 Expect.isTrue(view is List<double>); |
| 4719 Expect.isTrue(view is Float64List); | 2284 Expect.isTrue(view is Float64List); |
| 4720 Expect.equals(10, view.length); | 2285 Expect.equals(10, view.length); |
| 4721 Expect.equals(8, view.elementSizeInBytes); | 2286 Expect.equals(8, view.elementSizeInBytes); |
| 4722 Expect.equals(80, view.lengthInBytes); | 2287 Expect.equals(80, view.lengthInBytes); |
| 4723 Expect.listEquals( | 2288 Expect.listEquals([-1.0, -1.0, -1.0, -1.0, -1.0, |
| 4724 [-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0], view); | 2289 -1.0, -1.0, -1.0, -1.0, -1.0], |
| 4725 Expect.throws(() { | 2290 view); |
| 4726 view[-1] = 0.0; | 2291 Expect.throws(() { view[-1] = 0.0; }, |
| 4727 }, (e) { | 2292 (e) { return e is RangeError; }); |
| 4728 return e is RangeError; | 2293 Expect.throws(() { return view[-1]; }, |
| 4729 }); | 2294 (e) { return e is RangeError; }); |
| 4730 Expect.throws(() { | 2295 Expect.throws(() { view[10]; }, |
| 4731 return view[-1]; | 2296 (e) { return e is RangeError; }); |
| 4732 }, (e) { | 2297 Expect.throws(() { view[10] = 0.0; }, |
| 4733 return e is RangeError; | 2298 (e) { return e is RangeError; }); |
| 4734 }); | 2299 Expect.throws(() { array.add(0.0); }, |
| 4735 Expect.throws(() { | 2300 (e) { return e is UnsupportedError; }); |
| 4736 view[10]; | 2301 Expect.throws(() { array.addAll([0]); }, |
| 4737 }, (e) { | 2302 (e) { return e is UnsupportedError; }); |
| 4738 return e is RangeError; | 2303 Expect.throws(() { array.clear(); }, |
| 4739 }); | 2304 (e) { return e is UnsupportedError; }); |
| 4740 Expect.throws(() { | 2305 Expect.throws(() { array.length = 0; }, |
| 4741 view[10] = 0.0; | 2306 (e) { return e is UnsupportedError; }); |
| 4742 }, (e) { | 2307 Expect.throws(() { array.removeLast(); }, |
| 4743 return e is RangeError; | 2308 (e) { return e is UnsupportedError; }); |
| 4744 }); | 2309 Expect.throws(() { array.removeRange(0, array.length - 1); }, |
| 4745 Expect.throws(() { | 2310 (e) { return e is UnsupportedError; }); |
| 4746 array.add(0.0); | |
| 4747 }, (e) { | |
| 4748 return e is UnsupportedError; | |
| 4749 }); | |
| 4750 Expect.throws(() { | |
| 4751 array.addAll([0]); | |
| 4752 }, (e) { | |
| 4753 return e is UnsupportedError; | |
| 4754 }); | |
| 4755 Expect.throws(() { | |
| 4756 array.clear(); | |
| 4757 }, (e) { | |
| 4758 return e is UnsupportedError; | |
| 4759 }); | |
| 4760 Expect.throws(() { | |
| 4761 array.length = 0; | |
| 4762 }, (e) { | |
| 4763 return e is UnsupportedError; | |
| 4764 }); | |
| 4765 Expect.throws(() { | |
| 4766 array.removeLast(); | |
| 4767 }, (e) { | |
| 4768 return e is UnsupportedError; | |
| 4769 }); | |
| 4770 Expect.throws(() { | |
| 4771 array.removeRange(0, array.length - 1); | |
| 4772 }, (e) { | |
| 4773 return e is UnsupportedError; | |
| 4774 }); | |
| 4775 for (int i = 0; i < view.length; ++i) { | 2311 for (int i = 0; i < view.length; ++i) { |
| 4776 view[i] = 1.0 + i; | 2312 view[i] = 1.0 + i; |
| 4777 } | 2313 } |
| 4778 Expect | 2314 Expect.listEquals([1.0, 2.0, 3.0, 4.0, 5.0, |
| 4779 .listEquals([1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0], view); | 2315 6.0, 7.0, 8.0, 9.0, 10.0], |
| 4780 Expect.listEquals([ | 2316 view); |
| 4781 0xBFF0000000000000, | 2317 Expect.listEquals([0xBFF0000000000000, 0x3FF0000000000000, |
| 4782 0x3FF0000000000000, | 2318 0x4000000000000000, 0x4008000000000000, |
| 4783 0x4000000000000000, | 2319 0x4010000000000000, 0x4014000000000000, |
| 4784 0x4008000000000000, | 2320 0x4018000000000000, 0x401C000000000000, |
| 4785 0x4010000000000000, | 2321 0x4020000000000000, 0x4022000000000000, |
| 4786 0x4014000000000000, | 2322 0x4024000000000000, 0xBFF0000000000000], |
| 4787 0x4018000000000000, | 2323 array); |
| 4788 0x401C000000000000, | |
| 4789 0x4020000000000000, | |
| 4790 0x4022000000000000, | |
| 4791 0x4024000000000000, | |
| 4792 0xBFF0000000000000 | |
| 4793 ], array); | |
| 4794 // TODO: min, max | 2324 // TODO: min, max |
| 4795 for (int i = 0; i < view.length; ++i) { | 2325 for (int i = 0; i < view.length; ++i) { |
| 4796 view[i] = i * 1.0; | 2326 view[i] = i * 1.0; |
| 4797 } | 2327 } |
| 4798 var copy = view.sublist(0, view.length); | 2328 var copy = view.sublist(0, view.length); |
| 4799 Expect.isFalse(identical(copy, view)); | 2329 Expect.isFalse(identical(copy, view)); |
| 4800 Expect.isTrue(copy is Float64List); | 2330 Expect.isTrue(copy is Float64List); |
| 4801 Expect.equals(10, copy.length); | 2331 Expect.equals(10, copy.length); |
| 4802 Expect.listEquals(view, copy); | 2332 Expect.listEquals(view, copy); |
| 4803 var region = view.sublist(3, view.length - 3); | 2333 var region = view.sublist(3, view.length - 3); |
| 4804 Expect.isTrue(copy is Float64List); | 2334 Expect.isTrue(copy is Float64List); |
| 4805 Expect.equals(4, region.length); | 2335 Expect.equals(4, region.length); |
| 4806 Expect.listEquals([3.0, 4.0, 5.0, 6.0], region); | 2336 Expect.listEquals([3.0, 4.0, 5.0, 6.0], region); |
| 4807 view.setRange(3, 7, [double.NEGATIVE_INFINITY, 0.0, 1.0, double.INFINITY]); | 2337 view.setRange(3, 7, [double.NEGATIVE_INFINITY, 0.0, 1.0, double.INFINITY]); |
| 4808 Expect.listEquals([ | 2338 Expect.listEquals([0.0, 1.0, 2.0, double.NEGATIVE_INFINITY, 0.0, |
| 4809 0.0, | 2339 1.0, double.INFINITY, 7.0, 8.0, 9.0], |
| 4810 1.0, | 2340 view); |
| 4811 2.0, | 2341 Expect.listEquals([0xBFF0000000000000, 0x0000000000000000, |
| 4812 double.NEGATIVE_INFINITY, | 2342 0x3FF0000000000000, 0x4000000000000000, |
| 4813 0.0, | 2343 0xFFF0000000000000, 0x0000000000000000, |
| 4814 1.0, | 2344 0x3FF0000000000000, 0x7FF0000000000000, |
| 4815 double.INFINITY, | 2345 0x401C000000000000, 0x4020000000000000, |
| 4816 7.0, | 2346 0x4022000000000000, 0xBFF0000000000000], |
| 4817 8.0, | 2347 array); |
| 4818 9.0 | |
| 4819 ], view); | |
| 4820 Expect.listEquals([ | |
| 4821 0xBFF0000000000000, | |
| 4822 0x0000000000000000, | |
| 4823 0x3FF0000000000000, | |
| 4824 0x4000000000000000, | |
| 4825 0xFFF0000000000000, | |
| 4826 0x0000000000000000, | |
| 4827 0x3FF0000000000000, | |
| 4828 0x7FF0000000000000, | |
| 4829 0x401C000000000000, | |
| 4830 0x4020000000000000, | |
| 4831 0x4022000000000000, | |
| 4832 0xBFF0000000000000 | |
| 4833 ], array); | |
| 4834 } | 2348 } |
| 4835 | 2349 |
| 4836 static testFloat64ListView() { | 2350 static testFloat64ListView() { |
| 4837 var array = new Uint64List(12); | 2351 var array = new Uint64List(12); |
| 4838 testFloat64ListViewImpl(array); | 2352 testFloat64ListViewImpl(array); |
| 4839 } | 2353 } |
| 4840 | 2354 |
| 4841 static testMain() { | 2355 static testMain() { |
| 4842 testInt8List(); | 2356 testInt8List(); |
| 4843 testUint8List(); | 2357 testUint8List(); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 4860 testInt64ListView(); | 2374 testInt64ListView(); |
| 4861 testUint64ListView(); | 2375 testUint64ListView(); |
| 4862 testFloat32ListView(); | 2376 testFloat32ListView(); |
| 4863 testFloat64ListView(); | 2377 testFloat64ListView(); |
| 4864 | 2378 |
| 4865 testByteList(); | 2379 testByteList(); |
| 4866 } | 2380 } |
| 4867 } | 2381 } |
| 4868 | 2382 |
| 4869 main() { | 2383 main() { |
| 4870 for (var i = 0; i < 20; i++) { | 2384 for (var i=0; i<20; i++) { |
| 4871 ByteArrayTest.testMain(); | 2385 ByteArrayTest.testMain(); |
| 4872 } | 2386 } |
| 4873 } | 2387 } |
| OLD | NEW |