Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1229)

Unified Diff: tests/lib/typed_data/setRange_lib.dart

Issue 105273005: Redo "Redo "Use TypedArray.set for setRange of between similarly typed lists implemented as TypedAr… (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tests/lib/typed_data/setRange_3_test.dart ('k') | tests/lib/typed_data/typed_data_setRange_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/lib/typed_data/setRange_lib.dart
diff --git a/tests/lib/typed_data/typed_data_setRange_test.dart b/tests/lib/typed_data/setRange_lib.dart
similarity index 57%
rename from tests/lib/typed_data/typed_data_setRange_test.dart
rename to tests/lib/typed_data/setRange_lib.dart
index f593f7d178f1cb40d0033b4e02fae347d8a44978..bcdd302be0300d701a75c4ab16c595daf3687cc4 100644
--- a/tests/lib/typed_data/typed_data_setRange_test.dart
+++ b/tests/lib/typed_data/setRange_lib.dart
@@ -2,10 +2,11 @@
// 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.
+library setRange_lib;
+
import 'package:expect/expect.dart';
import 'dart:typed_data';
-
initialize(a) {
for (int i = 0; i < a.length; i++) {
a[i] = i + 1;
@@ -18,27 +19,20 @@ makeInt16View(buffer, byteOffset, length) =>
makeUint16View(buffer, byteOffset, length) =>
new Uint16List.view(buffer, byteOffset, length);
+makeInt16List(length) => new Int16List(length);
+makeUint16List(length) => new Uint16List(length);
-sameTypeTest() {
- checkSameSize(new Int16List(9), makeInt16View, makeInt16View);
- checkSameSize(new Uint16List(9), makeUint16View, makeUint16View);
-}
-
-sameElementSizeTest() {
- checkSameSize(new Int16List(9), makeInt16View, makeUint16View);
- checkSameSize(new Int16List(9), makeUint16View, makeInt16View);
-}
-
-checkSameSize(a0, constructor1, constructor2) {
+checkSameSize(constructor0, constructor1, constructor2) {
// Typed lists a1 and a2 share a buffer as follows (bytes):
//
// a0: aabbccddeeffgghhii
// a1: aabbccddeeffgg
// a2: aabbccddeeffgg
+ var a0 = constructor0(9);
var buffer = a0.buffer;
var a1 = constructor1(buffer, 0, 7);
- var a2 = constructor2(buffer, 2 * 2, 7);
+ var a2 = constructor2(buffer, 2 * a0.elementSizeInBytes, 7);
initialize(a0);
Expect.equals('[1, 2, 3, 4, 5, 6, 7, 8, 9]', '$a0');
@@ -69,33 +63,3 @@ checkSameSize(a0, constructor1, constructor2) {
a2.setRange(0, 6, a1, 1);
Expect.equals('[1, 2, 2, 3, 4, 5, 6, 7, 9]', '$a0');
}
-
-expandContractTest() {
- // Copying between views that have different element sizes can't be done with
- // a single scan-up or scan-down.
- //
- // Typed lists a1 and a2 share a buffer as follows:
- //
- // a1: aaaabbbbccccddddeeeeffffgggghhhh
- // a2: abcdefgh
-
- var a1 = new Int32List(8);
- var buffer = a1.buffer;
- var a2 = new Int8List.view(buffer, 12, 8);
-
- initialize(a2);
- Expect.equals('[1, 2, 3, 4, 5, 6, 7, 8]', '$a2');
- a1.setRange(0, 8, a2);
- Expect.equals('[1, 2, 3, 4, 5, 6, 7, 8]', '$a1');
-
- initialize(a1);
- Expect.equals('[1, 2, 3, 4, 5, 6, 7, 8]', '$a1');
- a2.setRange(0, 8, a1);
- Expect.equals('[1, 2, 3, 4, 5, 6, 7, 8]', '$a2');
-}
-
-main() {
- sameTypeTest();
- sameElementSizeTest();
- expandContractTest();
-}
« no previous file with comments | « tests/lib/typed_data/setRange_3_test.dart ('k') | tests/lib/typed_data/typed_data_setRange_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698