Index: tests/standalone/io/file_typed_data_test.dart |
diff --git a/tests/standalone/io/file_typed_data_test.dart b/tests/standalone/io/file_typed_data_test.dart |
index 3d03e8e9791f226a8d0908c12bb9cd5ef91846ac..7d5f715aa8b79c7fd5ba9207086e0babb92fe852 100644 |
--- a/tests/standalone/io/file_typed_data_test.dart |
+++ b/tests/standalone/io/file_typed_data_test.dart |
@@ -64,6 +64,33 @@ void testWriteUint8ListAndView() { |
} |
+void testWriteUint8ClampedListAndView() { |
+ ReceivePort port = new ReceivePort(); |
+ Uint8List list = new Uint8ClampedList(8); |
+ for (int i = 0; i < 8; i++) list[i] = i; |
+ var view = new Uint8ClampedList.view(list.buffer, 2, 4); |
+ |
+ new Directory('').createTemp().then((temp) { |
+ var file = new File("${temp.path}/test"); |
+ file.open(mode: FileMode.WRITE).then((raf) { |
+ return raf.writeList(list, 0, 8); |
+ }).then((raf) { |
+ return raf.writeList(view, 0, 4); |
+ }).then((raf) { |
+ return raf.close(); |
+ }).then((_) { |
+ var expected = []; |
+ expected.addAll(list); |
+ expected.addAll(view); |
+ var content = file.readAsBytesSync(); |
+ Expect.listEquals(expected, content); |
+ temp.deleteSync(recursive: true); |
+ port.close(); |
+ }); |
+ }); |
+} |
+ |
+ |
void testWriteInt16ListAndView() { |
ReceivePort port = new ReceivePort(); |
var list = new Int16List(8); |
@@ -126,9 +153,238 @@ void testWriteUint16ListAndView() { |
} |
+void testWriteInt32ListAndView() { |
+ ReceivePort port = new ReceivePort(); |
+ var list = new Int32List(8); |
+ for (int i = 0; i < 8; i++) list[i] = i; |
+ var view = new Int32List.view(list.buffer, 2, 4); |
+ |
+ new Directory('').createTemp().then((temp) { |
+ var file = new File("${temp.path}/test"); |
+ file.open(mode: FileMode.WRITE).then((raf) { |
+ return raf.writeList(list, 0, 8); |
+ }).then((raf) { |
+ return raf.writeList(view, 0, 4); |
+ }).then((raf) { |
+ return raf.close(); |
+ }).then((_) { |
+ var expected = []; |
+ expected.addAll(list); |
+ expected.addAll(view); |
+ var content = file.readAsBytesSync(); |
+ var typed_data_content = new Uint8List(content.length); |
+ for (int i = 0; i < content.length; i++) { |
+ typed_data_content[i] = content[i]; |
+ } |
+ Expect.listEquals(expected, new Int32List.view(typed_data_content)); |
+ temp.deleteSync(recursive: true); |
+ port.close(); |
+ }); |
+ }); |
+} |
+ |
+ |
+void testWriteUint32ListAndView() { |
+ ReceivePort port = new ReceivePort(); |
+ var list = new Uint32List(8); |
+ for (int i = 0; i < 8; i++) list[i] = i; |
+ var view = new Uint32List.view(list.buffer, 2, 4); |
+ |
+ new Directory('').createTemp().then((temp) { |
+ var file = new File("${temp.path}/test"); |
+ file.open(mode: FileMode.WRITE).then((raf) { |
+ return raf.writeList(list, 0, 8); |
+ }).then((raf) { |
+ return raf.writeList(view, 0, 4); |
+ }).then((raf) { |
+ return raf.close(); |
+ }).then((_) { |
+ var expected = []; |
+ expected.addAll(list); |
+ expected.addAll(view); |
+ var content = file.readAsBytesSync(); |
+ var typed_data_content = new Uint8List(content.length); |
+ for (int i = 0; i < content.length; i++) { |
+ typed_data_content[i] = content[i]; |
+ } |
+ Expect.listEquals(expected, new Uint32List.view(typed_data_content)); |
+ temp.deleteSync(recursive: true); |
+ port.close(); |
+ }); |
+ }); |
+} |
+ |
+ |
+void testWriteInt64ListAndView() { |
+ ReceivePort port = new ReceivePort(); |
+ var list = new Int64List(8); |
+ for (int i = 0; i < 8; i++) list[i] = i; |
+ var view = new Int64List.view(list.buffer, 2, 4); |
+ |
+ new Directory('').createTemp().then((temp) { |
+ var file = new File("${temp.path}/test"); |
+ file.open(mode: FileMode.WRITE).then((raf) { |
+ return raf.writeList(list, 0, 8); |
+ }).then((raf) { |
+ // return raf.writeList(view, 0, 4); |
+ //}).then((raf) { |
+ return raf.close(); |
+ }).then((_) { |
+ var expected = []; |
+ expected.addAll(list); |
+ //expected.addAll(view); |
+ var content = file.readAsBytesSync(); |
+ var typed_data_content = new Uint8List(content.length); |
+ for (int i = 0; i < content.length; i++) { |
+ typed_data_content[i] = content[i]; |
+ } |
+ Expect.listEquals(expected, new Int64List.view(typed_data_content)); |
+ temp.deleteSync(recursive: true); |
+ port.close(); |
+ }); |
+ }); |
+} |
+ |
+ |
+void testWriteUint64ListAndView() { |
+ ReceivePort port = new ReceivePort(); |
+ var list = new Uint64List(8); |
+ for (int i = 0; i < 8; i++) list[i] = i; |
+ var view = new Uint64List.view(list.buffer, 2, 4); |
+ |
+ new Directory('').createTemp().then((temp) { |
+ var file = new File("${temp.path}/test"); |
+ file.open(mode: FileMode.WRITE).then((raf) { |
+ return raf.writeList(list, 0, 8); |
+ }).then((raf) { |
+ return raf.writeList(view, 0, 4); |
+ }).then((raf) { |
+ return raf.close(); |
+ }).then((_) { |
+ var expected = []; |
+ expected.addAll(list); |
+ expected.addAll(view); |
+ var content = file.readAsBytesSync(); |
+ var typed_data_content = new Uint8List(content.length); |
+ for (int i = 0; i < content.length; i++) { |
+ typed_data_content[i] = content[i]; |
+ } |
+ Expect.listEquals(expected, new Uint64List.view(typed_data_content)); |
+ temp.deleteSync(recursive: true); |
+ port.close(); |
+ }); |
+ }); |
+} |
+ |
+ |
+void testWriteByteData() { |
+ ReceivePort port = new ReceivePort(); |
+ var list = new ByteData(8); |
+ for (int i = 0; i < 8; i++) list.setUint8(i, i); |
+ var view = new ByteData.view(list.buffer, 2, 4); |
+ |
+ new Directory('').createTemp().then((temp) { |
+ var file = new File("${temp.path}/test"); |
+ file.open(mode: FileMode.WRITE).then((raf) { |
+ return raf.writeList(list, 0, 8); |
+ }).then((raf) { |
+ return raf.writeList(view, 0, 4); |
+ }).then((raf) { |
+ return raf.close(); |
+ }).then((_) { |
+ var expected = []; |
+ for (int i = 0; i < list.lengthInBytes; i++) { |
+ expected.add(list.getUint8(i)); |
+ } |
+ for (int i = 0; i < view.lengthInBytes; i++) { |
+ expected.add(view.getUint8(i)); |
+ } |
+ var content = file.readAsBytesSync(); |
+ var typed_data_content = new Uint8List(content.length); |
+ for (int i = 0; i < content.length; i++) { |
+ typed_data_content[i] = content[i]; |
+ } |
+ Expect.listEquals(expected, new Uint8List.view(typed_data_content)); |
+ temp.deleteSync(recursive: true); |
+ port.close(); |
+ }); |
+ }); |
+} |
+ |
+ |
+void testWriteFloat32ListAndView() { |
+ ReceivePort port = new ReceivePort(); |
+ var list = new Float32List(8); |
+ for (int i = 0; i < 8; i++) list[i] = 1.1 * i; |
+ var view = new Float32List.view(list.buffer, 2, 4); |
+ |
+ new Directory('').createTemp().then((temp) { |
+ var file = new File("${temp.path}/test"); |
+ file.open(mode: FileMode.WRITE).then((raf) { |
+ return raf.writeList(list, 0, 8); |
+ }).then((raf) { |
+ return raf.writeList(view, 0, 4); |
+ }).then((raf) { |
+ return raf.close(); |
+ }).then((_) { |
+ var expected = []; |
+ expected.addAll(list); |
+ expected.addAll(view); |
+ var content = file.readAsBytesSync(); |
+ var typed_data_content = new Uint8List(content.length); |
+ for (int i = 0; i < content.length; i++) { |
+ typed_data_content[i] = content[i]; |
+ } |
+ Expect.listEquals(expected, new Float32List.view(typed_data_content)); |
+ temp.deleteSync(recursive: true); |
+ port.close(); |
+ }); |
+ }); |
+} |
+ |
+ |
+void testWriteFloat64ListAndView() { |
+ ReceivePort port = new ReceivePort(); |
+ var list = new Float64List(8); |
+ for (int i = 0; i < 8; i++) list[i] = 1.1 * i; |
+ var view = new Float64List.view(list.buffer, 2, 4); |
+ |
+ new Directory('').createTemp().then((temp) { |
+ var file = new File("${temp.path}/test"); |
+ file.open(mode: FileMode.WRITE).then((raf) { |
+ return raf.writeList(list, 0, 8); |
+ }).then((raf) { |
+ return raf.writeList(view, 0, 4); |
+ }).then((raf) { |
+ return raf.close(); |
+ }).then((_) { |
+ var expected = []; |
+ expected.addAll(list); |
+ expected.addAll(view); |
+ var content = file.readAsBytesSync(); |
+ var typed_data_content = new Uint8List(content.length); |
+ for (int i = 0; i < content.length; i++) { |
+ typed_data_content[i] = content[i]; |
+ } |
+ Expect.listEquals(expected, new Float64List.view(typed_data_content)); |
+ temp.deleteSync(recursive: true); |
+ port.close(); |
+ }); |
+ }); |
+} |
+ |
+ |
main() { |
testWriteInt8ListAndView(); |
testWriteUint8ListAndView(); |
+ testWriteUint8ClampedListAndView(); |
testWriteInt16ListAndView(); |
testWriteUint16ListAndView(); |
+ testWriteInt32ListAndView(); |
+ testWriteUint32ListAndView(); |
+ testWriteInt64ListAndView(); |
+ testWriteUint64ListAndView(); |
+ testWriteByteData(); |
+ testWriteFloat32ListAndView(); |
+ testWriteFloat64ListAndView(); |
} |