| 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 | 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 } |
| OLD | NEW |