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

Side by Side Diff: tests/standalone/io/file_test.dart

Issue 11783009: Big merge from experimental to bleeding edge. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 11 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
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 // Dart test program for testing file I/O. 5 // Dart test program for testing file I/O.
6 6
7 import "dart:io"; 7 import 'dart:async';
8 import "dart:isolate"; 8 import 'dart:io';
9 import 'dart:isolate';
9 10
10 class MyListOfOneElement implements List { 11 class MyListOfOneElement implements List {
11 int _value; 12 int _value;
12 MyListOfOneElement(this._value); 13 MyListOfOneElement(this._value);
13 int get length => 1; 14 int get length => 1;
14 operator [](int index) => _value; 15 operator [](int index) => _value;
15 } 16 }
16 17
17 class FileTest { 18 class FileTest {
18 static Directory tempDirectory; 19 static Directory tempDirectory;
(...skipping 21 matching lines...) Expand all
40 } 41 }
41 42
42 // Test for file read functionality. 43 // Test for file read functionality.
43 static void testReadStream() { 44 static void testReadStream() {
44 // Read a file and check part of it's contents. 45 // Read a file and check part of it's contents.
45 String filename = getFilename("bin/file_test.cc"); 46 String filename = getFilename("bin/file_test.cc");
46 File file = new File(filename); 47 File file = new File(filename);
47 Expect.isTrue('$file'.contains(file.name)); 48 Expect.isTrue('$file'.contains(file.name));
48 InputStream input = file.openInputStream(); 49 InputStream input = file.openInputStream();
49 input.onData = () { 50 input.onData = () {
50 List<int> buffer = new List<int>(42); 51 List<int> buffer = new List<int>.fixedLength(42);
51 int bytesRead = input.readInto(buffer, 0, 12); 52 int bytesRead = input.readInto(buffer, 0, 12);
52 Expect.equals(12, bytesRead); 53 Expect.equals(12, bytesRead);
53 bytesRead = input.readInto(buffer, 12, 30); 54 bytesRead = input.readInto(buffer, 12, 30);
54 input.close(); 55 input.close();
55 Expect.equals(30, bytesRead); 56 Expect.equals(30, bytesRead);
56 Expect.equals(47, buffer[0]); // represents '/' in the file. 57 Expect.equals(47, buffer[0]); // represents '/' in the file.
57 Expect.equals(47, buffer[1]); // represents '/' in the file. 58 Expect.equals(47, buffer[1]); // represents '/' in the file.
58 Expect.equals(32, buffer[2]); // represents ' ' in the file. 59 Expect.equals(32, buffer[2]); // represents ' ' in the file.
59 Expect.equals(67, buffer[3]); // represents 'C' in the file. 60 Expect.equals(67, buffer[3]); // represents 'C' in the file.
60 Expect.equals(111, buffer[4]); // represents 'o' in the file. 61 Expect.equals(111, buffer[4]); // represents 'o' in the file.
(...skipping 15 matching lines...) Expand all
76 String inFilename = getFilename("tests/vm/data/fixed_length_file"); 77 String inFilename = getFilename("tests/vm/data/fixed_length_file");
77 File file; 78 File file;
78 InputStream input; 79 InputStream input;
79 int bytesRead; 80 int bytesRead;
80 81
81 // Test reading all using readInto. 82 // Test reading all using readInto.
82 var file1 = new File(inFilename); 83 var file1 = new File(inFilename);
83 var input1 = file1.openInputStream(); 84 var input1 = file1.openInputStream();
84 List<int> buffer1; 85 List<int> buffer1;
85 input1.onData = () { 86 input1.onData = () {
86 buffer1 = new List<int>(42); 87 buffer1 = new List<int>.fixedLength(42);
87 bytesRead = input1.readInto(buffer1, 0, 42); 88 bytesRead = input1.readInto(buffer1, 0, 42);
88 Expect.equals(42, bytesRead); 89 Expect.equals(42, bytesRead);
89 }; 90 };
90 input1.onError = (e) { throw e; }; 91 input1.onError = (e) { throw e; };
91 input1.onClosed = () { 92 input1.onClosed = () {
92 Expect.isTrue(input1.closed); 93 Expect.isTrue(input1.closed);
93 94
94 // Test reading all using readInto and read. 95 // Test reading all using readInto and read.
95 var file2 = new File(inFilename); 96 var file2 = new File(inFilename);
96 var input2 = file2.openInputStream(); 97 var input2 = file2.openInputStream();
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 String outFilename = 133 String outFilename =
133 tempDirectory.path.concat("/out_read_write_stream"); 134 tempDirectory.path.concat("/out_read_write_stream");
134 file = new File(outFilename); 135 file = new File(outFilename);
135 OutputStream output = file.openOutputStream(); 136 OutputStream output = file.openOutputStream();
136 bool writeDone = output.writeFrom(buffer1, 0, 42); 137 bool writeDone = output.writeFrom(buffer1, 0, 42);
137 Expect.equals(false, writeDone); 138 Expect.equals(false, writeDone);
138 output.onNoPendingWrites = () { 139 output.onNoPendingWrites = () {
139 output.close(); 140 output.close();
140 output.onClosed = () { 141 output.onClosed = () {
141 // Now read the contents of the file just written. 142 // Now read the contents of the file just written.
142 List<int> buffer2 = new List<int>(42); 143 List<int> buffer2 = new List<int>.fixedLength(42);
143 var file6 = new File(outFilename); 144 var file6 = new File(outFilename);
144 var input6 = file6.openInputStream(); 145 var input6 = file6.openInputStream();
145 input6.onData = () { 146 input6.onData = () {
146 bytesRead = input6.readInto(buffer2, 0, 42); 147 bytesRead = input6.readInto(buffer2, 0, 42);
147 Expect.equals(42, bytesRead); 148 Expect.equals(42, bytesRead);
148 // Now compare the two buffers to check if they are identical. 149 // Now compare the two buffers to check if they are identical.
149 for (int i = 0; i < buffer1.length; i++) { 150 for (int i = 0; i < buffer1.length; i++) {
150 Expect.equals(buffer1[i], buffer2[i]); 151 Expect.equals(buffer1[i], buffer2[i]);
151 } 152 }
152 }; 153 };
(...skipping 10 matching lines...) Expand all
163 }; 164 };
164 }; 165 };
165 }; 166 };
166 } 167 }
167 168
168 // Test for file stream buffered handling of large files. 169 // Test for file stream buffered handling of large files.
169 static void testReadWriteStreamLargeFile() { 170 static void testReadWriteStreamLargeFile() {
170 asyncTestStarted(); 171 asyncTestStarted();
171 172
172 // Create the test data - arbitrary binary data. 173 // Create the test data - arbitrary binary data.
173 List<int> buffer = new List<int>(100000); 174 List<int> buffer = new List<int>.fixedLength(100000);
174 for (var i = 0; i < buffer.length; ++i) { 175 for (var i = 0; i < buffer.length; ++i) {
175 buffer[i] = i % 256; 176 buffer[i] = i % 256;
176 } 177 }
177 String filename = 178 String filename =
178 tempDirectory.path.concat("/out_read_write_stream_large_file"); 179 tempDirectory.path.concat("/out_read_write_stream_large_file");
179 File file = new File(filename); 180 File file = new File(filename);
180 OutputStream output = file.openOutputStream(); 181 OutputStream output = file.openOutputStream();
181 // Test a write immediately after the output stream is created. 182 // Test a write immediately after the output stream is created.
182 output.writeFrom(buffer, 0, 20000); 183 output.writeFrom(buffer, 0, 20000);
183 184
(...skipping 11 matching lines...) Expand all
195 InputStream input = file.openInputStream(); 196 InputStream input = file.openInputStream();
196 int position = 0; 197 int position = 0;
197 final int expectedLength = 200000; 198 final int expectedLength = 200000;
198 // Start an independent asynchronous check on the length. 199 // Start an independent asynchronous check on the length.
199 asyncTestStarted(); 200 asyncTestStarted();
200 file.length().then((len) { 201 file.length().then((len) {
201 Expect.equals(expectedLength, len); 202 Expect.equals(expectedLength, len);
202 asyncTestDone('testReadWriteStreamLargeFile: length check'); 203 asyncTestDone('testReadWriteStreamLargeFile: length check');
203 }); 204 });
204 205
205 List<int> inputBuffer = new List<int>(expectedLength + 100000); 206 List<int> inputBuffer =
207 new List<int>.fixedLength(expectedLength + 100000);
206 // Immediate read should read 0 bytes. 208 // Immediate read should read 0 bytes.
207 Expect.equals(0, input.available()); 209 Expect.equals(0, input.available());
208 Expect.equals(false, input.closed); 210 Expect.equals(false, input.closed);
209 int bytesRead = input.readInto(inputBuffer); 211 int bytesRead = input.readInto(inputBuffer);
210 Expect.equals(0, bytesRead); 212 Expect.equals(0, bytesRead);
211 Expect.equals(0, input.available()); 213 Expect.equals(0, input.available());
212 Expect.isFalse(input.closed); 214 Expect.isFalse(input.closed);
213 input.onError = (e) { 215 input.onError = (e) {
214 print('Error handler called on input in testReadWriteStreamLargeFile'); 216 print('Error handler called on input in testReadWriteStreamLargeFile');
215 print('with error $e'); 217 print('with error $e');
(...skipping 18 matching lines...) Expand all
234 Expect.isTrue(input.closed); 236 Expect.isTrue(input.closed);
235 input.close(); // This should be safe to call. 237 input.close(); // This should be safe to call.
236 238
237 Expect.equals(expectedLength, position); 239 Expect.equals(expectedLength, position);
238 for (int i = 0; i < position; ++i) { 240 for (int i = 0; i < position; ++i) {
239 Expect.equals(buffer[i % buffer.length], inputBuffer[i]); 241 Expect.equals(buffer[i % buffer.length], inputBuffer[i]);
240 } 242 }
241 243
242 Future testPipeDone = testPipe(file, buffer); 244 Future testPipeDone = testPipe(file, buffer);
243 245
244 Future futureDeleted = testPipeDone.chain((ignored) => file.delete()); 246 Future futureDeleted = testPipeDone.then((ignored) => file.delete());
245 futureDeleted.handleException((e) { 247 futureDeleted.then((ignored) {
248 asyncTestDone('testReadWriteStreamLargeFile: main test');
249 }).catchError((e) {
246 print('Exception while deleting ReadWriteStreamLargeFile file'); 250 print('Exception while deleting ReadWriteStreamLargeFile file');
247 print('Exception $e'); 251 print('Exception $e');
248 return false; // Throw exception further.
249 });
250 futureDeleted.then((ignored) {
251 asyncTestDone('testReadWriteStreamLargeFile: main test');
252 }); 252 });
253 }; 253 };
254 // Try a read again after handlers are set. 254 // Try a read again after handlers are set.
255 bytesRead = input.readInto(inputBuffer); 255 bytesRead = input.readInto(inputBuffer);
256 Expect.equals(0, bytesRead); 256 Expect.equals(0, bytesRead);
257 Expect.equals(0, input.available()); 257 Expect.equals(0, input.available());
258 Expect.isFalse(input.closed); 258 Expect.isFalse(input.closed);
259 }; 259 };
260 } 260 }
261 261
(...skipping 23 matching lines...) Expand all
285 }; 285 };
286 return done.future; 286 return done.future;
287 } 287 }
288 288
289 static void testRead() { 289 static void testRead() {
290 ReceivePort port = new ReceivePort(); 290 ReceivePort port = new ReceivePort();
291 // Read a file and check part of it's contents. 291 // Read a file and check part of it's contents.
292 String filename = getFilename("bin/file_test.cc"); 292 String filename = getFilename("bin/file_test.cc");
293 File file = new File(filename); 293 File file = new File(filename);
294 file.open(FileMode.READ).then((RandomAccessFile file) { 294 file.open(FileMode.READ).then((RandomAccessFile file) {
295 List<int> buffer = new List<int>(10); 295 List<int> buffer = new List<int>.fixedLength(10);
296 file.readList(buffer, 0, 5).then((bytes_read) { 296 file.readList(buffer, 0, 5).then((bytes_read) {
297 Expect.equals(5, bytes_read); 297 Expect.equals(5, bytes_read);
298 file.readList(buffer, 5, 5).then((bytes_read) { 298 file.readList(buffer, 5, 5).then((bytes_read) {
299 Expect.equals(5, bytes_read); 299 Expect.equals(5, bytes_read);
300 Expect.equals(47, buffer[0]); // represents '/' in the file. 300 Expect.equals(47, buffer[0]); // represents '/' in the file.
301 Expect.equals(47, buffer[1]); // represents '/' in the file. 301 Expect.equals(47, buffer[1]); // represents '/' in the file.
302 Expect.equals(32, buffer[2]); // represents ' ' in the file. 302 Expect.equals(32, buffer[2]); // represents ' ' in the file.
303 Expect.equals(67, buffer[3]); // represents 'C' in the file. 303 Expect.equals(67, buffer[3]); // represents 'C' in the file.
304 Expect.equals(111, buffer[4]); // represents 'o' in the file. 304 Expect.equals(111, buffer[4]); // represents 'o' in the file.
305 Expect.equals(112, buffer[5]); // represents 'p' in the file. 305 Expect.equals(112, buffer[5]); // represents 'p' in the file.
306 Expect.equals(121, buffer[6]); // represents 'y' in the file. 306 Expect.equals(121, buffer[6]); // represents 'y' in the file.
307 Expect.equals(114, buffer[7]); // represents 'r' in the file. 307 Expect.equals(114, buffer[7]); // represents 'r' in the file.
308 Expect.equals(105, buffer[8]); // represents 'i' in the file. 308 Expect.equals(105, buffer[8]); // represents 'i' in the file.
309 Expect.equals(103, buffer[9]); // represents 'g' in the file. 309 Expect.equals(103, buffer[9]); // represents 'g' in the file.
310 file.close().then((ignore) => port.close()); 310 file.close().then((ignore) => port.close());
311 }); 311 });
312 }); 312 });
313 }); 313 });
314 } 314 }
315 315
316 static void testReadSync() { 316 static void testReadSync() {
317 // Read a file and check part of it's contents. 317 // Read a file and check part of it's contents.
318 String filename = getFilename("bin/file_test.cc"); 318 String filename = getFilename("bin/file_test.cc");
319 RandomAccessFile file = (new File(filename)).openSync(); 319 RandomAccessFile file = (new File(filename)).openSync();
320 List<int> buffer = new List<int>(42); 320 List<int> buffer = new List<int>.fixedLength(42);
321 int bytes_read = 0; 321 int bytes_read = 0;
322 bytes_read = file.readListSync(buffer, 0, 12); 322 bytes_read = file.readListSync(buffer, 0, 12);
323 Expect.equals(12, bytes_read); 323 Expect.equals(12, bytes_read);
324 bytes_read = file.readListSync(buffer, 12, 30); 324 bytes_read = file.readListSync(buffer, 12, 30);
325 Expect.equals(30, bytes_read); 325 Expect.equals(30, bytes_read);
326 Expect.equals(47, buffer[0]); // represents '/' in the file. 326 Expect.equals(47, buffer[0]); // represents '/' in the file.
327 Expect.equals(47, buffer[1]); // represents '/' in the file. 327 Expect.equals(47, buffer[1]); // represents '/' in the file.
328 Expect.equals(32, buffer[2]); // represents ' ' in the file. 328 Expect.equals(32, buffer[2]); // represents ' ' in the file.
329 Expect.equals(67, buffer[3]); // represents 'C' in the file. 329 Expect.equals(67, buffer[3]); // represents 'C' in the file.
330 Expect.equals(111, buffer[4]); // represents 'o' in the file. 330 Expect.equals(111, buffer[4]); // represents 'o' in the file.
331 Expect.equals(112, buffer[5]); // represents 'p' in the file. 331 Expect.equals(112, buffer[5]); // represents 'p' in the file.
332 Expect.equals(121, buffer[6]); // represents 'y' in the file. 332 Expect.equals(121, buffer[6]); // represents 'y' in the file.
333 Expect.equals(114, buffer[7]); // represents 'r' in the file. 333 Expect.equals(114, buffer[7]); // represents 'r' in the file.
334 Expect.equals(105, buffer[8]); // represents 'i' in the file. 334 Expect.equals(105, buffer[8]); // represents 'i' in the file.
335 Expect.equals(103, buffer[9]); // represents 'g' in the file. 335 Expect.equals(103, buffer[9]); // represents 'g' in the file.
336 Expect.equals(104, buffer[10]); // represents 'h' in the file. 336 Expect.equals(104, buffer[10]); // represents 'h' in the file.
337 Expect.equals(116, buffer[11]); // represents 't' in the file. 337 Expect.equals(116, buffer[11]); // represents 't' in the file.
338 } 338 }
339 339
340 // Test for file read and write functionality. 340 // Test for file read and write functionality.
341 static void testReadWrite() { 341 static void testReadWrite() {
342 // Read a file. 342 // Read a file.
343 String inFilename = getFilename("tests/vm/data/fixed_length_file"); 343 String inFilename = getFilename("tests/vm/data/fixed_length_file");
344 final File file = new File(inFilename); 344 final File file = new File(inFilename);
345 file.open(FileMode.READ).then((openedFile) { 345 file.open(FileMode.READ).then((openedFile) {
346 List<int> buffer1 = new List<int>(42); 346 List<int> buffer1 = new List<int>.fixedLength(42);
347 openedFile.readList(buffer1, 0, 42).then((bytes_read) { 347 openedFile.readList(buffer1, 0, 42).then((bytes_read) {
348 Expect.equals(42, bytes_read); 348 Expect.equals(42, bytes_read);
349 openedFile.close().then((ignore) { 349 openedFile.close().then((ignore) {
350 // Write the contents of the file just read into another file. 350 // Write the contents of the file just read into another file.
351 String outFilename = tempDirectory.path.concat("/out_read_write"); 351 String outFilename = tempDirectory.path.concat("/out_read_write");
352 final File file2 = new File(outFilename); 352 final File file2 = new File(outFilename);
353 file2.create().then((ignore) { 353 file2.create().then((ignore) {
354 file2.fullPath().then((s) { 354 file2.fullPath().then((s) {
355 Expect.isTrue(new File(s).existsSync()); 355 Expect.isTrue(new File(s).existsSync());
356 if (s[0] != '/' && s[0] != '\\' && s[1] != ':') { 356 if (s[0] != '/' && s[0] != '\\' && s[1] != ':') {
357 Expect.fail("Not a full path"); 357 Expect.fail("Not a full path");
358 } 358 }
359 file2.open(FileMode.WRITE).then((openedFile2) { 359 file2.open(FileMode.WRITE).then((openedFile2) {
360 openedFile2.writeList(buffer1, 0, bytes_read).then((ignore) { 360 openedFile2.writeList(buffer1, 0, bytes_read).then((ignore) {
361 openedFile2.close().then((ignore) { 361 openedFile2.close().then((ignore) {
362 List<int> buffer2 = new List<int>(bytes_read); 362 List<int> buffer2 = new List<int>.fixedLength(bytes_read);
363 final File file3 = new File(outFilename); 363 final File file3 = new File(outFilename);
364 file3.open(FileMode.READ).then((openedFile3) { 364 file3.open(FileMode.READ).then((openedFile3) {
365 openedFile3.readList(buffer2, 0, 42).then((bytes_read) { 365 openedFile3.readList(buffer2, 0, 42).then((bytes_read) {
366 Expect.equals(42, bytes_read); 366 Expect.equals(42, bytes_read);
367 openedFile3.close().then((ignore) { 367 openedFile3.close().then((ignore) {
368 // Now compare the two buffers to check if they 368 // Now compare the two buffers to check if they
369 // are identical. 369 // are identical.
370 Expect.equals(buffer1.length, buffer2.length); 370 Expect.equals(buffer1.length, buffer2.length);
371 for (int i = 0; i < buffer1.length; i++) { 371 for (int i = 0; i < buffer1.length; i++) {
372 Expect.equals(buffer1[i], buffer2[i]); 372 Expect.equals(buffer1[i], buffer2[i]);
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 }; 477 };
478 }; 478 };
479 asyncTestStarted(); 479 asyncTestStarted();
480 } 480 }
481 481
482 482
483 static void testReadWriteSync() { 483 static void testReadWriteSync() {
484 // Read a file. 484 // Read a file.
485 String inFilename = getFilename("tests/vm/data/fixed_length_file"); 485 String inFilename = getFilename("tests/vm/data/fixed_length_file");
486 RandomAccessFile file = (new File(inFilename)).openSync(); 486 RandomAccessFile file = (new File(inFilename)).openSync();
487 List<int> buffer1 = new List<int>(42); 487 List<int> buffer1 = new List<int>.fixedLength(42);
488 int bytes_read = 0; 488 int bytes_read = 0;
489 int bytes_written = 0; 489 int bytes_written = 0;
490 bytes_read = file.readListSync(buffer1, 0, 42); 490 bytes_read = file.readListSync(buffer1, 0, 42);
491 Expect.equals(42, bytes_read); 491 Expect.equals(42, bytes_read);
492 file.closeSync(); 492 file.closeSync();
493 // Write the contents of the file just read into another file. 493 // Write the contents of the file just read into another file.
494 String outFilename = tempDirectory.path.concat("/out_read_write_sync"); 494 String outFilename = tempDirectory.path.concat("/out_read_write_sync");
495 File outFile = new File(outFilename); 495 File outFile = new File(outFilename);
496 outFile.createSync(); 496 outFile.createSync();
497 String path = outFile.fullPathSync(); 497 String path = outFile.fullPathSync();
498 if (path[0] != '/' && path[0] != '\\' && path[1] != ':') { 498 if (path[0] != '/' && path[0] != '\\' && path[1] != ':') {
499 Expect.fail("Not a full path"); 499 Expect.fail("Not a full path");
500 } 500 }
501 Expect.isTrue(new File(path).existsSync()); 501 Expect.isTrue(new File(path).existsSync());
502 RandomAccessFile openedFile = outFile.openSync(FileMode.WRITE); 502 RandomAccessFile openedFile = outFile.openSync(FileMode.WRITE);
503 openedFile.writeListSync(buffer1, 0, bytes_read); 503 openedFile.writeListSync(buffer1, 0, bytes_read);
504 openedFile.closeSync(); 504 openedFile.closeSync();
505 // Now read the contents of the file just written. 505 // Now read the contents of the file just written.
506 List<int> buffer2 = new List<int>(bytes_read); 506 List<int> buffer2 = new List<int>.fixedLength(bytes_read);
507 openedFile = (new File(outFilename)).openSync(); 507 openedFile = (new File(outFilename)).openSync();
508 bytes_read = openedFile.readListSync(buffer2, 0, 42); 508 bytes_read = openedFile.readListSync(buffer2, 0, 42);
509 Expect.equals(42, bytes_read); 509 Expect.equals(42, bytes_read);
510 openedFile.closeSync(); 510 openedFile.closeSync();
511 // Now compare the two buffers to check if they are identical. 511 // Now compare the two buffers to check if they are identical.
512 Expect.equals(buffer1.length, buffer2.length); 512 Expect.equals(buffer1.length, buffer2.length);
513 for (int i = 0; i < buffer1.length; i++) { 513 for (int i = 0; i < buffer1.length; i++) {
514 Expect.equals(buffer1[i], buffer2[i]); 514 Expect.equals(buffer1[i], buffer2[i]);
515 } 515 }
516 // Delete the output file. 516 // Delete the output file.
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 openedFile.writeList(new MyListOfOneElement(262), 0, 1); 564 openedFile.writeList(new MyListOfOneElement(262), 0, 1);
565 x = 12345678901234567890123456789012345678901234567890; 565 x = 12345678901234567890123456789012345678901234567890;
566 y = 12345678901234567890123456789012345678901234568153; 566 y = 12345678901234567890123456789012345678901234568153;
567 openedFile.writeList([y - x], 0, 1).then((ignore) { 567 openedFile.writeList([y - x], 0, 1).then((ignore) {
568 openedFile.close().then((ignore) { 568 openedFile.close().then((ignore) {
569 // Check the written bytes. 569 // Check the written bytes.
570 final File file2 = new File(fileName); 570 final File file2 = new File(fileName);
571 var openedFile2 = file2.openSync(); 571 var openedFile2 = file2.openSync();
572 var length = openedFile2.lengthSync(); 572 var length = openedFile2.lengthSync();
573 Expect.equals(8, length); 573 Expect.equals(8, length);
574 List data = new List(length); 574 List data = new List.fixedLength(length);
575 openedFile2.readListSync(data, 0, length); 575 openedFile2.readListSync(data, 0, length);
576 for (var i = 0; i < data.length; i++) { 576 for (var i = 0; i < data.length; i++) {
577 Expect.equals(i, data[i]); 577 Expect.equals(i, data[i]);
578 } 578 }
579 openedFile2.closeSync(); 579 openedFile2.closeSync();
580 file2.deleteSync(); 580 file2.deleteSync();
581 asyncTestDone("testWriteVariousLists"); 581 asyncTestDone("testWriteVariousLists");
582 }); 582 });
583 }); 583 });
584 }); 584 });
585 }); 585 });
586 } 586 }
587 587
588 static void testDirectory() { 588 static void testDirectory() {
589 asyncTestStarted(); 589 asyncTestStarted();
590 590
591 // Port to verify that the test completes. 591 // Port to verify that the test completes.
592 var port = new ReceivePort(); 592 var port = new ReceivePort();
593 port.receive((message, replyTo) { 593 port.receive((message, replyTo) {
594 port.close(); 594 port.close();
595 Expect.equals(1, message); 595 Expect.equals(1, message);
596 asyncTestDone("testDirectory"); 596 asyncTestDone("testDirectory");
597 }); 597 });
598 598
599 var tempDir = tempDirectory.path; 599 var tempDir = tempDirectory.path;
600 var file = new File("${tempDir}/testDirectory"); 600 var file = new File("${tempDir}/testDirectory");
601 var errors = 0; 601 var errors = 0;
602 var dirFuture = file.directory(); 602 var dirFuture = file.directory();
603 dirFuture.then((d) => Expect.fail("non-existing file")); 603 dirFuture.then((d) => Expect.fail("non-existing file"))
604 dirFuture.handleException((e) { 604 .catchError((e) {
605 file.create().then((ignore) { 605 file.create().then((ignore) {
606 file.directory().then((Directory d) { 606 file.directory().then((Directory d) {
607 d.exists().then((exists) { 607 d.exists().then((exists) {
608 Expect.isTrue(exists); 608 Expect.isTrue(exists);
609 Expect.isTrue(d.path.endsWith(tempDir)); 609 Expect.isTrue(d.path.endsWith(tempDir));
610 file.delete().then((ignore) { 610 file.delete().then((ignore) {
611 var fileDir = new File("."); 611 var fileDir = new File(".");
612 var dirFuture2 = fileDir.directory(); 612 var dirFuture2 = fileDir.directory();
613 dirFuture2.then((d) => Expect.fail("non-existing file")); 613 dirFuture2.then((d) => Expect.fail("non-existing file"))
614 dirFuture2.handleException((e) { 614 .catchError((e) {
615 var fileDir = new File(tempDir); 615 var fileDir = new File(tempDir);
616 var dirFuture3 = fileDir.directory(); 616 var dirFuture3 = fileDir.directory();
617 dirFuture3.then((d) => Expect.fail("non-existing file")); 617 dirFuture3.then((d) => Expect.fail("non-existing file"))
618 dirFuture3.handleException((e) { 618 .catchError((e) {
619 port.toSendPort().send(1); 619 port.toSendPort().send(1);
620 return true;
621 }); 620 });
622 return true;
623 }); 621 });
624 }); 622 });
625 }); 623 });
626 }); 624 });
627 }); 625 });
628 return true;
629 }); 626 });
630 } 627 }
631 628
632 static void testDirectorySync() { 629 static void testDirectorySync() {
633 var tempDir = tempDirectory.path; 630 var tempDir = tempDirectory.path;
634 var file = new File("${tempDir}/testDirectorySync"); 631 var file = new File("${tempDir}/testDirectorySync");
635 // Non-existing file should throw exception. 632 // Non-existing file should throw exception.
636 Expect.throws(file.directorySync, (e) { return e is FileIOException; }); 633 Expect.throws(file.directorySync, (e) { return e is FileIOException; });
637 file.createSync(); 634 file.createSync();
638 // Check that the path of the returned directory is the temp directory. 635 // Check that the path of the returned directory is the temp directory.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
671 openedFile.closeSync(); 668 openedFile.closeSync();
672 } 669 }
673 670
674 // Test for file position functionality. 671 // Test for file position functionality.
675 static void testPosition() { 672 static void testPosition() {
676 var port = new ReceivePort(); 673 var port = new ReceivePort();
677 String filename = getFilename("tests/vm/data/fixed_length_file"); 674 String filename = getFilename("tests/vm/data/fixed_length_file");
678 RandomAccessFile input = (new File(filename)).openSync(); 675 RandomAccessFile input = (new File(filename)).openSync();
679 input.position().then((position) { 676 input.position().then((position) {
680 Expect.equals(0, position); 677 Expect.equals(0, position);
681 List<int> buffer = new List<int>(100); 678 List<int> buffer = new List<int>.fixedLength(100);
682 input.readList(buffer, 0, 12).then((bytes_read) { 679 input.readList(buffer, 0, 12).then((bytes_read) {
683 input.position().then((position) { 680 input.position().then((position) {
684 Expect.equals(12, position); 681 Expect.equals(12, position);
685 input.readList(buffer, 12, 6).then((bytes_read) { 682 input.readList(buffer, 12, 6).then((bytes_read) {
686 input.position().then((position) { 683 input.position().then((position) {
687 Expect.equals(18, position); 684 Expect.equals(18, position);
688 input.setPosition(8).then((ignore) { 685 input.setPosition(8).then((ignore) {
689 input.position().then((position) { 686 input.position().then((position) {
690 Expect.equals(8, position); 687 Expect.equals(8, position);
691 input.close().then((ignore) => port.close()); 688 input.close().then((ignore) => port.close());
692 }); 689 });
693 }); 690 });
694 }); 691 });
695 }); 692 });
696 }); 693 });
697 }); 694 });
698 }); 695 });
699 } 696 }
700 697
701 static void testPositionSync() { 698 static void testPositionSync() {
702 String filename = getFilename("tests/vm/data/fixed_length_file"); 699 String filename = getFilename("tests/vm/data/fixed_length_file");
703 RandomAccessFile input = (new File(filename)).openSync(); 700 RandomAccessFile input = (new File(filename)).openSync();
704 Expect.equals(0, input.positionSync()); 701 Expect.equals(0, input.positionSync());
705 List<int> buffer = new List<int>(100); 702 List<int> buffer = new List<int>.fixedLength(100);
706 input.readListSync(buffer, 0, 12); 703 input.readListSync(buffer, 0, 12);
707 Expect.equals(12, input.positionSync()); 704 Expect.equals(12, input.positionSync());
708 input.readListSync(buffer, 12, 6); 705 input.readListSync(buffer, 12, 6);
709 Expect.equals(18, input.positionSync()); 706 Expect.equals(18, input.positionSync());
710 input.setPositionSync(8); 707 input.setPositionSync(8);
711 Expect.equals(8, input.positionSync()); 708 Expect.equals(8, input.positionSync());
712 input.closeSync(); 709 input.closeSync();
713 } 710 }
714 711
715 static void testTruncate() { 712 static void testTruncate() {
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
782 openedFile.writeStringSync("Test"); 779 openedFile.writeStringSync("Test");
783 } on FileIOException catch (ex) { 780 } on FileIOException catch (ex) {
784 exceptionCaught = true; 781 exceptionCaught = true;
785 } on Exception catch (ex) { 782 } on Exception catch (ex) {
786 wrongExceptionCaught = true; 783 wrongExceptionCaught = true;
787 } 784 }
788 Expect.equals(true, exceptionCaught); 785 Expect.equals(true, exceptionCaught);
789 Expect.equals(true, !wrongExceptionCaught); 786 Expect.equals(true, !wrongExceptionCaught);
790 exceptionCaught = false; 787 exceptionCaught = false;
791 try { 788 try {
792 List<int> buffer = new List<int>(100); 789 List<int> buffer = new List<int>.fixedLength(100);
793 openedFile.readListSync(buffer, 0, 10); 790 openedFile.readListSync(buffer, 0, 10);
794 } on FileIOException catch (ex) { 791 } on FileIOException catch (ex) {
795 exceptionCaught = true; 792 exceptionCaught = true;
796 } on Exception catch (ex) { 793 } on Exception catch (ex) {
797 wrongExceptionCaught = true; 794 wrongExceptionCaught = true;
798 } 795 }
799 Expect.equals(true, exceptionCaught); 796 Expect.equals(true, exceptionCaught);
800 Expect.equals(true, !wrongExceptionCaught); 797 Expect.equals(true, !wrongExceptionCaught);
801 exceptionCaught = false; 798 exceptionCaught = false;
802 try { 799 try {
803 List<int> buffer = new List<int>(100); 800 List<int> buffer = new List<int>.fixedLength(100);
804 openedFile.writeListSync(buffer, 0, 10); 801 openedFile.writeListSync(buffer, 0, 10);
805 } on FileIOException catch (ex) { 802 } on FileIOException catch (ex) {
806 exceptionCaught = true; 803 exceptionCaught = true;
807 } on Exception catch (ex) { 804 } on Exception catch (ex) {
808 wrongExceptionCaught = true; 805 wrongExceptionCaught = true;
809 } 806 }
810 Expect.equals(true, exceptionCaught); 807 Expect.equals(true, exceptionCaught);
811 Expect.equals(true, !wrongExceptionCaught); 808 Expect.equals(true, !wrongExceptionCaught);
812 exceptionCaught = false; 809 exceptionCaught = false;
813 try { 810 try {
(...skipping 24 matching lines...) Expand all
838 wrongExceptionCaught = true; 835 wrongExceptionCaught = true;
839 } 836 }
840 Expect.equals(true, exceptionCaught); 837 Expect.equals(true, exceptionCaught);
841 Expect.equals(true, !wrongExceptionCaught); 838 Expect.equals(true, !wrongExceptionCaught);
842 input.deleteSync(); 839 input.deleteSync();
843 } 840 }
844 841
845 // Tests stream exception handling after file was closed. 842 // Tests stream exception handling after file was closed.
846 static void testCloseExceptionStream() { 843 static void testCloseExceptionStream() {
847 asyncTestStarted(); 844 asyncTestStarted();
848 List<int> buffer = new List<int>(42); 845 List<int> buffer = new List<int>.fixedLength(42);
849 File file = 846 File file =
850 new File(tempDirectory.path.concat("/out_close_exception_stream")); 847 new File(tempDirectory.path.concat("/out_close_exception_stream"));
851 file.createSync(); 848 file.createSync();
852 InputStream input = file.openInputStream(); 849 InputStream input = file.openInputStream();
853 input.onClosed = () { 850 input.onClosed = () {
854 Expect.isTrue(input.closed); 851 Expect.isTrue(input.closed);
855 Expect.equals(0, input.readInto(buffer, 0, 12)); 852 Expect.equals(0, input.readInto(buffer, 0, 12));
856 OutputStream output = file.openOutputStream(); 853 OutputStream output = file.openOutputStream();
857 output.close(); 854 output.close();
858 Expect.throws(() => output.writeFrom(buffer, 0, 12)); 855 Expect.throws(() => output.writeFrom(buffer, 0, 12));
859 output.onClosed = () { 856 output.onClosed = () {
860 file.deleteSync(); 857 file.deleteSync();
861 asyncTestDone("testCloseExceptionStream"); 858 asyncTestDone("testCloseExceptionStream");
862 }; 859 };
863 }; 860 };
864 } 861 }
865 862
866 // Tests buffer out of bounds exception. 863 // Tests buffer out of bounds exception.
867 static void testBufferOutOfBoundsException() { 864 static void testBufferOutOfBoundsException() {
868 bool exceptionCaught = false; 865 bool exceptionCaught = false;
869 bool wrongExceptionCaught = false; 866 bool wrongExceptionCaught = false;
870 File file = 867 File file =
871 new File(tempDirectory.path.concat("/out_buffer_out_of_bounds")); 868 new File(tempDirectory.path.concat("/out_buffer_out_of_bounds"));
872 RandomAccessFile openedFile = file.openSync(FileMode.WRITE); 869 RandomAccessFile openedFile = file.openSync(FileMode.WRITE);
873 try { 870 try {
874 List<int> buffer = new List<int>(10); 871 List<int> buffer = new List<int>.fixedLength(10);
875 openedFile.readListSync(buffer, 0, 12); 872 openedFile.readListSync(buffer, 0, 12);
876 } on RangeError catch (ex) { 873 } on RangeError catch (ex) {
877 exceptionCaught = true; 874 exceptionCaught = true;
878 } on Exception catch (ex) { 875 } on Exception catch (ex) {
879 wrongExceptionCaught = true; 876 wrongExceptionCaught = true;
880 } 877 }
881 Expect.equals(true, exceptionCaught); 878 Expect.equals(true, exceptionCaught);
882 Expect.equals(true, !wrongExceptionCaught); 879 Expect.equals(true, !wrongExceptionCaught);
883 exceptionCaught = false; 880 exceptionCaught = false;
884 try { 881 try {
885 List<int> buffer = new List<int>(10); 882 List<int> buffer = new List<int>.fixedLength(10);
886 openedFile.readListSync(buffer, 6, 6); 883 openedFile.readListSync(buffer, 6, 6);
887 } on RangeError catch (ex) { 884 } on RangeError catch (ex) {
888 exceptionCaught = true; 885 exceptionCaught = true;
889 } on Exception catch (ex) { 886 } on Exception catch (ex) {
890 wrongExceptionCaught = true; 887 wrongExceptionCaught = true;
891 } 888 }
892 Expect.equals(true, exceptionCaught); 889 Expect.equals(true, exceptionCaught);
893 Expect.equals(true, !wrongExceptionCaught); 890 Expect.equals(true, !wrongExceptionCaught);
894 exceptionCaught = false; 891 exceptionCaught = false;
895 try { 892 try {
896 List<int> buffer = new List<int>(10); 893 List<int> buffer = new List<int>.fixedLength(10);
897 openedFile.readListSync(buffer, -1, 1); 894 openedFile.readListSync(buffer, -1, 1);
898 } on RangeError catch (ex) { 895 } on RangeError catch (ex) {
899 exceptionCaught = true; 896 exceptionCaught = true;
900 } on Exception catch (ex) { 897 } on Exception catch (ex) {
901 wrongExceptionCaught = true; 898 wrongExceptionCaught = true;
902 } 899 }
903 Expect.equals(true, exceptionCaught); 900 Expect.equals(true, exceptionCaught);
904 Expect.equals(true, !wrongExceptionCaught); 901 Expect.equals(true, !wrongExceptionCaught);
905 exceptionCaught = false; 902 exceptionCaught = false;
906 try { 903 try {
907 List<int> buffer = new List<int>(10); 904 List<int> buffer = new List<int>.fixedLength(10);
908 openedFile.readListSync(buffer, 0, -1); 905 openedFile.readListSync(buffer, 0, -1);
909 } on RangeError catch (ex) { 906 } on RangeError catch (ex) {
910 exceptionCaught = true; 907 exceptionCaught = true;
911 } on Exception catch (ex) { 908 } on Exception catch (ex) {
912 wrongExceptionCaught = true; 909 wrongExceptionCaught = true;
913 } 910 }
914 Expect.equals(true, exceptionCaught); 911 Expect.equals(true, exceptionCaught);
915 Expect.equals(true, !wrongExceptionCaught); 912 Expect.equals(true, !wrongExceptionCaught);
916 exceptionCaught = false; 913 exceptionCaught = false;
917 try { 914 try {
918 List<int> buffer = new List<int>(10); 915 List<int> buffer = new List<int>.fixedLength(10);
919 openedFile.writeListSync(buffer, 0, 12); 916 openedFile.writeListSync(buffer, 0, 12);
920 } on RangeError catch (ex) { 917 } on RangeError catch (ex) {
921 exceptionCaught = true; 918 exceptionCaught = true;
922 } on Exception catch (ex) { 919 } on Exception catch (ex) {
923 wrongExceptionCaught = true; 920 wrongExceptionCaught = true;
924 } 921 }
925 Expect.equals(true, exceptionCaught); 922 Expect.equals(true, exceptionCaught);
926 Expect.equals(true, !wrongExceptionCaught); 923 Expect.equals(true, !wrongExceptionCaught);
927 exceptionCaught = false; 924 exceptionCaught = false;
928 try { 925 try {
929 List<int> buffer = new List<int>(10); 926 List<int> buffer = new List<int>.fixedLength(10);
930 openedFile.writeListSync(buffer, 6, 6); 927 openedFile.writeListSync(buffer, 6, 6);
931 } on RangeError catch (ex) { 928 } on RangeError catch (ex) {
932 exceptionCaught = true; 929 exceptionCaught = true;
933 } on Exception catch (ex) { 930 } on Exception catch (ex) {
934 wrongExceptionCaught = true; 931 wrongExceptionCaught = true;
935 } 932 }
936 Expect.equals(true, exceptionCaught); 933 Expect.equals(true, exceptionCaught);
937 Expect.equals(true, !wrongExceptionCaught); 934 Expect.equals(true, !wrongExceptionCaught);
938 exceptionCaught = false; 935 exceptionCaught = false;
939 try { 936 try {
940 List<int> buffer = new List<int>(10); 937 List<int> buffer = new List<int>.fixedLength(10);
941 openedFile.writeListSync(buffer, -1, 1); 938 openedFile.writeListSync(buffer, -1, 1);
942 } on RangeError catch (ex) { 939 } on RangeError catch (ex) {
943 exceptionCaught = true; 940 exceptionCaught = true;
944 } on Exception catch (ex) { 941 } on Exception catch (ex) {
945 wrongExceptionCaught = true; 942 wrongExceptionCaught = true;
946 } 943 }
947 Expect.equals(true, exceptionCaught); 944 Expect.equals(true, exceptionCaught);
948 Expect.equals(true, !wrongExceptionCaught); 945 Expect.equals(true, !wrongExceptionCaught);
949 exceptionCaught = false; 946 exceptionCaught = false;
950 try { 947 try {
951 List<int> buffer = new List<int>(10); 948 List<int> buffer = new List<int>.fixedLength(10);
952 openedFile.writeListSync(buffer, 0, -1); 949 openedFile.writeListSync(buffer, 0, -1);
953 } on RangeError catch (ex) { 950 } on RangeError catch (ex) {
954 exceptionCaught = true; 951 exceptionCaught = true;
955 } on Exception catch (ex) { 952 } on Exception catch (ex) {
956 wrongExceptionCaught = true; 953 wrongExceptionCaught = true;
957 } 954 }
958 Expect.equals(true, exceptionCaught); 955 Expect.equals(true, exceptionCaught);
959 Expect.equals(true, !wrongExceptionCaught); 956 Expect.equals(true, !wrongExceptionCaught);
960 openedFile.closeSync(); 957 openedFile.closeSync();
961 file.deleteSync(); 958 file.deleteSync();
962 } 959 }
963 960
964 static void testOpenDirectoryAsFile() { 961 static void testOpenDirectoryAsFile() {
965 var f = new File('.'); 962 var f = new File('.');
966 var future = f.open(FileMode.READ); 963 var future = f.open(FileMode.READ);
967 future.then((r) => Expect.fail('Directory opened as file')); 964 future.then((r) => Expect.fail('Directory opened as file'))
968 future.handleException((e) => true); 965 .catchError((e) {});
969 } 966 }
970 967
971 static void testOpenDirectoryAsFileSync() { 968 static void testOpenDirectoryAsFileSync() {
972 var f = new File('.'); 969 var f = new File('.');
973 try { 970 try {
974 f.openSync(); 971 f.openSync();
975 Expect.fail("Expected exception opening directory as file"); 972 Expect.fail("Expected exception opening directory as file");
976 } catch (e) { 973 } catch (e) {
977 Expect.isTrue(e is FileIOException); 974 Expect.isTrue(e is FileIOException);
978 } 975 }
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1047 Expect.equals(6, text.length); 1044 Expect.equals(6, text.length);
1048 var expected = [955, 120, 46, 32, 120, 10]; 1045 var expected = [955, 120, 46, 32, 120, 10];
1049 Expect.listEquals(expected, text.charCodes); 1046 Expect.listEquals(expected, text.charCodes);
1050 f.readAsString(Encoding.ISO_8859_1).then((text) { 1047 f.readAsString(Encoding.ISO_8859_1).then((text) {
1051 Expect.equals(7, text.length); 1048 Expect.equals(7, text.length);
1052 var expected = [206, 187, 120, 46, 32, 120, 10]; 1049 var expected = [206, 187, 120, 46, 32, 120, 10];
1053 Expect.listEquals(expected, text.charCodes); 1050 Expect.listEquals(expected, text.charCodes);
1054 var readAsStringFuture = f.readAsString(Encoding.ASCII); 1051 var readAsStringFuture = f.readAsString(Encoding.ASCII);
1055 readAsStringFuture.then((text) { 1052 readAsStringFuture.then((text) {
1056 Expect.fail("Non-ascii char should cause error"); 1053 Expect.fail("Non-ascii char should cause error");
1057 }); 1054 }).catchError((e) {
1058 readAsStringFuture.handleException((e) {
1059 port.toSendPort().send(1); 1055 port.toSendPort().send(1);
1060 return true;
1061 }); 1056 });
1062 }); 1057 });
1063 }); 1058 });
1064 }); 1059 });
1065 } 1060 }
1066 1061
1067 static void testReadAsTextEmptyFile() { 1062 static void testReadAsTextEmptyFile() {
1068 var port = new ReceivePort(); 1063 var port = new ReceivePort();
1069 port.receive((result, replyTo) { 1064 port.receive((result, replyTo) {
1070 port.close(); 1065 port.close();
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
1134 var port = new ReceivePort(); 1129 var port = new ReceivePort();
1135 port.receive((message, _) { 1130 port.receive((message, _) {
1136 port.close(); 1131 port.close();
1137 Expect.equals(1, message); 1132 Expect.equals(1, message);
1138 }); 1133 });
1139 var f = new File('.'); 1134 var f = new File('.');
1140 Expect.throws(f.readAsBytesSync, (e) => e is FileIOException); 1135 Expect.throws(f.readAsBytesSync, (e) => e is FileIOException);
1141 Expect.throws(f.readAsStringSync, (e) => e is FileIOException); 1136 Expect.throws(f.readAsStringSync, (e) => e is FileIOException);
1142 Expect.throws(f.readAsLinesSync, (e) => e is FileIOException); 1137 Expect.throws(f.readAsLinesSync, (e) => e is FileIOException);
1143 var readAsBytesFuture = f.readAsBytes(); 1138 var readAsBytesFuture = f.readAsBytes();
1144 readAsBytesFuture.then((bytes) => Expect.fail("no bytes expected")); 1139 readAsBytesFuture.then((bytes) => Expect.fail("no bytes expected"))
1145 readAsBytesFuture.handleException((e) { 1140 .catchError((e) {
1146 var readAsStringFuture = f.readAsString(Encoding.UTF_8); 1141 var readAsStringFuture = f.readAsString(Encoding.UTF_8);
1147 readAsStringFuture.then((text) => Expect.fail("no text expected")); 1142 readAsStringFuture.then((text) => Expect.fail("no text expected"))
1148 readAsStringFuture.handleException((e) { 1143 .catchError((e) {
1149 var readAsLinesFuture = f.readAsLines(Encoding.UTF_8); 1144 var readAsLinesFuture = f.readAsLines(Encoding.UTF_8);
1150 readAsLinesFuture.then((lines) => Expect.fail("no lines expected")); 1145 readAsLinesFuture.then((lines) => Expect.fail("no lines expected"))
1151 readAsLinesFuture.handleException((e) { 1146 .catchError((e) {
1152 port.toSendPort().send(1); 1147 port.toSendPort().send(1);
1153 return true;
1154 }); 1148 });
1155 return true;
1156 }); 1149 });
1157 return true;
1158 }); 1150 });
1159 } 1151 }
1160 1152
1161 static void testLastModified() { 1153 static void testLastModified() {
1162 var port = new ReceivePort(); 1154 var port = new ReceivePort();
1163 new File(new Options().executable).lastModified().then((modified) { 1155 new File(new Options().executable).lastModified().then((modified) {
1164 Expect.isTrue(modified is Date); 1156 Expect.isTrue(modified is Date);
1165 Expect.isTrue(modified < new Date.now()); 1157 Expect.isTrue(modified < new Date.now());
1166 port.close(); 1158 port.close();
1167 }); 1159 });
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1329 testDirectorySync(); 1321 testDirectorySync();
1330 testWriteStringUtf8(); 1322 testWriteStringUtf8();
1331 testWriteStringUtf8Sync(); 1323 testWriteStringUtf8Sync();
1332 }); 1324 });
1333 } 1325 }
1334 } 1326 }
1335 1327
1336 main() { 1328 main() {
1337 FileTest.testMain(); 1329 FileTest.testMain();
1338 } 1330 }
OLDNEW
« no previous file with comments | « tests/standalone/io/file_output_stream_test.dart ('k') | tests/standalone/io/file_write_as_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698