OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 "package:expect/expect.dart"; | 7 import "package:expect/expect.dart"; |
8 import 'dart:async'; | 8 import 'dart:async'; |
9 import 'dart:io'; | 9 import 'dart:io'; |
10 import 'dart:isolate'; | 10 import 'dart:isolate'; |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 return done.future; | 196 return done.future; |
197 } | 197 } |
198 | 198 |
199 static void testRead() { | 199 static void testRead() { |
200 ReceivePort port = new ReceivePort(); | 200 ReceivePort port = new ReceivePort(); |
201 // Read a file and check part of it's contents. | 201 // Read a file and check part of it's contents. |
202 String filename = getFilename("bin/file_test.cc"); | 202 String filename = getFilename("bin/file_test.cc"); |
203 File file = new File(filename); | 203 File file = new File(filename); |
204 file.open(mode: READ).then((RandomAccessFile file) { | 204 file.open(mode: READ).then((RandomAccessFile file) { |
205 List<int> buffer = new List<int>(10); | 205 List<int> buffer = new List<int>(10); |
206 file.readList(buffer, 0, 5).then((bytes_read) { | 206 file.readInto(buffer, 0, 5).then((bytes_read) { |
207 Expect.equals(5, bytes_read); | 207 Expect.equals(5, bytes_read); |
208 file.readList(buffer, 5, 5).then((bytes_read) { | 208 file.readInto(buffer, 5, 10).then((bytes_read) { |
209 Expect.equals(5, bytes_read); | 209 Expect.equals(5, bytes_read); |
210 Expect.equals(47, buffer[0]); // represents '/' in the file. | 210 Expect.equals(47, buffer[0]); // represents '/' in the file. |
211 Expect.equals(47, buffer[1]); // represents '/' in the file. | 211 Expect.equals(47, buffer[1]); // represents '/' in the file. |
212 Expect.equals(32, buffer[2]); // represents ' ' in the file. | 212 Expect.equals(32, buffer[2]); // represents ' ' in the file. |
213 Expect.equals(67, buffer[3]); // represents 'C' in the file. | 213 Expect.equals(67, buffer[3]); // represents 'C' in the file. |
214 Expect.equals(111, buffer[4]); // represents 'o' in the file. | 214 Expect.equals(111, buffer[4]); // represents 'o' in the file. |
215 Expect.equals(112, buffer[5]); // represents 'p' in the file. | 215 Expect.equals(112, buffer[5]); // represents 'p' in the file. |
216 Expect.equals(121, buffer[6]); // represents 'y' in the file. | 216 Expect.equals(121, buffer[6]); // represents 'y' in the file. |
217 Expect.equals(114, buffer[7]); // represents 'r' in the file. | 217 Expect.equals(114, buffer[7]); // represents 'r' in the file. |
218 Expect.equals(105, buffer[8]); // represents 'i' in the file. | 218 Expect.equals(105, buffer[8]); // represents 'i' in the file. |
219 Expect.equals(103, buffer[9]); // represents 'g' in the file. | 219 Expect.equals(103, buffer[9]); // represents 'g' in the file. |
220 file.close().then((ignore) => port.close()); | 220 file.close().then((ignore) => port.close()); |
221 }); | 221 }); |
222 }); | 222 }); |
223 }); | 223 }); |
224 } | 224 } |
225 | 225 |
226 static void testReadSync() { | 226 static void testReadSync() { |
227 // Read a file and check part of it's contents. | 227 // Read a file and check part of it's contents. |
228 String filename = getFilename("bin/file_test.cc"); | 228 String filename = getFilename("bin/file_test.cc"); |
229 RandomAccessFile raf = (new File(filename)).openSync(); | 229 RandomAccessFile raf = (new File(filename)).openSync(); |
230 List<int> buffer = new List<int>(42); | 230 List<int> buffer = new List<int>(42); |
231 int bytes_read = 0; | 231 int bytes_read = 0; |
232 bytes_read = raf.readListSync(buffer, 0, 12); | 232 bytes_read = raf.readIntoSync(buffer, 0, 12); |
233 Expect.equals(12, bytes_read); | 233 Expect.equals(12, bytes_read); |
234 bytes_read = raf.readListSync(buffer, 12, 30); | 234 bytes_read = raf.readIntoSync(buffer, 12, 42); |
235 Expect.equals(30, bytes_read); | 235 Expect.equals(30, bytes_read); |
236 Expect.equals(47, buffer[0]); // represents '/' in the file. | 236 Expect.equals(47, buffer[0]); // represents '/' in the file. |
237 Expect.equals(47, buffer[1]); // represents '/' in the file. | 237 Expect.equals(47, buffer[1]); // represents '/' in the file. |
238 Expect.equals(32, buffer[2]); // represents ' ' in the file. | 238 Expect.equals(32, buffer[2]); // represents ' ' in the file. |
239 Expect.equals(67, buffer[3]); // represents 'C' in the file. | 239 Expect.equals(67, buffer[3]); // represents 'C' in the file. |
240 Expect.equals(111, buffer[4]); // represents 'o' in the file. | 240 Expect.equals(111, buffer[4]); // represents 'o' in the file. |
241 Expect.equals(112, buffer[5]); // represents 'p' in the file. | 241 Expect.equals(112, buffer[5]); // represents 'p' in the file. |
242 Expect.equals(121, buffer[6]); // represents 'y' in the file. | 242 Expect.equals(121, buffer[6]); // represents 'y' in the file. |
243 Expect.equals(114, buffer[7]); // represents 'r' in the file. | 243 Expect.equals(114, buffer[7]); // represents 'r' in the file. |
244 Expect.equals(105, buffer[8]); // represents 'i' in the file. | 244 Expect.equals(105, buffer[8]); // represents 'i' in the file. |
(...skipping 13 matching lines...) Expand all Loading... |
258 Expect.equals(len, file.openSync().readSync(len * 10).length); | 258 Expect.equals(len, file.openSync().readSync(len * 10).length); |
259 } | 259 } |
260 | 260 |
261 // Test for file read and write functionality. | 261 // Test for file read and write functionality. |
262 static void testReadWrite() { | 262 static void testReadWrite() { |
263 // Read a file. | 263 // Read a file. |
264 String inFilename = getFilename("tests/vm/data/fixed_length_file"); | 264 String inFilename = getFilename("tests/vm/data/fixed_length_file"); |
265 final File file = new File(inFilename); | 265 final File file = new File(inFilename); |
266 file.open(mode: READ).then((openedFile) { | 266 file.open(mode: READ).then((openedFile) { |
267 List<int> buffer1 = new List<int>(42); | 267 List<int> buffer1 = new List<int>(42); |
268 openedFile.readList(buffer1, 0, 42).then((bytes_read) { | 268 openedFile.readInto(buffer1, 0, 42).then((bytes_read) { |
269 Expect.equals(42, bytes_read); | 269 Expect.equals(42, bytes_read); |
270 openedFile.close().then((ignore) { | 270 openedFile.close().then((ignore) { |
271 // Write the contents of the file just read into another file. | 271 // Write the contents of the file just read into another file. |
272 String outFilename = tempDirectory.path + "/out_read_write"; | 272 String outFilename = tempDirectory.path + "/out_read_write"; |
273 final File file2 = new File(outFilename); | 273 final File file2 = new File(outFilename); |
274 file2.create().then((ignore) { | 274 file2.create().then((ignore) { |
275 file2.fullPath().then((s) { | 275 file2.fullPath().then((s) { |
276 Expect.isTrue(new File(s).existsSync()); | 276 Expect.isTrue(new File(s).existsSync()); |
277 if (s[0] != '/' && s[0] != '\\' && s[1] != ':') { | 277 if (s[0] != '/' && s[0] != '\\' && s[1] != ':') { |
278 Expect.fail("Not a full path"); | 278 Expect.fail("Not a full path"); |
279 } | 279 } |
280 file2.open(mode: WRITE).then((openedFile2) { | 280 file2.open(mode: WRITE).then((openedFile2) { |
281 openedFile2.writeList(buffer1, 0, bytes_read).then((ignore) { | 281 openedFile2.writeFrom(buffer1, 0, bytes_read).then((ignore) { |
282 openedFile2.close().then((ignore) { | 282 openedFile2.close().then((ignore) { |
283 List<int> buffer2 = new List<int>(bytes_read); | 283 List<int> buffer2 = new List<int>(bytes_read); |
284 final File file3 = new File(outFilename); | 284 final File file3 = new File(outFilename); |
285 file3.open(mode: READ).then((openedFile3) { | 285 file3.open(mode: READ).then((openedFile3) { |
286 openedFile3.readList(buffer2, 0, 42).then((bytes_read) { | 286 openedFile3.readInto(buffer2, 0, 42).then((bytes_read) { |
287 Expect.equals(42, bytes_read); | 287 Expect.equals(42, bytes_read); |
288 openedFile3.close().then((ignore) { | 288 openedFile3.close().then((ignore) { |
289 // Now compare the two buffers to check if they | 289 // Now compare the two buffers to check if they |
290 // are identical. | 290 // are identical. |
291 Expect.equals(buffer1.length, buffer2.length); | 291 Expect.equals(buffer1.length, buffer2.length); |
292 for (int i = 0; i < buffer1.length; i++) { | 292 for (int i = 0; i < buffer1.length; i++) { |
293 Expect.equals(buffer1[i], buffer2[i]); | 293 Expect.equals(buffer1[i], buffer2[i]); |
294 } | 294 } |
295 // Delete the output file. | 295 // Delete the output file. |
296 final file4 = file3; | 296 final file4 = file3; |
(...skipping 18 matching lines...) Expand all Loading... |
315 } | 315 } |
316 | 316 |
317 static void testWriteAppend() { | 317 static void testWriteAppend() { |
318 String content = "foobar"; | 318 String content = "foobar"; |
319 String filename = tempDirectory.path + "/write_append"; | 319 String filename = tempDirectory.path + "/write_append"; |
320 File file = new File(filename); | 320 File file = new File(filename); |
321 file.createSync(); | 321 file.createSync(); |
322 Expect.isTrue(new File(filename).existsSync()); | 322 Expect.isTrue(new File(filename).existsSync()); |
323 List<int> buffer = content.codeUnits; | 323 List<int> buffer = content.codeUnits; |
324 RandomAccessFile openedFile = file.openSync(mode: WRITE); | 324 RandomAccessFile openedFile = file.openSync(mode: WRITE); |
325 openedFile.writeListSync(buffer, 0, buffer.length); | 325 openedFile.writeFromSync(buffer, 0, buffer.length); |
326 openedFile.closeSync(); | 326 openedFile.closeSync(); |
327 // Reopen the file in write mode to ensure that we overwrite the content. | 327 // Reopen the file in write mode to ensure that we overwrite the content. |
328 openedFile = (new File(filename)).openSync(mode: WRITE); | 328 openedFile = (new File(filename)).openSync(mode: WRITE); |
329 openedFile.writeListSync(buffer, 0, buffer.length); | 329 openedFile.writeFromSync(buffer, 0, buffer.length); |
330 Expect.equals(content.length, openedFile.lengthSync()); | 330 Expect.equals(content.length, openedFile.lengthSync()); |
331 openedFile.closeSync(); | 331 openedFile.closeSync(); |
332 // Open the file in append mode and ensure that we do not overwrite | 332 // Open the file in append mode and ensure that we do not overwrite |
333 // the existing content. | 333 // the existing content. |
334 openedFile = (new File(filename)).openSync(mode: APPEND); | 334 openedFile = (new File(filename)).openSync(mode: APPEND); |
335 openedFile.writeListSync(buffer, 0, buffer.length); | 335 openedFile.writeFromSync(buffer, 0, buffer.length); |
336 Expect.equals(content.length * 2, openedFile.lengthSync()); | 336 Expect.equals(content.length * 2, openedFile.lengthSync()); |
337 openedFile.closeSync(); | 337 openedFile.closeSync(); |
338 file.deleteSync(); | 338 file.deleteSync(); |
339 } | 339 } |
340 | 340 |
341 static void testOutputStreamWriteAppend() { | 341 static void testOutputStreamWriteAppend() { |
342 String content = "foobar"; | 342 String content = "foobar"; |
343 String filename = tempDirectory.path + "/outstream_write_append"; | 343 String filename = tempDirectory.path + "/outstream_write_append"; |
344 File file = new File(filename); | 344 File file = new File(filename); |
345 file.createSync(); | 345 file.createSync(); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
398 } | 398 } |
399 | 399 |
400 | 400 |
401 static void testReadWriteSync() { | 401 static void testReadWriteSync() { |
402 // Read a file. | 402 // Read a file. |
403 String inFilename = getFilename("tests/vm/data/fixed_length_file"); | 403 String inFilename = getFilename("tests/vm/data/fixed_length_file"); |
404 RandomAccessFile file = (new File(inFilename)).openSync(); | 404 RandomAccessFile file = (new File(inFilename)).openSync(); |
405 List<int> buffer1 = new List<int>(42); | 405 List<int> buffer1 = new List<int>(42); |
406 int bytes_read = 0; | 406 int bytes_read = 0; |
407 int bytes_written = 0; | 407 int bytes_written = 0; |
408 bytes_read = file.readListSync(buffer1, 0, 42); | 408 bytes_read = file.readIntoSync(buffer1, 0, 42); |
409 Expect.equals(42, bytes_read); | 409 Expect.equals(42, bytes_read); |
410 file.closeSync(); | 410 file.closeSync(); |
411 // Write the contents of the file just read into another file. | 411 // Write the contents of the file just read into another file. |
412 String outFilename = tempDirectory.path + "/out_read_write_sync"; | 412 String outFilename = tempDirectory.path + "/out_read_write_sync"; |
413 File outFile = new File(outFilename); | 413 File outFile = new File(outFilename); |
414 outFile.createSync(); | 414 outFile.createSync(); |
415 String path = outFile.fullPathSync(); | 415 String path = outFile.fullPathSync(); |
416 if (path[0] != '/' && path[0] != '\\' && path[1] != ':') { | 416 if (path[0] != '/' && path[0] != '\\' && path[1] != ':') { |
417 Expect.fail("Not a full path"); | 417 Expect.fail("Not a full path"); |
418 } | 418 } |
419 Expect.isTrue(new File(path).existsSync()); | 419 Expect.isTrue(new File(path).existsSync()); |
420 RandomAccessFile openedFile = outFile.openSync(mode: WRITE); | 420 RandomAccessFile openedFile = outFile.openSync(mode: WRITE); |
421 openedFile.writeListSync(buffer1, 0, bytes_read); | 421 openedFile.writeFromSync(buffer1, 0, bytes_read); |
422 openedFile.closeSync(); | 422 openedFile.closeSync(); |
423 // Now read the contents of the file just written. | 423 // Now read the contents of the file just written. |
424 List<int> buffer2 = new List<int>(bytes_read); | 424 List<int> buffer2 = new List<int>(bytes_read); |
425 openedFile = (new File(outFilename)).openSync(); | 425 openedFile = (new File(outFilename)).openSync(); |
426 bytes_read = openedFile.readListSync(buffer2, 0, 42); | 426 bytes_read = openedFile.readIntoSync(buffer2, 0, 42); |
427 Expect.equals(42, bytes_read); | 427 Expect.equals(42, bytes_read); |
428 openedFile.closeSync(); | 428 openedFile.closeSync(); |
429 // Now compare the two buffers to check if they are identical. | 429 // Now compare the two buffers to check if they are identical. |
430 Expect.equals(buffer1.length, buffer2.length); | 430 Expect.equals(buffer1.length, buffer2.length); |
431 for (int i = 0; i < buffer1.length; i++) { | 431 for (int i = 0; i < buffer1.length; i++) { |
432 Expect.equals(buffer1[i], buffer2[i]); | 432 Expect.equals(buffer1[i], buffer2[i]); |
433 } | 433 } |
434 // Delete the output file. | 434 // Delete the output file. |
435 outFile.deleteSync(); | 435 outFile.deleteSync(); |
436 Expect.isFalse(outFile.existsSync()); | 436 Expect.isFalse(outFile.existsSync()); |
(...skipping 27 matching lines...) Expand all Loading... |
464 } | 464 } |
465 | 465 |
466 // Test for file write of different types of lists. | 466 // Test for file write of different types of lists. |
467 static void testWriteVariousLists() { | 467 static void testWriteVariousLists() { |
468 asyncTestStarted(); | 468 asyncTestStarted(); |
469 final String fileName = "${tempDirectory.path}/testWriteVariousLists"; | 469 final String fileName = "${tempDirectory.path}/testWriteVariousLists"; |
470 final File file = new File(fileName); | 470 final File file = new File(fileName); |
471 file.create().then((ignore) { | 471 file.create().then((ignore) { |
472 file.open(mode: WRITE).then((RandomAccessFile openedFile) { | 472 file.open(mode: WRITE).then((RandomAccessFile openedFile) { |
473 // Write bytes from 0 to 7. | 473 // Write bytes from 0 to 7. |
474 openedFile.writeList([0], 0, 1); | 474 openedFile.writeFrom([0], 0, 1); |
475 openedFile.writeList(const [1], 0, 1); | 475 openedFile.writeFrom(const [1], 0, 1); |
476 openedFile.writeList(new MyListOfOneElement(2), 0, 1); | 476 openedFile.writeFrom(new MyListOfOneElement(2), 0, 1); |
477 var x = 12345678901234567890123456789012345678901234567890; | 477 var x = 12345678901234567890123456789012345678901234567890; |
478 var y = 12345678901234567890123456789012345678901234567893; | 478 var y = 12345678901234567890123456789012345678901234567893; |
479 openedFile.writeList([y - x], 0, 1); | 479 openedFile.writeFrom([y - x], 0, 1); |
480 openedFile.writeList([260], 0, 1); // 260 = 256 + 4 = 0x104. | 480 openedFile.writeFrom([260], 0, 1); // 260 = 256 + 4 = 0x104. |
481 openedFile.writeList(const [261], 0, 1); | 481 openedFile.writeFrom(const [261], 0, 1); |
482 openedFile.writeList(new MyListOfOneElement(262), 0, 1); | 482 openedFile.writeFrom(new MyListOfOneElement(262), 0, 1); |
483 x = 12345678901234567890123456789012345678901234567890; | 483 x = 12345678901234567890123456789012345678901234567890; |
484 y = 12345678901234567890123456789012345678901234568153; | 484 y = 12345678901234567890123456789012345678901234568153; |
485 openedFile.writeList([y - x], 0, 1).then((ignore) { | 485 openedFile.writeFrom([y - x], 0, 1).then((ignore) { |
486 openedFile.close().then((ignore) { | 486 openedFile.close().then((ignore) { |
487 // Check the written bytes. | 487 // Check the written bytes. |
488 final File file2 = new File(fileName); | 488 final File file2 = new File(fileName); |
489 var openedFile2 = file2.openSync(); | 489 var openedFile2 = file2.openSync(); |
490 var length = openedFile2.lengthSync(); | 490 var length = openedFile2.lengthSync(); |
491 Expect.equals(8, length); | 491 Expect.equals(8, length); |
492 List data = new List(length); | 492 List data = new List(length); |
493 openedFile2.readListSync(data, 0, length); | 493 openedFile2.readIntoSync(data, 0, length); |
494 for (var i = 0; i < data.length; i++) { | 494 for (var i = 0; i < data.length; i++) { |
495 Expect.equals(i, data[i]); | 495 Expect.equals(i, data[i]); |
496 } | 496 } |
497 openedFile2.closeSync(); | 497 openedFile2.closeSync(); |
498 file2.deleteSync(); | 498 file2.deleteSync(); |
499 asyncTestDone("testWriteVariousLists"); | 499 asyncTestDone("testWriteVariousLists"); |
500 }); | 500 }); |
501 }); | 501 }); |
502 }); | 502 }); |
503 }); | 503 }); |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
587 } | 587 } |
588 | 588 |
589 // Test for file position functionality. | 589 // Test for file position functionality. |
590 static void testPosition() { | 590 static void testPosition() { |
591 var port = new ReceivePort(); | 591 var port = new ReceivePort(); |
592 String filename = getFilename("tests/vm/data/fixed_length_file"); | 592 String filename = getFilename("tests/vm/data/fixed_length_file"); |
593 RandomAccessFile input = (new File(filename)).openSync(); | 593 RandomAccessFile input = (new File(filename)).openSync(); |
594 input.position().then((position) { | 594 input.position().then((position) { |
595 Expect.equals(0, position); | 595 Expect.equals(0, position); |
596 List<int> buffer = new List<int>(100); | 596 List<int> buffer = new List<int>(100); |
597 input.readList(buffer, 0, 12).then((bytes_read) { | 597 input.readInto(buffer, 0, 12).then((bytes_read) { |
598 input.position().then((position) { | 598 input.position().then((position) { |
599 Expect.equals(12, position); | 599 Expect.equals(12, position); |
600 input.readList(buffer, 12, 6).then((bytes_read) { | 600 input.readInto(buffer, 12, 18).then((bytes_read) { |
601 input.position().then((position) { | 601 input.position().then((position) { |
602 Expect.equals(18, position); | 602 Expect.equals(18, position); |
603 input.setPosition(8).then((ignore) { | 603 input.setPosition(8).then((ignore) { |
604 input.position().then((position) { | 604 input.position().then((position) { |
605 Expect.equals(8, position); | 605 Expect.equals(8, position); |
606 input.close().then((ignore) => port.close()); | 606 input.close().then((ignore) => port.close()); |
607 }); | 607 }); |
608 }); | 608 }); |
609 }); | 609 }); |
610 }); | 610 }); |
611 }); | 611 }); |
612 }); | 612 }); |
613 }); | 613 }); |
614 } | 614 } |
615 | 615 |
616 static void testPositionSync() { | 616 static void testPositionSync() { |
617 String filename = getFilename("tests/vm/data/fixed_length_file"); | 617 String filename = getFilename("tests/vm/data/fixed_length_file"); |
618 RandomAccessFile input = (new File(filename)).openSync(); | 618 RandomAccessFile input = (new File(filename)).openSync(); |
619 Expect.equals(0, input.positionSync()); | 619 Expect.equals(0, input.positionSync()); |
620 List<int> buffer = new List<int>(100); | 620 List<int> buffer = new List<int>(100); |
621 input.readListSync(buffer, 0, 12); | 621 input.readIntoSync(buffer, 0, 12); |
622 Expect.equals(12, input.positionSync()); | 622 Expect.equals(12, input.positionSync()); |
623 input.readListSync(buffer, 12, 6); | 623 input.readIntoSync(buffer, 12, 18); |
624 Expect.equals(18, input.positionSync()); | 624 Expect.equals(18, input.positionSync()); |
625 input.setPositionSync(8); | 625 input.setPositionSync(8); |
626 Expect.equals(8, input.positionSync()); | 626 Expect.equals(8, input.positionSync()); |
627 input.closeSync(); | 627 input.closeSync(); |
628 } | 628 } |
629 | 629 |
630 static void testTruncate() { | 630 static void testTruncate() { |
631 File file = new File(tempDirectory.path + "/out_truncate"); | 631 File file = new File(tempDirectory.path + "/out_truncate"); |
632 List buffer = const [65, 65, 65, 65, 65, 65, 65, 65, 65, 65]; | 632 List buffer = const [65, 65, 65, 65, 65, 65, 65, 65, 65, 65]; |
633 file.open(mode: WRITE).then((RandomAccessFile openedFile) { | 633 file.open(mode: WRITE).then((RandomAccessFile openedFile) { |
634 openedFile.writeList(buffer, 0, 10).then((ignore) { | 634 openedFile.writeFrom(buffer, 0, 10).then((ignore) { |
635 openedFile.length().then((length) { | 635 openedFile.length().then((length) { |
636 Expect.equals(10, length); | 636 Expect.equals(10, length); |
637 openedFile.truncate(5).then((ignore) { | 637 openedFile.truncate(5).then((ignore) { |
638 openedFile.length().then((length) { | 638 openedFile.length().then((length) { |
639 Expect.equals(5, length); | 639 Expect.equals(5, length); |
640 openedFile.close().then((ignore) { | 640 openedFile.close().then((ignore) { |
641 file.delete().then((ignore) { | 641 file.delete().then((ignore) { |
642 file.exists().then((exists) { | 642 file.exists().then((exists) { |
643 Expect.isFalse(exists); | 643 Expect.isFalse(exists); |
644 asyncTestDone("testTruncate"); | 644 asyncTestDone("testTruncate"); |
645 }); | 645 }); |
646 }); | 646 }); |
647 }); | 647 }); |
648 }); | 648 }); |
649 }); | 649 }); |
650 }); | 650 }); |
651 }); | 651 }); |
652 }); | 652 }); |
653 asyncTestStarted(); | 653 asyncTestStarted(); |
654 } | 654 } |
655 | 655 |
656 static void testTruncateSync() { | 656 static void testTruncateSync() { |
657 File file = new File(tempDirectory.path + "/out_truncate_sync"); | 657 File file = new File(tempDirectory.path + "/out_truncate_sync"); |
658 List buffer = const [65, 65, 65, 65, 65, 65, 65, 65, 65, 65]; | 658 List buffer = const [65, 65, 65, 65, 65, 65, 65, 65, 65, 65]; |
659 RandomAccessFile openedFile = file.openSync(mode: WRITE); | 659 RandomAccessFile openedFile = file.openSync(mode: WRITE); |
660 openedFile.writeListSync(buffer, 0, 10); | 660 openedFile.writeFromSync(buffer, 0, 10); |
661 Expect.equals(10, openedFile.lengthSync()); | 661 Expect.equals(10, openedFile.lengthSync()); |
662 openedFile.truncateSync(5); | 662 openedFile.truncateSync(5); |
663 Expect.equals(5, openedFile.lengthSync()); | 663 Expect.equals(5, openedFile.lengthSync()); |
664 openedFile.closeSync(); | 664 openedFile.closeSync(); |
665 file.deleteSync(); | 665 file.deleteSync(); |
666 Expect.isFalse(file.existsSync()); | 666 Expect.isFalse(file.existsSync()); |
667 } | 667 } |
668 | 668 |
669 // Tests exception handling after file was closed. | 669 // Tests exception handling after file was closed. |
670 static void testCloseException() { | 670 static void testCloseException() { |
(...skipping 27 matching lines...) Expand all Loading... |
698 } on FileIOException catch (ex) { | 698 } on FileIOException catch (ex) { |
699 exceptionCaught = true; | 699 exceptionCaught = true; |
700 } on Exception catch (ex) { | 700 } on Exception catch (ex) { |
701 wrongExceptionCaught = true; | 701 wrongExceptionCaught = true; |
702 } | 702 } |
703 Expect.equals(true, exceptionCaught); | 703 Expect.equals(true, exceptionCaught); |
704 Expect.equals(true, !wrongExceptionCaught); | 704 Expect.equals(true, !wrongExceptionCaught); |
705 exceptionCaught = false; | 705 exceptionCaught = false; |
706 try { | 706 try { |
707 List<int> buffer = new List<int>(100); | 707 List<int> buffer = new List<int>(100); |
708 openedFile.readListSync(buffer, 0, 10); | 708 openedFile.readIntoSync(buffer, 0, 10); |
709 } on FileIOException catch (ex) { | 709 } on FileIOException catch (ex) { |
710 exceptionCaught = true; | 710 exceptionCaught = true; |
711 } on Exception catch (ex) { | 711 } on Exception catch (ex) { |
712 wrongExceptionCaught = true; | 712 wrongExceptionCaught = true; |
713 } | 713 } |
714 Expect.equals(true, exceptionCaught); | 714 Expect.equals(true, exceptionCaught); |
715 Expect.equals(true, !wrongExceptionCaught); | 715 Expect.equals(true, !wrongExceptionCaught); |
716 exceptionCaught = false; | 716 exceptionCaught = false; |
717 try { | 717 try { |
718 List<int> buffer = new List<int>(100); | 718 List<int> buffer = new List<int>(100); |
719 openedFile.writeListSync(buffer, 0, 10); | 719 openedFile.writeFromSync(buffer, 0, 10); |
720 } on FileIOException catch (ex) { | 720 } on FileIOException catch (ex) { |
721 exceptionCaught = true; | 721 exceptionCaught = true; |
722 } on Exception catch (ex) { | 722 } on Exception catch (ex) { |
723 wrongExceptionCaught = true; | 723 wrongExceptionCaught = true; |
724 } | 724 } |
725 Expect.equals(true, exceptionCaught); | 725 Expect.equals(true, exceptionCaught); |
726 Expect.equals(true, !wrongExceptionCaught); | 726 Expect.equals(true, !wrongExceptionCaught); |
727 exceptionCaught = false; | 727 exceptionCaught = false; |
728 try { | 728 try { |
729 openedFile.positionSync(); | 729 openedFile.positionSync(); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
775 | 775 |
776 // Tests buffer out of bounds exception. | 776 // Tests buffer out of bounds exception. |
777 static void testBufferOutOfBoundsException() { | 777 static void testBufferOutOfBoundsException() { |
778 bool exceptionCaught = false; | 778 bool exceptionCaught = false; |
779 bool wrongExceptionCaught = false; | 779 bool wrongExceptionCaught = false; |
780 File file = | 780 File file = |
781 new File(tempDirectory.path + "/out_buffer_out_of_bounds"); | 781 new File(tempDirectory.path + "/out_buffer_out_of_bounds"); |
782 RandomAccessFile openedFile = file.openSync(mode: WRITE); | 782 RandomAccessFile openedFile = file.openSync(mode: WRITE); |
783 try { | 783 try { |
784 List<int> buffer = new List<int>(10); | 784 List<int> buffer = new List<int>(10); |
785 openedFile.readListSync(buffer, 0, 12); | 785 openedFile.readIntoSync(buffer, 0, 12); |
786 } on RangeError catch (ex) { | 786 } on RangeError catch (ex) { |
787 exceptionCaught = true; | 787 exceptionCaught = true; |
788 } on Exception catch (ex) { | 788 } on Exception catch (ex) { |
789 wrongExceptionCaught = true; | 789 wrongExceptionCaught = true; |
790 } | 790 } |
791 Expect.equals(true, exceptionCaught); | 791 Expect.equals(true, exceptionCaught); |
792 Expect.equals(true, !wrongExceptionCaught); | 792 Expect.equals(true, !wrongExceptionCaught); |
793 exceptionCaught = false; | 793 exceptionCaught = false; |
794 try { | 794 try { |
795 List<int> buffer = new List<int>(10); | 795 List<int> buffer = new List<int>(10); |
796 openedFile.readListSync(buffer, 6, 6); | 796 openedFile.readIntoSync(buffer, 6, 12); |
797 } on RangeError catch (ex) { | 797 } on RangeError catch (ex) { |
798 exceptionCaught = true; | 798 exceptionCaught = true; |
799 } on Exception catch (ex) { | 799 } on Exception catch (ex) { |
800 wrongExceptionCaught = true; | 800 wrongExceptionCaught = true; |
801 } | 801 } |
802 Expect.equals(true, exceptionCaught); | 802 Expect.equals(true, exceptionCaught); |
803 Expect.equals(true, !wrongExceptionCaught); | 803 Expect.equals(true, !wrongExceptionCaught); |
804 exceptionCaught = false; | 804 exceptionCaught = false; |
805 try { | 805 try { |
806 List<int> buffer = new List<int>(10); | 806 List<int> buffer = new List<int>(10); |
807 openedFile.readListSync(buffer, -1, 1); | 807 openedFile.readIntoSync(buffer, -1, 1); |
808 } on RangeError catch (ex) { | 808 } on RangeError catch (ex) { |
809 exceptionCaught = true; | 809 exceptionCaught = true; |
810 } on Exception catch (ex) { | 810 } on Exception catch (ex) { |
811 wrongExceptionCaught = true; | 811 wrongExceptionCaught = true; |
812 } | 812 } |
813 Expect.equals(true, exceptionCaught); | 813 Expect.equals(true, exceptionCaught); |
814 Expect.equals(true, !wrongExceptionCaught); | 814 Expect.equals(true, !wrongExceptionCaught); |
815 exceptionCaught = false; | 815 exceptionCaught = false; |
816 try { | 816 try { |
817 List<int> buffer = new List<int>(10); | 817 List<int> buffer = new List<int>(10); |
818 openedFile.readListSync(buffer, 0, -1); | 818 openedFile.readIntoSync(buffer, 0, -1); |
819 } on RangeError catch (ex) { | 819 } on RangeError catch (ex) { |
820 exceptionCaught = true; | 820 exceptionCaught = true; |
821 } on Exception catch (ex) { | 821 } on Exception catch (ex) { |
822 wrongExceptionCaught = true; | 822 wrongExceptionCaught = true; |
823 } | 823 } |
824 Expect.equals(true, exceptionCaught); | 824 Expect.equals(true, exceptionCaught); |
825 Expect.equals(true, !wrongExceptionCaught); | 825 Expect.equals(true, !wrongExceptionCaught); |
826 exceptionCaught = false; | 826 exceptionCaught = false; |
827 try { | 827 try { |
828 List<int> buffer = new List<int>(10); | 828 List<int> buffer = new List<int>(10); |
829 openedFile.writeListSync(buffer, 0, 12); | 829 openedFile.writeFromSync(buffer, 0, 12); |
830 } on RangeError catch (ex) { | 830 } on RangeError catch (ex) { |
831 exceptionCaught = true; | 831 exceptionCaught = true; |
832 } on Exception catch (ex) { | 832 } on Exception catch (ex) { |
833 wrongExceptionCaught = true; | 833 wrongExceptionCaught = true; |
834 } | 834 } |
835 Expect.equals(true, exceptionCaught); | 835 Expect.equals(true, exceptionCaught); |
836 Expect.equals(true, !wrongExceptionCaught); | 836 Expect.equals(true, !wrongExceptionCaught); |
837 exceptionCaught = false; | 837 exceptionCaught = false; |
838 try { | 838 try { |
839 List<int> buffer = new List<int>(10); | 839 List<int> buffer = new List<int>(10); |
840 openedFile.writeListSync(buffer, 6, 6); | 840 openedFile.writeFromSync(buffer, 6, 12); |
841 } on RangeError catch (ex) { | 841 } on RangeError catch (ex) { |
842 exceptionCaught = true; | 842 exceptionCaught = true; |
843 } on Exception catch (ex) { | 843 } on Exception catch (ex) { |
844 wrongExceptionCaught = true; | 844 wrongExceptionCaught = true; |
845 } | 845 } |
846 Expect.equals(true, exceptionCaught); | 846 Expect.equals(true, exceptionCaught); |
847 Expect.equals(true, !wrongExceptionCaught); | 847 Expect.equals(true, !wrongExceptionCaught); |
848 exceptionCaught = false; | 848 exceptionCaught = false; |
849 try { | 849 try { |
850 List<int> buffer = new List<int>(10); | 850 List<int> buffer = new List<int>(10); |
851 openedFile.writeListSync(buffer, -1, 1); | 851 openedFile.writeFromSync(buffer, -1, 1); |
852 } on RangeError catch (ex) { | 852 } on RangeError catch (ex) { |
853 exceptionCaught = true; | 853 exceptionCaught = true; |
854 } on Exception catch (ex) { | 854 } on Exception catch (ex) { |
855 wrongExceptionCaught = true; | 855 wrongExceptionCaught = true; |
856 } | 856 } |
857 Expect.equals(true, exceptionCaught); | 857 Expect.equals(true, exceptionCaught); |
858 Expect.equals(true, !wrongExceptionCaught); | 858 Expect.equals(true, !wrongExceptionCaught); |
859 exceptionCaught = false; | 859 exceptionCaught = false; |
860 try { | 860 try { |
861 List<int> buffer = new List<int>(10); | 861 List<int> buffer = new List<int>(10); |
862 openedFile.writeListSync(buffer, 0, -1); | 862 openedFile.writeFromSync(buffer, 0, -1); |
863 } on RangeError catch (ex) { | 863 } on RangeError catch (ex) { |
864 exceptionCaught = true; | 864 exceptionCaught = true; |
865 } on Exception catch (ex) { | 865 } on Exception catch (ex) { |
866 wrongExceptionCaught = true; | 866 wrongExceptionCaught = true; |
867 } | 867 } |
868 Expect.equals(true, exceptionCaught); | 868 Expect.equals(true, exceptionCaught); |
869 Expect.equals(true, !wrongExceptionCaught); | 869 Expect.equals(true, !wrongExceptionCaught); |
870 openedFile.closeSync(); | 870 openedFile.closeSync(); |
871 file.deleteSync(); | 871 file.deleteSync(); |
872 } | 872 } |
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1237 testDirectorySync(); | 1237 testDirectorySync(); |
1238 testWriteStringUtf8(); | 1238 testWriteStringUtf8(); |
1239 testWriteStringUtf8Sync(); | 1239 testWriteStringUtf8Sync(); |
1240 }); | 1240 }); |
1241 } | 1241 } |
1242 } | 1242 } |
1243 | 1243 |
1244 main() { | 1244 main() { |
1245 FileTest.testMain(); | 1245 FileTest.testMain(); |
1246 } | 1246 } |
OLD | NEW |