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

Side by Side Diff: tests/html/typed_arrays_dataview_test.dart

Issue 18391002: dart2js typed_data arrays improvements (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 5 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « sdk/lib/typed_data/dart2js/typed_data_dart2js.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library typed_arrays_dataview_test; 5 library typed_arrays_dataview_test;
6 import '../../pkg/unittest/lib/unittest.dart'; 6 import '../../pkg/unittest/lib/unittest.dart';
7 import '../../pkg/unittest/lib/html_config.dart'; 7 import '../../pkg/unittest/lib/html_config.dart';
8 import 'dart:html'; 8 import 'dart:html';
9 import 'dart:typed_data'; 9 import 'dart:typed_data';
10 10
11 main() { 11 main() {
12 useHtmlConfiguration(); 12 useHtmlConfiguration();
13 13
14 // Only perform tests if ArrayBuffer is supported. 14 // Only perform tests if ArrayBuffer is supported.
15 if (!Platform.supportsTypedData) { 15 if (!Platform.supportsTypedData) {
16 return; 16 return;
17 } 17 }
18 18
19 test('create', () {
20 var bd = new ByteData(100);
21 expect(bd.lengthInBytes, 100);
22 expect(bd.offsetInBytes, 0);
23
24 var a1 = new Uint8List.fromList([1,2,3,4,5,6,7,8]);
25
26 var bd2 = new ByteData.view(a1.buffer);
27 expect(bd2.lengthInBytes, 8);
28 expect(bd2.offsetInBytes, 0);
29
30 var bd3 = new ByteData.view(a1.buffer, 2);
31 expect(bd3.lengthInBytes, 6);
32 expect(bd3.offsetInBytes, 2);
33
34 var bd4 = new ByteData.view(a1.buffer, 3, 4);
35 expect(bd4.lengthInBytes, 4);
36 expect(bd4.offsetInBytes, 3);
37 });
38
19 test('access8', () { 39 test('access8', () {
20 var a1 = new Uint8List.fromList([0,0,3,255,0,0,0,0,0,0]); 40 var a1 = new Uint8List.fromList([0,0,3,255,0,0,0,0,0,0]);
21 41
22 var dv = new ByteData.view(a1.buffer, 2, 6); 42 var bd = new ByteData.view(a1.buffer, 2, 6);
23 43
24 expect(dv.getInt8(0), equals(3)); 44 expect(bd.getInt8(0), equals(3));
25 expect(dv.getInt8(1), equals(-1)); 45 expect(bd.getInt8(1), equals(-1));
26 expect(dv.getUint8(0), equals(3)); 46 expect(bd.getUint8(0), equals(3));
27 expect(dv.getUint8(1), equals(255)); 47 expect(bd.getUint8(1), equals(255));
28 48
29 dv.setInt8(2, -56); 49 bd.setInt8(2, -56);
30 expect(dv.getInt8(2), equals(-56)); 50 expect(bd.getInt8(2), equals(-56));
31 expect(dv.getUint8(2), equals(200)); 51 expect(bd.getUint8(2), equals(200));
32 52
33 dv.setUint8(3, 200); 53 bd.setUint8(3, 200);
34 expect(dv.getInt8(3), equals(-56)); 54 expect(bd.getInt8(3), equals(-56));
35 expect(dv.getUint8(3), equals(200)); 55 expect(bd.getUint8(3), equals(200));
36 }); 56 });
37 57
38 test('access16', () { 58 test('access16', () {
39 var a1 = new Uint8List.fromList([0,0,3,255,0,0,0,0,0,0]); 59 var a1 = new Uint8List.fromList([0,0,3,255,0,0,0,0,0,0]);
40 60
41 var dv = new ByteData.view(a1.buffer, 2); 61 var bd = new ByteData.view(a1.buffer, 2);
42 62
43 expect(dv.lengthInBytes, equals(10 - 2)); 63 expect(bd.lengthInBytes, equals(10 - 2));
44 64
45 expect(dv.getInt16(0), equals(1023)); 65 expect(bd.getInt16(0), equals(1023));
46 expect(dv.getInt16(0, Endianness.BIG_ENDIAN), equals(1023)); 66 expect(bd.getInt16(0, Endianness.BIG_ENDIAN), equals(1023));
47 expect(dv.getInt16(0, Endianness.LITTLE_ENDIAN), equals(-253)); 67 expect(bd.getInt16(0, Endianness.LITTLE_ENDIAN), equals(-253));
48 68
49 expect(dv.getUint16(0), equals(1023)); 69 expect(bd.getUint16(0), equals(1023));
50 expect(dv.getUint16(0, Endianness.BIG_ENDIAN), equals(1023)); 70 expect(bd.getUint16(0, Endianness.BIG_ENDIAN), equals(1023));
51 expect(dv.getUint16(0, Endianness.LITTLE_ENDIAN), equals(0xFF03)); 71 expect(bd.getUint16(0, Endianness.LITTLE_ENDIAN), equals(0xFF03));
52 72
53 dv.setInt16(2, -1); 73 bd.setInt16(2, -1);
54 expect(dv.getInt16(2), equals(-1)); 74 expect(bd.getInt16(2), equals(-1));
55 expect(dv.getUint16(2), equals(0xFFFF)); 75 expect(bd.getUint16(2), equals(0xFFFF));
56 }); 76 });
57 77
58 test('access32', () { 78 test('access32', () {
59 var a1 = new Uint8List.fromList([0,0,3,255,0,0,0,0,0,0]); 79 var a1 = new Uint8List.fromList([0,0,3,255,0,0,0,0,0,0]);
60 80
61 var dv = new ByteData.view(a1.buffer); 81 var bd = new ByteData.view(a1.buffer);
62 82
63 expect(dv.getInt32(0), equals(1023)); 83 expect(bd.getInt32(0), equals(1023));
64 expect(dv.getInt32(0, Endianness.BIG_ENDIAN), equals(1023)); 84 expect(bd.getInt32(0, Endianness.BIG_ENDIAN), equals(1023));
65 expect(dv.getInt32(0, Endianness.LITTLE_ENDIAN), equals(-0xFD0000)); 85 expect(bd.getInt32(0, Endianness.LITTLE_ENDIAN), equals(-0xFD0000));
66 86
67 expect(dv.getUint32(0), equals(1023)); 87 expect(bd.getUint32(0), equals(1023));
68 expect(dv.getUint32(0, Endianness.BIG_ENDIAN), equals(1023)); 88 expect(bd.getUint32(0, Endianness.BIG_ENDIAN), equals(1023));
69 expect(dv.getUint32(0, Endianness.LITTLE_ENDIAN), equals(0xFF030000)); 89 expect(bd.getUint32(0, Endianness.LITTLE_ENDIAN), equals(0xFF030000));
70 }); 90 });
71 91
72 } 92 }
OLDNEW
« no previous file with comments | « sdk/lib/typed_data/dart2js/typed_data_dart2js.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698