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

Unified Diff: client/tests/client/html/TypedArrays2Test.dart

Issue 9969001: Typed array constructors with optional buffer offset and length. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: include htmldartium Created 8 years, 9 months 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 | « client/tests/client/html/TypedArrays1Test.dart ('k') | lib/dom/dom.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: client/tests/client/html/TypedArrays2Test.dart
diff --git a/client/tests/client/html/TypedArrays2Test.dart b/client/tests/client/html/TypedArrays2Test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..0e3fc2786a9897aa88887534eac754d09ffa6c08
--- /dev/null
+++ b/client/tests/client/html/TypedArrays2Test.dart
@@ -0,0 +1,78 @@
+// Copyright (c) 2012, 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.
+
+#library('TypedArrays2Test');
+#import('../../../../lib/unittest/unittest_html.dart');
+#import('dart:html');
+
+main() {
+
+ forLayoutTests();
+
+ test('fromBufferTest_var', () {
+ var a1 = new Uint8Array(1024);
+ for (int i = 0; i < a1.length; i++) {
+ a1[i] = i; // 0,1,2,...,254,255,0,1,2,...
+ }
+
+ var a2 = new Uint32Array.fromBuffer(a1.buffer);
+ Expect.equals(1024 ~/ 4, a2.length);
+ Expect.equals(0x03020100, a2[0]);
+ Expect.equals(0x07060504, a2[1]);
+ Expect.equals(0x0B0A0908, a2[2]);
+ Expect.equals(0xCBCAC9C8, a2[50]);
+ Expect.equals(0xCFCECDCC, a2[51]);
+ Expect.equals(0x03020100, a2[64]);
+
+ a2 = new Uint32Array.fromBuffer(a1.buffer, 200);
+ Expect.equals((1024 - 200) ~/ 4, a2.length);
+ Expect.equals(0xCBCAC9C8, a2[0]);
+ Expect.equals(0xCFCECDCC, a2[1]);
+ Expect.equals(0x03020100, a2[14]);
+
+ a2 = new Uint32Array.fromBuffer(a1.buffer, 456, 20);
+ Expect.equals(20, a2.length);
+ Expect.equals(0xCBCAC9C8, a2[0]);
+ Expect.equals(0xCFCECDCC, a2[1]);
+ Expect.equals(0x03020100, a2[14]);
+
+ a2 = new Uint32Array.fromBuffer(a1.buffer, length: 30, byteOffset: 456);
+ Expect.equals(30, a2.length);
+ Expect.equals(0xCBCAC9C8, a2[0]);
+ Expect.equals(0xCFCECDCC, a2[1]);
+ Expect.equals(0x03020100, a2[14]);
+ });
+
+ test('fromBufferTest_typed', () {
+ Uint8Array a1 = new Uint8Array(1024);
+ for (int i = 0; i < a1.length; i++) {
+ a1[i] = i;
+ }
+
+ Uint32Array a2 = new Uint32Array.fromBuffer(a1.buffer);
+ Expect.equals(1024 ~/ 4, a2.length);
+ Expect.equals(0x03020100, a2[0]);
+ Expect.equals(0xCBCAC9C8, a2[50]);
+ Expect.equals(0xCFCECDCC, a2[51]);
+ Expect.equals(0x03020100, a2[64]);
+
+ a2 = new Uint32Array.fromBuffer(a1.buffer, 200);
+ Expect.equals((1024 - 200) ~/ 4, a2.length);
+ Expect.equals(0xCBCAC9C8, a2[0]);
+ Expect.equals(0xCFCECDCC, a2[1]);
+ Expect.equals(0x03020100, a2[14]);
+
+ a2 = new Uint32Array.fromBuffer(a1.buffer, 456, 20);
+ Expect.equals(20, a2.length);
+ Expect.equals(0xCBCAC9C8, a2[0]);
+ Expect.equals(0xCFCECDCC, a2[1]);
+ Expect.equals(0x03020100, a2[14]);
+
+ a2 = new Uint32Array.fromBuffer(a1.buffer, length: 30, byteOffset: 456);
+ Expect.equals(30, a2.length);
+ Expect.equals(0xCBCAC9C8, a2[0]);
+ Expect.equals(0xCFCECDCC, a2[1]);
+ Expect.equals(0x03020100, a2[14]);
+ });
+}
« no previous file with comments | « client/tests/client/html/TypedArrays1Test.dart ('k') | lib/dom/dom.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698