Index: test/codegen/lib/typed_data/setRange_5_test.dart |
diff --git a/test/codegen/lib/typed_data/setRange_5_test.dart b/test/codegen/lib/typed_data/setRange_5_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..fb86cb08f335c5c97e15ee909950f286c5030229 |
--- /dev/null |
+++ b/test/codegen/lib/typed_data/setRange_5_test.dart |
@@ -0,0 +1,35 @@ |
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+import 'dart:typed_data'; |
+import 'package:expect/expect.dart'; |
+import 'setRange_lib.dart'; |
+ |
+overlapTest() { |
+ // buffer: xxxxxxxxyyyyyyyyzzzzzzzz // 3 * float32 |
+ // a0: 1 2 3 4 5 6 7 8 9101112 // 12 bytes |
+ // a1: a b c d e // 5 bytes |
+ // a2: p q r s t // 5 bytes |
+ var buffer = new Float32List(3).buffer; |
+ var a0 = new Int8List.view(buffer); |
+ var a1 = new Int8List.view(buffer, 1, 5); |
+ var a2 = new Int8List.view(buffer, 2, 5); |
+ initialize(a0); |
+ Expect.equals('[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]', '$a0'); |
+ Expect.equals('[2, 3, 4, 5, 6]', '$a1'); |
+ Expect.equals('[3, 4, 5, 6, 7]', '$a2'); |
+ a1.setRange(0, 5, a2); |
+ Expect.equals('[1, 3, 4, 5, 6, 7, 7, 8, 9, 10, 11, 12]', '$a0'); |
+ |
+ initialize(a0); |
+ Expect.equals('[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]', '$a0'); |
+ Expect.equals('[2, 3, 4, 5, 6]', '$a1'); |
+ Expect.equals('[3, 4, 5, 6, 7]', '$a2'); |
+ a2.setRange(0, 5, a1); |
+ Expect.equals('[1, 2, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12]', '$a0'); |
+} |
+ |
+main() { |
+ overlapTest(); |
+} |